scoutui 2.0.5.2 → 2.0.5.2.1.pre

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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -4
  3. data/README.md +7 -0
  4. data/bin/scoutui_driver +1 -0
  5. data/examples/benchmark/ex.rb +16 -0
  6. data/examples/capabilities/win10.chrome46.json +6 -0
  7. data/examples/carmax/appmodel/search_results.json +27 -0
  8. data/examples/carmax/commands/commands.yml +63 -0
  9. data/examples/cmdshell/commands/hello.yml +22 -0
  10. data/examples/converters/jsonupdate.rb +31 -0
  11. data/examples/ex2/appmodel/common.json +51 -0
  12. data/examples/ex2/appmodel/page_model.json +106 -0
  13. data/examples/ex2/appmodel/register.model.json +42 -0
  14. data/examples/ex2/commands/commands.basic.appmodel.yml +8 -0
  15. data/examples/ex2/commands/commands.yml +115 -0
  16. data/examples/ex2/commands/ex1.yml +7 -0
  17. data/examples/ex2/commands/ex1c.yml +8 -0
  18. data/examples/ex2/commands/ex1d.yml +22 -0
  19. data/examples/ex2/commands/ex2.hover.yml +43 -0
  20. data/examples/ex2/commands/ex2.yml +24 -0
  21. data/examples/ex2/data.json +6 -0
  22. data/examples/ex2/test-configs/test.config.basic.json +12 -0
  23. data/examples/ex2/test-configs/test.config.json +31 -0
  24. data/examples/ex2/tests/run-test.sh +125 -0
  25. data/examples/ex2/tests/test-basic-appmodel.sh +14 -0
  26. data/examples/ex2/tests/test-example.sh +39 -0
  27. data/examples/ex2/tests/test-example1a.sh +16 -0
  28. data/examples/ex2/tests/test-example1b.sh +13 -0
  29. data/examples/ex2/tests/test-example1c.sh +15 -0
  30. data/examples/ex2/tests/test-example1d.sh +15 -0
  31. data/examples/ex2/tests/test-example2.forms.eyes.sh +40 -0
  32. data/examples/ex2/tests/test-example2.hover.eyes.sh +40 -0
  33. data/examples/ex2/tests/test-example2.hover.sh +26 -0
  34. data/examples/ex2/tests/test-example2.sh +43 -0
  35. data/examples/ex2/tests/test-example3.sauce.sh +77 -0
  36. data/examples/ex2/tests/test-example3.sh +41 -0
  37. data/examples/headless/run.sh +15 -0
  38. data/examples/http/sendreq.rb +29 -0
  39. data/examples/js.rb +48 -0
  40. data/lib/scoutui/base/test_data.rb +6 -0
  41. data/lib/scoutui/commands/click_object.rb +7 -1
  42. data/lib/scoutui/eyes/utils.rb +36 -7
  43. data/lib/scoutui/version.rb +1 -1
  44. data/scoutui.gemspec +4 -3
  45. metadata +62 -17
  46. data/examples/ex1/phantom.chrome.json +0 -4
  47. data/examples/ex1/run.sh +0 -85
  48. data/examples/ex1/simple.yml +0 -13
  49. data/examples/ex1/win10.chromebeta.json +0 -6
  50. data/lib/scoutui/base/q_har_mgr.rb +0 -63
@@ -26,6 +26,14 @@ module Scoutui::Eyes
26
26
  return fn.join '.'
27
27
  end
28
28
 
29
+ def get_session_id_from_batch(url)
30
+ /batches\/\d+\/(?<sessionId>\d+)/.match(url)[1]
31
+ end
32
+
33
+ def get_batch_id_from_batch(url)
34
+ /batches\/(?<batchId>\d+)/.match(url)[1]
35
+ end
36
+
29
37
 
30
38
  def get_session_id(url)
31
39
  /sessions\/\d+\/(?<sessionId>\d+)/.match(url)[1]
@@ -56,8 +64,16 @@ module Scoutui::Eyes
56
64
 
57
65
  def download_diffs(results, view_key, destination)
58
66
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " download_diffs(#{results}, #{destination})"
59
- session_id = get_session_id(results.url)
60
- batch_id = get_batch_id(results.url)
67
+
68
+ # Check if BATCH
69
+ if /\/batches\/\d+\/(?<batchId>\d+)/.match(results.url)
70
+ session_id = get_session_id_from_batch(results.url)
71
+ batch_id = get_batch_id_from_batch(results.url)
72
+ else
73
+ session_id = get_session_id(results.url)
74
+ batch_id = get_batch_id(results.url)
75
+ end
76
+
61
77
  diff_urls = get_diff_urls(batch_id, session_id, view_key)
62
78
 
63
79
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " session_id : #{session_id}, batch_id : #{batch_id}"
@@ -66,12 +82,25 @@ module Scoutui::Eyes
66
82
  end
67
83
 
68
84
  def download_images(diff_urls, destination)
69
- diff_urls.each do |index, elem|
70
- save_name = sanitize_filename(elem[:tag]) + ".#{elem[:isMatching].to_s}.step_#{elem[:index]}_diff.png"
71
- File.open("#{destination}/#{save_name}", 'wb') do |file|
72
- file.write HTTParty.get(elem[:url])
85
+ rc=true
86
+
87
+ begin
88
+ diff_urls.each do |index, elem|
89
+ save_name = sanitize_filename(elem[:tag]) + ".#{elem[:isMatching].to_s}.step_#{elem[:index]}_diff.png"
90
+ File.open("#{destination}/#{save_name}", 'wb') do |file|
91
+ file.write HTTParty.get(elem[:url])
92
+ end
73
93
  end
94
+
95
+
96
+ rescue => ex
97
+ Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " #{ex.class}: download_images."
98
+ Scoutui::Logger::LogMgr.instance.info ex.backtrace
99
+ rc=false
74
100
  end
101
+
102
+ rc
103
+
75
104
  end
76
105
 
77
106
  def get_diff_urls(batch_id, session_id, view_key)
@@ -102,4 +131,4 @@ module Scoutui::Eyes
102
131
  end
103
132
 
104
133
 
105
- end
134
+ end
@@ -1,3 +1,3 @@
1
1
  module Scoutui
2
- VERSION = "2.0.5.2"
2
+ VERSION = "2.0.5.2.1.pre"
3
3
  end
data/scoutui.gemspec CHANGED
@@ -26,14 +26,15 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency "rake"
27
27
  spec.add_development_dependency "rspec"
28
28
  spec.add_development_dependency "nokogiri", "1.6.7.2"
29
- spec.add_development_dependency "eyes_selenium", ">= 2.33"
29
+ spec.add_development_dependency "eyes_selenium", ">= 2.38"
30
30
  spec.add_development_dependency "selenium-webdriver", "2.53.4"
31
31
  spec.add_development_dependency "httparty", ">=0.13.7"
32
32
  spec.add_development_dependency "json", ">= 1.8.3"
33
33
  spec.add_development_dependency "faker"
34
34
  spec.add_development_dependency "logging"
35
- spec.add_development_dependency "sauce_whisk", "0.0.21"
35
+ spec.add_development_dependency "sauce_whisk"
36
36
  spec.add_development_dependency "testmgr", ">= 0.3.2.pre"
37
- spec.add_development_dependency "DataMgr", ">=0.2.0"
37
+ spec.add_development_dependency "tiny_tds"
38
+ spec.add_development_dependency "DataMgr", ">= 0.1.1.1.pre"
38
39
  spec.add_development_dependency "CmdShellMgr", ">= 0.1.1.2.pre"
39
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scoutui
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5.2
4
+ version: 2.0.5.2.1.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Kim
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-25 00:00:00.000000000 Z
11
+ date: 2017-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '2.33'
75
+ version: '2.38'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '2.33'
82
+ version: '2.38'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: selenium-webdriver
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -154,16 +154,16 @@ dependencies:
154
154
  name: sauce_whisk
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: 0.0.21
159
+ version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: 0.0.21
166
+ version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: testmgr
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -178,20 +178,34 @@ dependencies:
178
178
  - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: 0.3.2.pre
181
+ - !ruby/object:Gem::Dependency
182
+ name: tiny_tds
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
181
195
  - !ruby/object:Gem::Dependency
182
196
  name: DataMgr
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
199
  - - ">="
186
200
  - !ruby/object:Gem::Version
187
- version: 0.2.0
201
+ version: 0.1.1.1.pre
188
202
  type: :development
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - ">="
193
207
  - !ruby/object:Gem::Version
194
- version: 0.2.0
208
+ version: 0.1.1.1.pre
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: CmdShellMgr
197
211
  requirement: !ruby/object:Gem::Requirement
@@ -223,16 +237,48 @@ files:
223
237
  - README.md
224
238
  - Rakefile
225
239
  - bin/console
240
+ - bin/scoutui_driver
226
241
  - bin/scoutui_driver.rb
227
242
  - bin/setup
243
+ - examples/benchmark/ex.rb
244
+ - examples/capabilities/win10.chrome46.json
245
+ - examples/carmax/appmodel/search_results.json
246
+ - examples/carmax/commands/commands.yml
247
+ - examples/cmdshell/commands/hello.yml
248
+ - examples/converters/jsonupdate.rb
228
249
  - examples/ex1/commands.holidays.yml
229
250
  - examples/ex1/commands.yml
230
- - examples/ex1/phantom.chrome.json
231
- - examples/ex1/run.sh
232
- - examples/ex1/simple.yml
233
251
  - examples/ex1/test-example.sh
234
252
  - examples/ex1/test.config.json
235
- - examples/ex1/win10.chromebeta.json
253
+ - examples/ex2/appmodel/common.json
254
+ - examples/ex2/appmodel/page_model.json
255
+ - examples/ex2/appmodel/register.model.json
256
+ - examples/ex2/commands/commands.basic.appmodel.yml
257
+ - examples/ex2/commands/commands.yml
258
+ - examples/ex2/commands/ex1.yml
259
+ - examples/ex2/commands/ex1c.yml
260
+ - examples/ex2/commands/ex1d.yml
261
+ - examples/ex2/commands/ex2.hover.yml
262
+ - examples/ex2/commands/ex2.yml
263
+ - examples/ex2/data.json
264
+ - examples/ex2/test-configs/test.config.basic.json
265
+ - examples/ex2/test-configs/test.config.json
266
+ - examples/ex2/tests/run-test.sh
267
+ - examples/ex2/tests/test-basic-appmodel.sh
268
+ - examples/ex2/tests/test-example.sh
269
+ - examples/ex2/tests/test-example1a.sh
270
+ - examples/ex2/tests/test-example1b.sh
271
+ - examples/ex2/tests/test-example1c.sh
272
+ - examples/ex2/tests/test-example1d.sh
273
+ - examples/ex2/tests/test-example2.forms.eyes.sh
274
+ - examples/ex2/tests/test-example2.hover.eyes.sh
275
+ - examples/ex2/tests/test-example2.hover.sh
276
+ - examples/ex2/tests/test-example2.sh
277
+ - examples/ex2/tests/test-example3.sauce.sh
278
+ - examples/ex2/tests/test-example3.sh
279
+ - examples/headless/run.sh
280
+ - examples/http/sendreq.rb
281
+ - examples/js.rb
236
282
  - lib/scoutui.rb
237
283
  - lib/scoutui/appmodel/q_model.rb
238
284
  - lib/scoutui/base/assertions.rb
@@ -240,7 +286,6 @@ files:
240
286
  - lib/scoutui/base/q_applitools.rb
241
287
  - lib/scoutui/base/q_browser.rb
242
288
  - lib/scoutui/base/q_form.rb
243
- - lib/scoutui/base/q_har_mgr.rb
244
289
  - lib/scoutui/base/requirements.rb
245
290
  - lib/scoutui/base/test_context.rb
246
291
  - lib/scoutui/base/test_data.rb
@@ -303,9 +348,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
348
  version: '0'
304
349
  required_rubygems_version: !ruby/object:Gem::Requirement
305
350
  requirements:
306
- - - ">="
351
+ - - ">"
307
352
  - !ruby/object:Gem::Version
308
- version: '0'
353
+ version: 1.3.1
309
354
  requirements: []
310
355
  rubyforge_project:
311
356
  rubygems_version: 2.6.2
@@ -1,4 +0,0 @@
1
- {
2
- "browser": "phantomjs",
3
- "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36"
4
- }
data/examples/ex1/run.sh DELETED
@@ -1,85 +0,0 @@
1
- #!/usr/bin/env bash
2
- ##
3
- # H20Dragon
4
- ##
5
-
6
- ##
7
- # Execute test on Chrome locally.
8
- ##
9
- run_chrome()
10
- {
11
- CMD=$1
12
- ruby $SCOUTUI_BIN --config ./test.config.json \
13
- --browser chrome \
14
- --host "http://www.elvis-presley.com" \
15
- --viewport 800x600 \
16
- --dut ${CMD} --debug
17
- }
18
-
19
- ##
20
- # Execute test on Firefox locally.
21
- ##
22
- run_firefox()
23
- {
24
- CMD=$1
25
- ruby $SCOUTUI_BIN --config ./test.config.json \
26
- --browser firefox \
27
- --host "http://www.elvis-presley.com" \
28
- --viewport 800x600 \
29
- --dut ${CMD} --debug
30
- }
31
-
32
- ##
33
- # Execute test on phantom (GhostDriver)
34
- ##
35
- run_headless()
36
- {
37
- CMD=$1
38
- ruby $SCOUTUI_BIN --config ./test.config.json \
39
- --browser phantomjs \
40
- --host "http://www.elvis-presley.com" \
41
- --viewport 800x600 \
42
- --dut ${CMD} --debug
43
- }
44
-
45
-
46
- ##
47
- # Run tests on ghostdriver (phantom) as defined in
48
- # its capabilities file.
49
- ##
50
- run_headless2()
51
- {
52
- CMD=$1
53
- ruby $SCOUTUI_BIN --config ./test.config.json \
54
- --capabilities ./phantom.chrome.json \
55
- --host "http://www.elvis-presley.com" \
56
- --viewport 800x600 \
57
- --dut ${CMD} --debug
58
- }
59
-
60
-
61
- ##
62
- # Run a test on ghostdriver (phantom) defined by
63
- # capabilities files, while taking screen shots.
64
- ##
65
- run_screenshots_phantom()
66
- {
67
- CMD=$1
68
- ruby $SCOUTUI_BIN --config ./test.config.json \
69
- --capabilities ./phantom.chrome.json \
70
- --screenshots:run true \
71
- --screenshots:dir /tmp/phantom \
72
- --host "http://www.elvis-presley.com" \
73
- --viewport 800x600 \
74
- --dut ${CMD} --debug
75
- }
76
-
77
-
78
-
79
- run_chrome ./simple.yml
80
- run_firefox ./simple.yml
81
-
82
- #run_headless ./simple.yml
83
- #run_headless2 ./simple.yml
84
- #run_screenshots_phantom ./simple.yml
85
-
@@ -1,13 +0,0 @@
1
- page:
2
- name: Home
3
- action: navigate(http://www.elvis.com)
4
- ---
5
- page:
6
- name: TAB
7
- action: type(__TAB__)
8
- do:
9
- - focused.Highlight
10
- - press(__TAB__)
11
- until:
12
- - true
13
-
@@ -1,6 +0,0 @@
1
- {
2
- "platform": "Windows 10",
3
- "browser": "chrome",
4
- "version": "beta",
5
- "screenResolution": "1280x1024"
6
- }
@@ -1,63 +0,0 @@
1
- require 'singleton'
2
- #require 'browsermob/proxy'
3
-
4
-
5
- module Scoutui::Base
6
-
7
- class QHarMgr
8
- include Singleton
9
-
10
- attr_accessor :proxy_binary
11
- attr_accessor :proxy
12
- attr_accessor :seleniumProfile
13
-
14
-
15
- def initialize()
16
- puts __FILE__ + (__LINE__).to_s + " -- start BrowserMob --" if Scoutui::Utils::TestUtils.instance.isDebug?
17
- @proxy_binary = BrowserMob::Proxy::Server.new(ENV['BROWSER_MOB_BIN'], { :port => 8088 })
18
- end
19
-
20
- def start()
21
- puts __FILE__ + (__LINE__).to_s + " --start --"
22
- @proxy_binary.start
23
- @proxy = @proxy_binary.create_proxy
24
- @seleniumProfile = @proxy.selenium_proxy # Needed by Selenium instance
25
-
26
- @proxy.new_har(:capture_headers => true)
27
- end
28
-
29
-
30
- def getSeleniumProfile()
31
- puts __FILE__ + (__LINE__).to_s + " == getSeleniumProfile() => #{@seleniumProfile} --"
32
- @seleniumProfile
33
- end
34
-
35
- def stop(save_as=nil)
36
- puts __FILE__ + (__LINE__).to_s + " -- stop(#{save_as.to_s} --"
37
- # @proxy.close
38
-
39
- if !save_as.nil?
40
- @proxy.har.save_to(save_as)
41
- end
42
-
43
- @proxy.close
44
- end
45
-
46
- def capture_traffic
47
- # @proxy.new_har
48
- yield
49
- @proxy.har
50
- end
51
-
52
- def run(n)
53
- puts __FILE__ + (__LINE__).to_s + " -- run --"
54
- @har = capture_traffic { yield }
55
- # @proxy.close
56
- # @har.save_to(n)
57
- end
58
-
59
-
60
- end
61
-
62
-
63
- end