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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4381df69057eaaaef5b1dd1f1df45c50672c069c
4
- data.tar.gz: baae0ae5ab74e608e1e9b8c697f773d5f378e9fe
3
+ metadata.gz: 39bbb21f99550c1f66c9a0b67e1bd3edd5494687
4
+ data.tar.gz: 6431a2284f02b2daab474919c3385ba73bf8acf6
5
5
  SHA512:
6
- metadata.gz: e97a0cf6713406b8c63df89294fb1a34d5baaee946a07906c1db830edf47667bc0605946ba8a574daa9c4c83a6234563d37c7be4dc4f3158ee4faa1fcfa19ee4
7
- data.tar.gz: 2b0492b15f4a409006f52af403e7002a4fd4efa8e316e974b3972b22bbf3ff336f4c07543e9c210a2b572e521e5e6d9b06de798652cf633cac47be7ce870e955
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
@@ -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
- # Then /^I delete file "(.*)"$/ do |file_name|
14
- # file_path = ($test_data_dir + file_name)
15
- # if File.exists?(file_path)
16
- # File.delete(file_path)
17
- # puts "#{file_name} is deleted successfully"
18
- # else
19
- # puts "File #{file_name} does not exists"
20
- # end
21
- # end
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.0"
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.rows_hash.each {|k,v| header k, v }
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
- request_url = URI.encode check_match_url url
29
- @client = Savon.client(ssl_verify_mode: :none,wsdl: "#{request_url}")
30
- p @client.operations
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
- params = JSON.parse(json)
41
- @response = @client.call(operation.downcase.to_sym, :message => params)
42
- # p JSON.parse(@response.body)
43
- # p response_text = response.body[:verify_email_response][:verify_email_result][:response_text]
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 = JSON.parse(@response.body.to_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
- if self.respond_to?(:expect)
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 to:$/) do |params|
63
- @body = {}
64
- params.rows_hash.each do |key, value|
65
- p_value = value
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 = %-#{Dir.pwd}/#{filename}.#{extension}-
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
- @grabbed[%/#{place_holder}/] = @response.get json_path
97
- p @grabbed
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
- # Example
156
- # Then the JSON response should be:
157
- # """
158
- # {
159
- # "test" : "anh pham"
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 = JSON.parse(@response.body)
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) # if optional and no such key then skip
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 = JSON.parse(@response.body)
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
- expect(results).to include(text)
247
+ expect(results).to include(text)
229
248
  else
230
- assert results.include?(text)
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
- puts @response.body
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
@@ -0,0 +1,4 @@
1
+ Feature: Example feature for GUI testing
2
+
3
+ Scenario: testing case for web interaction
4
+ Given I am on Login Page
@@ -0,0 +1,3 @@
1
+ # When /^I login into system with username "(.*)" and password "(.*)"$/ do |username, password|
2
+ # step %{I click on "mym_header.button"}
3
+ # end
@@ -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: http://google.com.com/
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.0
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-10-27 00:00:00.000000000 Z
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