Ifd_Automation 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/console +14 -14
- data/bin/setup +8 -8
- data/lib/Ifd_Automation.rb +2 -2
- data/lib/Ifd_Automation/file_steps.rb +37 -9
- data/lib/Ifd_Automation/version.rb +3 -3
- data/lib/Ifd_Automation/webservice_steps.rb +63 -44
- data/project/Gemfile.lock +203 -203
- data/project/features/TestSuite/test.feature +4 -0
- data/project/features/step_definitions/lib_steps/test.rb +3 -0
- data/project/features/support/env.rb +15 -1
- data/project/features/support/project_config.yml +5 -5
- metadata +5 -5
- data/project/features/TestSuite/test +0 -0
- data/project/features/step_definitions/lib_steps/test +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39bbb21f99550c1f66c9a0b67e1bd3edd5494687
|
4
|
+
data.tar.gz: 6431a2284f02b2daab474919c3385ba73bf8acf6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e87cce3aba51ee4e3eac685d1f13e1b3cd2e1011a3a933e70174d298d2399aa2f640565a3f7b25bb335a209233affcb9a53bbf70d71897c5b7e612e61be8be3
|
7
|
+
data.tar.gz: 347a14a0e29f95442f96ebfb5ce3d567d68d2354fa8da48630b0828ee21b901872bdad3b96157e7b8b1bf0f95434808564ce4f52995f9556ac7bd9a06186d073
|
data/bin/console
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "Ifd_Automation"
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
14
|
-
IRB.start
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "Ifd_Automation"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start
|
data/bin/setup
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -euo pipefail
|
3
|
-
IFS=$'\n\t'
|
4
|
-
set -vx
|
5
|
-
|
6
|
-
bundle install
|
7
|
-
|
8
|
-
# Do any other automated setup that you need to do here
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
set -euo pipefail
|
3
|
+
IFS=$'\n\t'
|
4
|
+
set -vx
|
5
|
+
|
6
|
+
bundle install
|
7
|
+
|
8
|
+
# Do any other automated setup that you need to do here
|
data/lib/Ifd_Automation.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
require "Ifd_Automation/version"
|
2
|
-
Dir[File.dirname(__FILE__) + '/Ifd_Automation/*.rb'].each { |file| require file }
|
1
|
+
require "Ifd_Automation/version"
|
2
|
+
Dir[File.dirname(__FILE__) + '/Ifd_Automation/*.rb'].each { |file| require file }
|
@@ -8,17 +8,18 @@ Given /^I read data from file "(.*)"$/ do |file_name|
|
|
8
8
|
else
|
9
9
|
puts "*** WARNING: File #{file_name} does not exist."
|
10
10
|
end
|
11
|
+
p @file_data
|
11
12
|
end
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
Then /^I delete file "(.*)"$/ do |file_name|
|
15
|
+
file_path = ($test_data_dir + file_name)
|
16
|
+
if File.exists?(file_path)
|
17
|
+
File.delete(file_path)
|
18
|
+
puts "#{file_name} is deleted successfully"
|
19
|
+
else
|
20
|
+
puts "File #{file_name} does not exists"
|
21
|
+
end
|
22
|
+
end
|
22
23
|
|
23
24
|
When /^show me the params of "(.*)"$/ do |params_name|
|
24
25
|
if $PARAMS["#{params_name.downcase}"]
|
@@ -44,4 +45,31 @@ Then /^I run exe file from test data location "(.*)" on windows$/ do |filename|
|
|
44
45
|
else
|
45
46
|
raise "*** ERROR: File #{filename} is not existed"
|
46
47
|
end
|
48
|
+
end
|
49
|
+
|
50
|
+
When /^I store "(.*)" into file "(.*)"$/ do |data,filename|
|
51
|
+
data = check_match_url data
|
52
|
+
if File.exist?(filename)
|
53
|
+
raise "*** WARNING: File #{filename} is already existed. Please delete or change the file name"
|
54
|
+
else
|
55
|
+
File.open($test_data_dir+filename, 'w'){|file|
|
56
|
+
file.write(data)
|
57
|
+
file.close
|
58
|
+
}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
Given /^I read data file "(.*)" and store it as "(.*)"$/ do |file_name, place_holder|
|
63
|
+
@file_data = ""
|
64
|
+
@stored = {}
|
65
|
+
file_path = $test_data_dir + file_name.downcase
|
66
|
+
if File.exist?(file_path)
|
67
|
+
file = File.open(file_path)
|
68
|
+
@file_data += file.read
|
69
|
+
file.close
|
70
|
+
else
|
71
|
+
puts "*** WARNING: File #{file_name} does not exist."
|
72
|
+
end
|
73
|
+
@stored[%/#{place_holder}/] = @file_data
|
74
|
+
p @stored
|
47
75
|
end
|
@@ -1,3 +1,3 @@
|
|
1
|
-
module IfdAutomation
|
2
|
-
VERSION = "1.9.
|
3
|
-
end
|
1
|
+
module IfdAutomation
|
2
|
+
VERSION = "1.9.2"
|
3
|
+
end
|
@@ -11,7 +11,8 @@ end
|
|
11
11
|
$cache = {}
|
12
12
|
|
13
13
|
Given /^I set headers:$/ do |headers|
|
14
|
-
headers
|
14
|
+
@headers = headers.hashes[0]
|
15
|
+
p @headers
|
15
16
|
end
|
16
17
|
|
17
18
|
Given /^I send and accept (XML|JSON)$/ do |type|
|
@@ -25,11 +26,28 @@ end
|
|
25
26
|
# Example
|
26
27
|
# When I get SOAP operations list from 'http://ws.cdyne.com/emailverify/Emailvernotestemail.asmx?wsdl'
|
27
28
|
When /^I get SOAP operations list from '(.*?)'$/ do |url|
|
28
|
-
|
29
|
-
|
30
|
-
|
29
|
+
request_url = URI.encode check_match_url url
|
30
|
+
@client = Savon.client(ssl_verify_mode: :none, wsdl: "#{request_url}")
|
31
|
+
p @client.operations
|
32
|
+
end
|
33
|
+
|
34
|
+
When /^I get SOAP operations list$/ do
|
35
|
+
p @client.operations
|
31
36
|
end
|
32
37
|
|
38
|
+
When /^I create new SOAP request with:$/ do |params|
|
39
|
+
soap_params = {}
|
40
|
+
soap_params[:ssl_verify_mode] = :none
|
41
|
+
params.hashes[0].each { |k, v| soap_params[k.to_sym] = v }
|
42
|
+
@client = Savon.client(soap_params)
|
43
|
+
end
|
44
|
+
|
45
|
+
When /^I send "(.*?)" SOAP request with namespace "(.*)" and the following:$/ do |operation, namespace, json|
|
46
|
+
params = JSON.parse(json)
|
47
|
+
@response = @client.call(operation.downcase.to_sym, :message => params, soap_action: namespace)
|
48
|
+
end
|
49
|
+
|
50
|
+
|
33
51
|
# Example
|
34
52
|
# When I send "verify_email" SOAP request with the following:
|
35
53
|
# """
|
@@ -37,40 +55,32 @@ end
|
|
37
55
|
# "LicenseKey": "?" }
|
38
56
|
# """
|
39
57
|
When /^I send "(.*?)" SOAP request with the following:$/ do |operation, json|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
58
|
+
params = JSON.parse(json)
|
59
|
+
@response = @client.call(operation.downcase.to_sym, :message => params)
|
60
|
+
# p JSON.parse(@response.body)
|
61
|
+
# p response_text = response.body[:verify_email_response][:verify_email_result][:response_text]
|
44
62
|
end
|
45
63
|
|
46
64
|
# Example
|
47
65
|
# Then the SOAP response node should have "$..response_text" with text "Email Domain Not Found"
|
48
|
-
Then /^the SOAP response node should have "(.*?)" with text "(.*?)"$/ do |json_path,text|
|
49
|
-
json
|
66
|
+
Then /^the SOAP response node should have "(.*?)" with text "(.*?)"$/ do |json_path, text|
|
67
|
+
json = JSON.parse(@response.body.to_json)
|
50
68
|
results = JsonPath.new(json_path).on(json).to_a.map(&:to_s)
|
51
|
-
|
52
|
-
expect(results).to include(text)
|
53
|
-
else
|
54
|
-
assert results.include?(text)
|
55
|
-
end
|
69
|
+
IFD_Assertion.assert_string_equal(text, results)
|
56
70
|
end
|
57
71
|
|
58
72
|
When(/^I set JSON request body to '(.*?)'$/) do |body|
|
59
73
|
@body = JSON.parse body
|
60
74
|
end
|
61
75
|
|
62
|
-
When(/^I set form request body
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
@grabbed.each { |k, v| p_value = v if value == %/{#{k}}/ } unless @grabbed.nil?
|
67
|
-
p_value = File.new %-#{Dir.pwd}/#{p_value.sub 'file://', ''}- if %/#{p_value}/.start_with? "file://"
|
68
|
-
@body[%/#{key}/] = p_value
|
69
|
-
end
|
76
|
+
When(/^I set form request body from:$/) do |json|
|
77
|
+
params = check_match_url json
|
78
|
+
@body = JSON.parse(params)
|
79
|
+
p @body
|
70
80
|
end
|
71
81
|
|
72
|
-
When(/^I set request body from "(.*?).(yml|json)"$/) do |filename, extension|
|
73
|
-
path =
|
82
|
+
When(/^I set request body from file "(.*?).(yml|json)"$/) do |filename, extension|
|
83
|
+
path = $test_data_dir+filename+".#{extension}"
|
74
84
|
if File.file? path
|
75
85
|
case extension
|
76
86
|
when 'yml'
|
@@ -87,14 +97,23 @@ end
|
|
87
97
|
|
88
98
|
# Example
|
89
99
|
# When I grab "$[0]" as "id"
|
90
|
-
When(/^I grab "(.*?)" as "(.*?)"$/) do |json_path, place_holder|
|
100
|
+
When(/^I grab "(.*?)" (REST|SOAP) as "(.*?)"$/) do |json_path, method, place_holder|
|
91
101
|
if @response.nil?
|
92
102
|
raise 'No response found, a request need to be made first before you can grab response'
|
93
103
|
end
|
94
|
-
|
95
104
|
@grabbed = {} if @grabbed.nil?
|
96
|
-
|
97
|
-
|
105
|
+
case method
|
106
|
+
when /REST/
|
107
|
+
@grabbed[%/#{place_holder}/] = @response.get json_path
|
108
|
+
p @grabbed
|
109
|
+
else
|
110
|
+
json = JSON.parse(@response.body.to_json)
|
111
|
+
results = JsonPath.new(json_path).on(json).to_a.map(&:to_s)
|
112
|
+
@grabbed[%/#{place_holder}/] = results[0]
|
113
|
+
p @grabbed
|
114
|
+
end
|
115
|
+
|
116
|
+
|
98
117
|
end
|
99
118
|
# Example
|
100
119
|
# And I send a GET request to "https://hacker-news.firebaseio.com/v0/item/8863.json" with:
|
@@ -102,7 +121,7 @@ end
|
|
102
121
|
# | pretty |
|
103
122
|
When(/^I send a (GET|POST|PATCH|PUT|DELETE) request to "(.*?)" with:$/) do |method, url, params|
|
104
123
|
unless params.hashes.empty?
|
105
|
-
query = params.hashes.first.map{|key, value| %/#{key}=#{value}/}.join("&")
|
124
|
+
query = params.hashes.first.map { |key, value| %/#{key}=#{value}/ }.join("&")
|
106
125
|
url = url.include?('?') ? %/#{url}&#{query}/ : %/#{url}?#{query}/
|
107
126
|
end
|
108
127
|
steps %Q{
|
@@ -152,13 +171,13 @@ Then(/^the response status should be "(\d+)"$/) do |status_code|
|
|
152
171
|
raise %/Expect #{status_code} but was #{@response.code}/ if @response.code != status_code.to_i
|
153
172
|
end
|
154
173
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
174
|
+
# Example
|
175
|
+
# Then the JSON response should be:
|
176
|
+
# """
|
177
|
+
# {
|
178
|
+
# "test" : "anh pham"
|
179
|
+
# }
|
180
|
+
# """
|
162
181
|
Then /^the JSON response should be:$/ do |json|
|
163
182
|
expected = JSON.parse(json)
|
164
183
|
actual = JSON.parse(@response.body)
|
@@ -175,7 +194,7 @@ end
|
|
175
194
|
# Example
|
176
195
|
# Then the JSON response should have "$..id"
|
177
196
|
Then /^the JSON response should have "(.*)"$/ do |json_path|
|
178
|
-
json
|
197
|
+
json = JSON.parse(@response.body)
|
179
198
|
results = JsonPath.new(json_path).on(json).to_a.map(&:to_s)
|
180
199
|
if self.respond_to?(:expect)
|
181
200
|
expect(results).not_to be_empty
|
@@ -185,7 +204,7 @@ end
|
|
185
204
|
Then(/^the JSON response root should be (object|array)$/) do |type|
|
186
205
|
steps %Q{
|
187
206
|
Then the JSON response should have required key "$" of type #{type}
|
188
|
-
|
207
|
+
}
|
189
208
|
end
|
190
209
|
|
191
210
|
Then(/^the JSON response should have key "([^\"]*)"$/) do |json_path|
|
@@ -197,7 +216,7 @@ end
|
|
197
216
|
|
198
217
|
Then(/^the JSON response should have (required|optional) key "(.*?)" of type \
|
199
218
|
(numeric|string|array|boolean|numeric_string|object|array|any)( or null)?$/) do |optionality, json_path, type, null_allowed|
|
200
|
-
next if optionality == 'optional' and not @response.has(json_path)
|
219
|
+
next if optionality == 'optional' and not @response.has(json_path) # if optional and no such key then skip
|
201
220
|
if 'any' == type
|
202
221
|
@response.get json_path
|
203
222
|
elsif null_allowed.nil?
|
@@ -222,12 +241,12 @@ end
|
|
222
241
|
# Example
|
223
242
|
# Then the JSON response node should have "$..by" with the text "dhouston"
|
224
243
|
Then /^the JSON response node should have "(.*)" with the text "(.*)"$/ do |json_path, text|
|
225
|
-
json
|
244
|
+
json = JSON.parse(@response.body)
|
226
245
|
results = JsonPath.new(json_path).on(json).to_a.map(&:to_s)
|
227
246
|
if self.respond_to?(:expect)
|
228
|
-
|
247
|
+
expect(results).to include(text)
|
229
248
|
else
|
230
|
-
|
249
|
+
assert results.include?(text)
|
231
250
|
end
|
232
251
|
end
|
233
252
|
|
@@ -243,7 +262,7 @@ end
|
|
243
262
|
# end
|
244
263
|
|
245
264
|
Then /^show me SOAP response$/ do
|
246
|
-
|
265
|
+
puts @response.body
|
247
266
|
end
|
248
267
|
|
249
268
|
Then /^show me REST (unparsed)?\s?response$/ do |unparsed|
|
data/project/Gemfile.lock
CHANGED
@@ -1,203 +1,203 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
Ifd_Automation (0.1.8)
|
5
|
-
appium_lib (>= 4.0.0, > 4.1.0)
|
6
|
-
chunky_png (>= 1.3.0, > 1.3.3)
|
7
|
-
cucumber (>= 1.3.18, > 2.0.0)
|
8
|
-
selenium-webdriver (>= 2.46.2, > 2.46.2)
|
9
|
-
actionmailer (5.0.0.1)
|
10
|
-
actionpack (= 5.0.0.1)
|
11
|
-
actionview (= 5.0.0.1)
|
12
|
-
activejob (= 5.0.0.1)
|
13
|
-
mail (~> 2.5, >= 2.5.4)
|
14
|
-
rails-dom-testing (~> 2.0)
|
15
|
-
actionpack (5.0.0.1)
|
16
|
-
actionview (= 5.0.0.1)
|
17
|
-
activesupport (= 5.0.0.1)
|
18
|
-
rack (~> 2.0)
|
19
|
-
rack-test (~> 0.6.3)
|
20
|
-
rails-dom-testing (~> 2.0)
|
21
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
22
|
-
actionview (5.0.0.1)
|
23
|
-
activesupport (= 5.0.0.1)
|
24
|
-
builder (~> 3.1)
|
25
|
-
erubis (~> 2.7.0)
|
26
|
-
rails-dom-testing (~> 2.0)
|
27
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
28
|
-
activejob (5.0.0.1)
|
29
|
-
activesupport (= 5.0.0.1)
|
30
|
-
globalid (>= 0.3.6)
|
31
|
-
activemodel (5.0.0.1)
|
32
|
-
activesupport (= 5.0.0.1)
|
33
|
-
activerecord (5.0.0.1)
|
34
|
-
activemodel (= 5.0.0.1)
|
35
|
-
activesupport (= 5.0.0.1)
|
36
|
-
arel (~> 7.0)
|
37
|
-
activesupport (5.0.0.1)
|
38
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
39
|
-
i18n (~> 0.7)
|
40
|
-
minitest (~> 5.1)
|
41
|
-
tzinfo (~> 1.1)
|
42
|
-
addressable (2.4.0)
|
43
|
-
akami (1.3.1)
|
44
|
-
gyoku (>= 0.4.0)
|
45
|
-
nokogiri
|
46
|
-
appium_lib (8.0.2)
|
47
|
-
awesome_print (~> 1.6)
|
48
|
-
json (~> 1.8)
|
49
|
-
nokogiri (~> 1.6.6)
|
50
|
-
selenium-webdriver (~> 2.49)
|
51
|
-
tomlrb (~> 1.1)
|
52
|
-
arel (7.1.4)
|
53
|
-
awesome_print (1.7.0)
|
54
|
-
builder (3.2.2)
|
55
|
-
capybara (2.10.1)
|
56
|
-
addressable
|
57
|
-
mime-types (>= 1.16)
|
58
|
-
nokogiri (>= 1.3.3)
|
59
|
-
rack (>= 1.0.0)
|
60
|
-
rack-test (>= 0.5.4)
|
61
|
-
xpath (~> 2.0)
|
62
|
-
childprocess (0.5.9)
|
63
|
-
ffi (~> 1.0, >= 1.0.11)
|
64
|
-
chunky_png (1.3.7)
|
65
|
-
concurrent-ruby (1.0.2)
|
66
|
-
cucumber (2.4.0)
|
67
|
-
builder (>= 2.1.2)
|
68
|
-
cucumber-core (~> 1.5.0)
|
69
|
-
cucumber-wire (~> 0.0.1)
|
70
|
-
diff-lcs (>= 1.1.3)
|
71
|
-
gherkin (~> 4.0)
|
72
|
-
multi_json (>= 1.7.5, < 2.0)
|
73
|
-
multi_test (>= 0.1.2)
|
74
|
-
cucumber-core (1.5.0)
|
75
|
-
gherkin (~> 4.0)
|
76
|
-
cucumber-wire (0.0.1)
|
77
|
-
diff-lcs (1.2.5)
|
78
|
-
domain_name (0.5.20160826)
|
79
|
-
unf (>= 0.0.5, < 1.0.0)
|
80
|
-
erubis (2.7.0)
|
81
|
-
ffi (1.9.14)
|
82
|
-
ffi (1.9.14-x64-mingw32)
|
83
|
-
ffi (1.9.14-x86-mingw32)
|
84
|
-
gherkin (4.0.0)
|
85
|
-
globalid (0.3.7)
|
86
|
-
activesupport (>= 4.1.0)
|
87
|
-
gyoku (1.3.1)
|
88
|
-
builder (>= 2.1.2)
|
89
|
-
http-cookie (1.0.3)
|
90
|
-
domain_name (~> 0.5)
|
91
|
-
httpi (2.4.2)
|
92
|
-
rack
|
93
|
-
socksify
|
94
|
-
i18n (0.7.0)
|
95
|
-
json (1.8.3)
|
96
|
-
json-schema (2.7.0)
|
97
|
-
addressable (>= 2.4)
|
98
|
-
jsonpath (0.5.8)
|
99
|
-
multi_json
|
100
|
-
loofah (2.0.3)
|
101
|
-
nokogiri (>= 1.5.9)
|
102
|
-
mail (2.6.4)
|
103
|
-
mime-types (>= 1.16, < 4)
|
104
|
-
mime-types (3.1)
|
105
|
-
mime-types-data (~> 3.2015)
|
106
|
-
mime-types-data (3.2016.0521)
|
107
|
-
mini_portile2 (2.1.0)
|
108
|
-
minitest (5.9.1)
|
109
|
-
multi_json (1.12.1)
|
110
|
-
multi_test (0.1.2)
|
111
|
-
mysql2 (0.4.4)
|
112
|
-
mysql2 (0.4.4-x64-mingw32)
|
113
|
-
mysql2 (0.4.4-x86-mingw32)
|
114
|
-
net-ssh (3.2.0)
|
115
|
-
netrc (0.11.0)
|
116
|
-
nokogiri (1.6.8.1)
|
117
|
-
mini_portile2 (~> 2.1.0)
|
118
|
-
nokogiri (1.6.8.1-x64-mingw32)
|
119
|
-
mini_portile2 (~> 2.1.0)
|
120
|
-
nokogiri (1.6.8.1-x86-mingw32)
|
121
|
-
mini_portile2 (~> 2.1.0)
|
122
|
-
nori (2.6.0)
|
123
|
-
rack (2.0.1)
|
124
|
-
rack-test (0.6.3)
|
125
|
-
rack (>= 1.0)
|
126
|
-
rails-dom-testing (2.0.1)
|
127
|
-
activesupport (>= 4.2.0, < 6.0)
|
128
|
-
nokogiri (~> 1.6.0)
|
129
|
-
rails-html-sanitizer (1.0.3)
|
130
|
-
loofah (~> 2.0)
|
131
|
-
rest-client (2.0.0)
|
132
|
-
http-cookie (>= 1.0.2, < 2.0)
|
133
|
-
mime-types (>= 1.16, < 4.0)
|
134
|
-
netrc (~> 0.8)
|
135
|
-
rest-client (2.0.0-x64-mingw32)
|
136
|
-
ffi (~> 1.9)
|
137
|
-
http-cookie (>= 1.0.2, < 2.0)
|
138
|
-
mime-types (>= 1.16, < 4.0)
|
139
|
-
netrc (~> 0.8)
|
140
|
-
rest-client (2.0.0-x86-mingw32)
|
141
|
-
ffi (~> 1.9)
|
142
|
-
http-cookie (>= 1.0.2, < 2.0)
|
143
|
-
mime-types (>= 1.16, < 4.0)
|
144
|
-
netrc (~> 0.8)
|
145
|
-
rubyzip (1.2.0)
|
146
|
-
savon (2.11.1)
|
147
|
-
akami (~> 1.2)
|
148
|
-
builder (>= 2.1.2)
|
149
|
-
gyoku (~> 1.2)
|
150
|
-
httpi (~> 2.3)
|
151
|
-
nokogiri (>= 1.4.0)
|
152
|
-
nori (~> 2.4)
|
153
|
-
wasabi (~> 3.4)
|
154
|
-
selenium-webdriver (2.53.4)
|
155
|
-
childprocess (~> 0.5)
|
156
|
-
rubyzip (~> 1.0)
|
157
|
-
websocket (~> 1.0)
|
158
|
-
socksify (1.7.0)
|
159
|
-
thread_safe (0.3.5)
|
160
|
-
tiny_tds (1.0.5)
|
161
|
-
mini_portile2 (~> 2.0)
|
162
|
-
tiny_tds (1.0.5-x64-mingw32)
|
163
|
-
mini_portile2 (~> 2.0)
|
164
|
-
tiny_tds (1.0.5-x86-mingw32)
|
165
|
-
mini_portile2 (~> 2.0)
|
166
|
-
tomlrb (1.2.3)
|
167
|
-
tzinfo (1.2.2)
|
168
|
-
thread_safe (~> 0.1)
|
169
|
-
unf (0.1.4)
|
170
|
-
unf_ext
|
171
|
-
unf_ext (0.0.7.2)
|
172
|
-
unf_ext (0.0.7.2-x64-mingw32)
|
173
|
-
unf_ext (0.0.7.2-x86-mingw32)
|
174
|
-
wasabi (3.5.0)
|
175
|
-
httpi (~> 2.0)
|
176
|
-
nokogiri (>= 1.4.2)
|
177
|
-
websocket (1.2.3)
|
178
|
-
xpath (2.0.0)
|
179
|
-
nokogiri (~> 1.3)
|
180
|
-
|
181
|
-
PLATFORMS
|
182
|
-
ruby
|
183
|
-
x64-mingw32
|
184
|
-
x86-mingw32
|
185
|
-
|
186
|
-
DEPENDENCIES
|
187
|
-
Ifd_Automation
|
188
|
-
actionmailer
|
189
|
-
activerecord
|
190
|
-
capybara
|
191
|
-
cucumber
|
192
|
-
json-schema (~> 2.7)
|
193
|
-
jsonpath (~> 0.5.8)
|
194
|
-
mail
|
195
|
-
mysql2 (~> 0.4.4)
|
196
|
-
net-ssh (~> 3.2)
|
197
|
-
rest-client (~> 2.0)
|
198
|
-
savon (~> 2.11.0)
|
199
|
-
selenium-webdriver (~> 2.46)
|
200
|
-
tiny_tds (~> 1.0, >= 1.0.5)
|
201
|
-
|
202
|
-
BUNDLED WITH
|
203
|
-
1.13.5
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
Ifd_Automation (0.1.8)
|
5
|
+
appium_lib (>= 4.0.0, > 4.1.0)
|
6
|
+
chunky_png (>= 1.3.0, > 1.3.3)
|
7
|
+
cucumber (>= 1.3.18, > 2.0.0)
|
8
|
+
selenium-webdriver (>= 2.46.2, > 2.46.2)
|
9
|
+
actionmailer (5.0.0.1)
|
10
|
+
actionpack (= 5.0.0.1)
|
11
|
+
actionview (= 5.0.0.1)
|
12
|
+
activejob (= 5.0.0.1)
|
13
|
+
mail (~> 2.5, >= 2.5.4)
|
14
|
+
rails-dom-testing (~> 2.0)
|
15
|
+
actionpack (5.0.0.1)
|
16
|
+
actionview (= 5.0.0.1)
|
17
|
+
activesupport (= 5.0.0.1)
|
18
|
+
rack (~> 2.0)
|
19
|
+
rack-test (~> 0.6.3)
|
20
|
+
rails-dom-testing (~> 2.0)
|
21
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
22
|
+
actionview (5.0.0.1)
|
23
|
+
activesupport (= 5.0.0.1)
|
24
|
+
builder (~> 3.1)
|
25
|
+
erubis (~> 2.7.0)
|
26
|
+
rails-dom-testing (~> 2.0)
|
27
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
28
|
+
activejob (5.0.0.1)
|
29
|
+
activesupport (= 5.0.0.1)
|
30
|
+
globalid (>= 0.3.6)
|
31
|
+
activemodel (5.0.0.1)
|
32
|
+
activesupport (= 5.0.0.1)
|
33
|
+
activerecord (5.0.0.1)
|
34
|
+
activemodel (= 5.0.0.1)
|
35
|
+
activesupport (= 5.0.0.1)
|
36
|
+
arel (~> 7.0)
|
37
|
+
activesupport (5.0.0.1)
|
38
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
39
|
+
i18n (~> 0.7)
|
40
|
+
minitest (~> 5.1)
|
41
|
+
tzinfo (~> 1.1)
|
42
|
+
addressable (2.4.0)
|
43
|
+
akami (1.3.1)
|
44
|
+
gyoku (>= 0.4.0)
|
45
|
+
nokogiri
|
46
|
+
appium_lib (8.0.2)
|
47
|
+
awesome_print (~> 1.6)
|
48
|
+
json (~> 1.8)
|
49
|
+
nokogiri (~> 1.6.6)
|
50
|
+
selenium-webdriver (~> 2.49)
|
51
|
+
tomlrb (~> 1.1)
|
52
|
+
arel (7.1.4)
|
53
|
+
awesome_print (1.7.0)
|
54
|
+
builder (3.2.2)
|
55
|
+
capybara (2.10.1)
|
56
|
+
addressable
|
57
|
+
mime-types (>= 1.16)
|
58
|
+
nokogiri (>= 1.3.3)
|
59
|
+
rack (>= 1.0.0)
|
60
|
+
rack-test (>= 0.5.4)
|
61
|
+
xpath (~> 2.0)
|
62
|
+
childprocess (0.5.9)
|
63
|
+
ffi (~> 1.0, >= 1.0.11)
|
64
|
+
chunky_png (1.3.7)
|
65
|
+
concurrent-ruby (1.0.2)
|
66
|
+
cucumber (2.4.0)
|
67
|
+
builder (>= 2.1.2)
|
68
|
+
cucumber-core (~> 1.5.0)
|
69
|
+
cucumber-wire (~> 0.0.1)
|
70
|
+
diff-lcs (>= 1.1.3)
|
71
|
+
gherkin (~> 4.0)
|
72
|
+
multi_json (>= 1.7.5, < 2.0)
|
73
|
+
multi_test (>= 0.1.2)
|
74
|
+
cucumber-core (1.5.0)
|
75
|
+
gherkin (~> 4.0)
|
76
|
+
cucumber-wire (0.0.1)
|
77
|
+
diff-lcs (1.2.5)
|
78
|
+
domain_name (0.5.20160826)
|
79
|
+
unf (>= 0.0.5, < 1.0.0)
|
80
|
+
erubis (2.7.0)
|
81
|
+
ffi (1.9.14)
|
82
|
+
ffi (1.9.14-x64-mingw32)
|
83
|
+
ffi (1.9.14-x86-mingw32)
|
84
|
+
gherkin (4.0.0)
|
85
|
+
globalid (0.3.7)
|
86
|
+
activesupport (>= 4.1.0)
|
87
|
+
gyoku (1.3.1)
|
88
|
+
builder (>= 2.1.2)
|
89
|
+
http-cookie (1.0.3)
|
90
|
+
domain_name (~> 0.5)
|
91
|
+
httpi (2.4.2)
|
92
|
+
rack
|
93
|
+
socksify
|
94
|
+
i18n (0.7.0)
|
95
|
+
json (1.8.3)
|
96
|
+
json-schema (2.7.0)
|
97
|
+
addressable (>= 2.4)
|
98
|
+
jsonpath (0.5.8)
|
99
|
+
multi_json
|
100
|
+
loofah (2.0.3)
|
101
|
+
nokogiri (>= 1.5.9)
|
102
|
+
mail (2.6.4)
|
103
|
+
mime-types (>= 1.16, < 4)
|
104
|
+
mime-types (3.1)
|
105
|
+
mime-types-data (~> 3.2015)
|
106
|
+
mime-types-data (3.2016.0521)
|
107
|
+
mini_portile2 (2.1.0)
|
108
|
+
minitest (5.9.1)
|
109
|
+
multi_json (1.12.1)
|
110
|
+
multi_test (0.1.2)
|
111
|
+
mysql2 (0.4.4)
|
112
|
+
mysql2 (0.4.4-x64-mingw32)
|
113
|
+
mysql2 (0.4.4-x86-mingw32)
|
114
|
+
net-ssh (3.2.0)
|
115
|
+
netrc (0.11.0)
|
116
|
+
nokogiri (1.6.8.1)
|
117
|
+
mini_portile2 (~> 2.1.0)
|
118
|
+
nokogiri (1.6.8.1-x64-mingw32)
|
119
|
+
mini_portile2 (~> 2.1.0)
|
120
|
+
nokogiri (1.6.8.1-x86-mingw32)
|
121
|
+
mini_portile2 (~> 2.1.0)
|
122
|
+
nori (2.6.0)
|
123
|
+
rack (2.0.1)
|
124
|
+
rack-test (0.6.3)
|
125
|
+
rack (>= 1.0)
|
126
|
+
rails-dom-testing (2.0.1)
|
127
|
+
activesupport (>= 4.2.0, < 6.0)
|
128
|
+
nokogiri (~> 1.6.0)
|
129
|
+
rails-html-sanitizer (1.0.3)
|
130
|
+
loofah (~> 2.0)
|
131
|
+
rest-client (2.0.0)
|
132
|
+
http-cookie (>= 1.0.2, < 2.0)
|
133
|
+
mime-types (>= 1.16, < 4.0)
|
134
|
+
netrc (~> 0.8)
|
135
|
+
rest-client (2.0.0-x64-mingw32)
|
136
|
+
ffi (~> 1.9)
|
137
|
+
http-cookie (>= 1.0.2, < 2.0)
|
138
|
+
mime-types (>= 1.16, < 4.0)
|
139
|
+
netrc (~> 0.8)
|
140
|
+
rest-client (2.0.0-x86-mingw32)
|
141
|
+
ffi (~> 1.9)
|
142
|
+
http-cookie (>= 1.0.2, < 2.0)
|
143
|
+
mime-types (>= 1.16, < 4.0)
|
144
|
+
netrc (~> 0.8)
|
145
|
+
rubyzip (1.2.0)
|
146
|
+
savon (2.11.1)
|
147
|
+
akami (~> 1.2)
|
148
|
+
builder (>= 2.1.2)
|
149
|
+
gyoku (~> 1.2)
|
150
|
+
httpi (~> 2.3)
|
151
|
+
nokogiri (>= 1.4.0)
|
152
|
+
nori (~> 2.4)
|
153
|
+
wasabi (~> 3.4)
|
154
|
+
selenium-webdriver (2.53.4)
|
155
|
+
childprocess (~> 0.5)
|
156
|
+
rubyzip (~> 1.0)
|
157
|
+
websocket (~> 1.0)
|
158
|
+
socksify (1.7.0)
|
159
|
+
thread_safe (0.3.5)
|
160
|
+
tiny_tds (1.0.5)
|
161
|
+
mini_portile2 (~> 2.0)
|
162
|
+
tiny_tds (1.0.5-x64-mingw32)
|
163
|
+
mini_portile2 (~> 2.0)
|
164
|
+
tiny_tds (1.0.5-x86-mingw32)
|
165
|
+
mini_portile2 (~> 2.0)
|
166
|
+
tomlrb (1.2.3)
|
167
|
+
tzinfo (1.2.2)
|
168
|
+
thread_safe (~> 0.1)
|
169
|
+
unf (0.1.4)
|
170
|
+
unf_ext
|
171
|
+
unf_ext (0.0.7.2)
|
172
|
+
unf_ext (0.0.7.2-x64-mingw32)
|
173
|
+
unf_ext (0.0.7.2-x86-mingw32)
|
174
|
+
wasabi (3.5.0)
|
175
|
+
httpi (~> 2.0)
|
176
|
+
nokogiri (>= 1.4.2)
|
177
|
+
websocket (1.2.3)
|
178
|
+
xpath (2.0.0)
|
179
|
+
nokogiri (~> 1.3)
|
180
|
+
|
181
|
+
PLATFORMS
|
182
|
+
ruby
|
183
|
+
x64-mingw32
|
184
|
+
x86-mingw32
|
185
|
+
|
186
|
+
DEPENDENCIES
|
187
|
+
Ifd_Automation
|
188
|
+
actionmailer
|
189
|
+
activerecord
|
190
|
+
capybara
|
191
|
+
cucumber
|
192
|
+
json-schema (~> 2.7)
|
193
|
+
jsonpath (~> 0.5.8)
|
194
|
+
mail
|
195
|
+
mysql2 (~> 0.4.4)
|
196
|
+
net-ssh (~> 3.2)
|
197
|
+
rest-client (~> 2.0)
|
198
|
+
savon (~> 2.11.0)
|
199
|
+
selenium-webdriver (~> 2.46)
|
200
|
+
tiny_tds (~> 1.0, >= 1.0.5)
|
201
|
+
|
202
|
+
BUNDLED WITH
|
203
|
+
1.13.5
|
@@ -4,13 +4,27 @@ $base_dir = File.expand_path(File.dirname(__FILE__) + '/../..')
|
|
4
4
|
$test_data_dir = $base_dir + '/features/TestData/'
|
5
5
|
PROJECT_CONFIG = YAML.load_file("#{$current_dir}/project_config.yml")
|
6
6
|
$PARAMS = YAML.load_file("#{$test_data_dir}/globalData.yml")
|
7
|
+
$OBJECT = YAML.load_file("#{$base_dir}/features/step_definitions/repositories/project_object.yml")
|
7
8
|
STDOUT.sync = true
|
8
9
|
require 'rubygems'
|
9
10
|
require 'capybara'
|
10
11
|
require 'capybara/cucumber'
|
12
|
+
require 'cucumber'
|
11
13
|
require 'yaml'
|
12
14
|
require 'selenium-webdriver'
|
13
15
|
require 'Ifd_Automation'
|
16
|
+
# require File.expand_path('../lib/Ifd_Automation/email_steps.rb')
|
17
|
+
# require File.expand_path('../lib/Ifd_Automation/file_steps.rb')
|
18
|
+
# require File.expand_path('../lib/Ifd_Automation/ssh_steps.rb')
|
19
|
+
# require File.expand_path('../lib/Ifd_Automation/database_steps.rb')
|
20
|
+
# require File.expand_path('../lib/Ifd_Automation/web_steps.rb')
|
21
|
+
# require File.expand_path('../lib/Ifd_Automation/webservice_steps.rb')
|
22
|
+
# require File.expand_path('../lib/Ifd_Automation/response.rb')
|
23
|
+
# require File.expand_path('../lib/Ifd_Automation_support/selenium_sync_issues.rb')
|
24
|
+
# require File.expand_path('../lib/Ifd_Automation_support/core.rb')
|
25
|
+
# require File.expand_path('../lib/Ifd_Automation_support/web_steps_helpers.rb')
|
26
|
+
# require File.expand_path('../lib/Ifd_Automation_support/mail_helpers.rb')
|
27
|
+
# require File.expand_path('../lib/Ifd_Automation_support/assertion_helpers.rb')
|
14
28
|
|
15
29
|
$_CFWEB['Default Browser'] = PROJECT_CONFIG['default_browser'].downcase
|
16
30
|
$_CFWEB['Wait Time'] = PROJECT_CONFIG['wait_time']
|
@@ -48,7 +62,7 @@ Capybara.configure do |config|
|
|
48
62
|
config.default_wait_time = $_CFWEB['Wait Time']
|
49
63
|
# config.run_server = false
|
50
64
|
config.default_driver = :selenium
|
51
|
-
config.default_selector = :css
|
65
|
+
# config.default_selector = :css
|
52
66
|
config.ignore_hidden_elements = true
|
53
67
|
#config.visible_text_only = true
|
54
68
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
default_browser: firefox
|
2
2
|
wait_time: 30
|
3
|
-
test_page_address:
|
3
|
+
test_page_address:
|
4
4
|
selenium_grid: 10.5.1.202
|
5
|
-
send_email_username:
|
6
|
-
send_email_password:
|
7
|
-
receive_email_username:
|
8
|
-
receive_email_password:
|
5
|
+
send_email_username:
|
6
|
+
send_email_password:
|
7
|
+
receive_email_username:
|
8
|
+
receive_email_password:
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Ifd_Automation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anh Pham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -294,8 +294,8 @@ files:
|
|
294
294
|
- project/Gemfile.lock
|
295
295
|
- project/Rakefile
|
296
296
|
- project/features/TestData/globalData.yml
|
297
|
-
- project/features/TestSuite/test
|
298
|
-
- project/features/step_definitions/lib_steps/test
|
297
|
+
- project/features/TestSuite/test.feature
|
298
|
+
- project/features/step_definitions/lib_steps/test.rb
|
299
299
|
- project/features/step_definitions/repositories/project_object.yml
|
300
300
|
- project/features/support/env.rb
|
301
301
|
- project/features/support/hooks.rb
|
@@ -320,7 +320,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
320
320
|
version: '0'
|
321
321
|
requirements: []
|
322
322
|
rubyforge_project:
|
323
|
-
rubygems_version: 2.5.1
|
323
|
+
rubygems_version: 2.4.5.1
|
324
324
|
signing_key:
|
325
325
|
specification_version: 4
|
326
326
|
summary: SELENIUM WEBDRIVER WITH RUBY & CUCUMBER
|
File without changes
|
File without changes
|