scoutui 2.0.4.2.pre → 2.0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -2
  3. data/README.md +0 -7
  4. data/examples/ex1/phantom.chrome.json +4 -0
  5. data/examples/ex1/run.sh +85 -0
  6. data/examples/ex1/simple.yml +13 -0
  7. data/examples/ex1/win10.chromebeta.json +6 -0
  8. data/lib/scoutui/base/q_har_mgr.rb +63 -0
  9. data/lib/scoutui/base/visual_test_framework.rb +1 -1
  10. data/lib/scoutui/commands/strategy.rb +58 -64
  11. data/lib/scoutui/utils/utils.rb +6 -0
  12. data/lib/scoutui/version.rb +1 -1
  13. data/scoutui.gemspec +2 -3
  14. metadata +15 -58
  15. data/bin/scoutui_driver +0 -1
  16. data/examples/benchmark/ex.rb +0 -16
  17. data/examples/capabilities/win10.chrome46.json +0 -6
  18. data/examples/carmax/appmodel/search_results.json +0 -27
  19. data/examples/carmax/commands/commands.yml +0 -63
  20. data/examples/cmdshell/commands/hello.yml +0 -22
  21. data/examples/converters/jsonupdate.rb +0 -31
  22. data/examples/ex2/appmodel/common.json +0 -51
  23. data/examples/ex2/appmodel/page_model.json +0 -106
  24. data/examples/ex2/appmodel/register.model.json +0 -42
  25. data/examples/ex2/commands/commands.basic.appmodel.yml +0 -8
  26. data/examples/ex2/commands/commands.yml +0 -115
  27. data/examples/ex2/commands/ex1.yml +0 -7
  28. data/examples/ex2/commands/ex1c.yml +0 -8
  29. data/examples/ex2/commands/ex1d.yml +0 -22
  30. data/examples/ex2/commands/ex2.hover.yml +0 -43
  31. data/examples/ex2/commands/ex2.yml +0 -24
  32. data/examples/ex2/data.json +0 -6
  33. data/examples/ex2/test-configs/test.config.basic.json +0 -12
  34. data/examples/ex2/test-configs/test.config.json +0 -31
  35. data/examples/ex2/tests/run-test.sh +0 -125
  36. data/examples/ex2/tests/test-basic-appmodel.sh +0 -14
  37. data/examples/ex2/tests/test-example.sh +0 -39
  38. data/examples/ex2/tests/test-example1a.sh +0 -16
  39. data/examples/ex2/tests/test-example1b.sh +0 -13
  40. data/examples/ex2/tests/test-example1c.sh +0 -15
  41. data/examples/ex2/tests/test-example1d.sh +0 -15
  42. data/examples/ex2/tests/test-example2.forms.eyes.sh +0 -40
  43. data/examples/ex2/tests/test-example2.hover.eyes.sh +0 -40
  44. data/examples/ex2/tests/test-example2.hover.sh +0 -26
  45. data/examples/ex2/tests/test-example2.sh +0 -43
  46. data/examples/ex2/tests/test-example3.sauce.sh +0 -77
  47. data/examples/ex2/tests/test-example3.sh +0 -41
  48. data/examples/headless/run.sh +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f11c86e2a301c190203b1f2059134b57b057f6a
4
- data.tar.gz: 56e92a8233f0a054ecc6503b78035bdb92e8fb07
3
+ metadata.gz: c992aa713a0c469c5e31dd51b696eaefac62082c
4
+ data.tar.gz: a35ae4a239a24f26945513ca5a717eb8232bd424
5
5
  SHA512:
6
- metadata.gz: b413d04da361934ff6afdb0184a6e676ddcbc575ddc93c067fa099711f1c4ac5797a06dee19af3d414cdcd4af76cf078a3208f460264ff3ce5c9bd229e3237af
7
- data.tar.gz: 830c865c88755907e6d063a9f5051ac38260f896f66b6bf7e38f20bcadeb184ff0ca2701b9332ab520f02607445a21ee535421bad1c18bdbeb141107ff76b61f
6
+ metadata.gz: 0c003f9524476eb6b223bcb557752dce215c8fe9b8c8c22e9aa633da4a1351e1387045e05a3ba236fa170dd0a4b037c51db4b8daf871fc839184278aa0700ca0
7
+ data.tar.gz: 288182fa5fc6fa3463a91662fa36bfaaf8a2702b6ad5eaa9b64186da3d22ae5114aba42cc82c02991b309205ca0f47bfa1929893fe2c26e12db3ce7e37d88c71
data/.gitignore CHANGED
@@ -4,7 +4,9 @@
4
4
  /_yardoc/
5
5
  /coverage/
6
6
  /doc/
7
+ /pkg/
7
8
  /spec/reports/
8
- /test/gateway
9
9
  /tmp/
10
- /test/travel
10
+ /.idea
11
+ /.travis.yml
12
+
data/README.md CHANGED
@@ -59,13 +59,6 @@ To run unit tests:
59
59
  To run a specific unit test:
60
60
 
61
61
  $ rspec spec/json_spec.rb
62
-
63
- To build:
64
-
65
- $ bundle exec rake build
66
-
67
- To push the build (gem)
68
- $ gem push <gem file>
69
62
 
70
63
  ## Running the examples
71
64
 
@@ -0,0 +1,4 @@
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
+ }
@@ -0,0 +1,85 @@
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
+
@@ -0,0 +1,13 @@
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
+
@@ -0,0 +1,6 @@
1
+ {
2
+ "platform": "Windows 10",
3
+ "browser": "chrome",
4
+ "version": "beta",
5
+ "screenResolution": "1280x1024"
6
+ }
@@ -0,0 +1,63 @@
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
@@ -987,7 +987,7 @@ module Scoutui::Base
987
987
 
988
988
  Scoutui::Commands::Utils.instance.reset(e)
989
989
 
990
- puts __FILE__ + (__LINE__).to_s + " page => #{e}"
990
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " page => #{e}"
991
991
 
992
992
  if e[STEP_KEY].has_key?("timeout")
993
993
  Scoutui::Commands::Utils.instance.setTimeout(e[STEP_KEY]["timeout"])
@@ -5,6 +5,15 @@ module Scoutui::Commands
5
5
 
6
6
  class Strategy
7
7
 
8
+ USER_AGENTS = {
9
+ 'MAC_CHROME' => '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',
10
+ 'WIN81_IE11' => 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko',
11
+ 'WIN7_IE10' => 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)',
12
+ 'WIN10_EDGE13' => '#Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586',
13
+ 'WIN10_CHROME_BETA' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.21 Safari/537.36',
14
+ 'YOSE_CHROME_BETA' => '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'
15
+ }
16
+
8
17
  attr_accessor :drv
9
18
  attr_accessor :profile
10
19
 
@@ -23,6 +32,22 @@ module Scoutui::Commands
23
32
  rc
24
33
  end
25
34
 
35
+ def isHeadlessBrowser?(browserType)
36
+ !browserType.match(/(phantom|phantomjs|ghost|ghostdriver)/i).nil?
37
+ end
38
+
39
+ def isHeadlessCap?(caps)
40
+ !caps.nil? && caps.has_key?(:browser) && isHeadlessBrowser?(caps[:browser])
41
+ end
42
+
43
+ def setViewport()
44
+ _viewport = Scoutui::Utils::TestUtils.instance.getViewPort()
45
+ if !_viewport.nil?
46
+ target_size = Selenium::WebDriver::Dimension.new(_viewport[:width], _viewport[:height])
47
+ getDriver().manage.window.size = target_size
48
+ end
49
+ end
50
+
26
51
  def navigate(url)
27
52
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " [enter]:navigate(#{url})"
28
53
  rc = false
@@ -96,26 +121,15 @@ module Scoutui::Commands
96
121
  browserType = Scoutui::Base::UserVars.instance.getBrowserType()
97
122
  caps = Scoutui::Utils::TestUtils.instance.getCapabilities()
98
123
 
99
- if false
100
- if !browserType.to_s.match(/chrome/i).nil?
101
- @profile = Selenium::WebDriver::Chrome::Profile.new
102
- elsif !browserType.to_s.match(/fire/i).nil?
103
- @profile = Selenium::WebDriver::Firefox::Profile.new
104
- elsif !browserType.to_s.match(/ie/i).nil?
105
- @profile = Selenium::WebDriver::IE::Profile.new
106
- elsif !browserType.to_s.match(/safari/i).nil?
107
- @profile = Selenium::WebDriver::Safari::Profile.new
108
- else
109
- @profile = Selenium::WebDriver::Firefox::Profile.new
110
- browserType='firefox'
111
- end
124
+ ##
125
+ # If running on Sauce, we need the capabilities.
126
+ ##
127
+ if Scoutui::Utils::TestUtils.instance.sauceEnabled?
112
128
 
113
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " profile => #{@profile}"
114
- end
129
+ caps = Scoutui::Utils::TestUtils.instance.getSauceCaps()
115
130
 
116
- if Scoutui::Utils::TestUtils.instance.sauceEnabled?
131
+ caps = Scoutui::Utils::TestUtils.instance.getCapabilities() if caps.nil?
117
132
 
118
- caps = Scoutui::Utils::TestUtils.instance.getCapabilities()
119
133
  client=nil
120
134
  proxy=nil
121
135
 
@@ -223,7 +237,7 @@ module Scoutui::Commands
223
237
 
224
238
  begin
225
239
  if client.nil?
226
- puts __FILE__ + (__LINE__).to_s + " caps => #{caps}"
240
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " caps => #{caps}"
227
241
  @drv=Selenium::WebDriver.for :remote, :url => sauce_endpoint, :desired_capabilities => caps # setup(caps)
228
242
  else
229
243
  @drv=Selenium::WebDriver.for :remote, :url => sauce_endpoint, :http_client => client, :desired_capabilities => caps # setup(caps)
@@ -239,71 +253,51 @@ module Scoutui::Commands
239
253
  # https://wiki.saucelabs.com/display/DOCS/Setting+Up+Reporting+between+Sauce+Labs+and+Jenkins
240
254
  puts "SauceOnDemandSessionID=#{@drv.session_id} job-name=#{caps[:name]}"
241
255
 
242
- elsif !caps.nil? && caps.has_key?(:browser) && caps[:browser].match(/(phantom|phantomjs|ghost|ghostdriver)/i)
243
256
 
244
- _YosemiteChromeBeta='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'
245
- _cap=Selenium::WebDriver::Remote::Capabilities.phantomjs('phantomjs.page.settings.userAgent' => _YosemiteChromeBeta)
257
+ elsif isHeadlessCap?(caps) || isHeadlessBrowser?(browserType)
246
258
 
247
- if caps.has_key?(:browser) && caps[:browser].match(/(phantom|phantomjs|ghost|ghostdriver)/i)
248
- selenium_server=Scoutui::Utils::TestUtils.instance.getSeleniumServer()
249
- selenium_server='http://localhost:8001' if selenium_server.nil?
259
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Headless browser : <caps, browser>::<#{caps}, #{browserType}>"
250
260
 
251
- if caps.has_key?(:useragent)
252
- _cap=Selenium::WebDriver::Remote::Capabilities.phantomjs('phantomjs.page.settings.userAgent' => caps[:useragent])
253
- end
261
+ _cap=Selenium::WebDriver::Remote::Capabilities.phantomjs('phantomjs.page.settings.userAgent' => USER_AGENTS['YOSE_CHROME_BETA'])
254
262
 
255
- @drv=Selenium::WebDriver.for :remote, :url => selenium_server, :desired_capabilities => _cap
256
263
 
257
- _viewport = Scoutui::Utils::TestUtils.instance.getViewPort()
258
- if !_viewport.nil?
259
- target_size = Selenium::WebDriver::Dimension.new(_viewport[:width], _viewport[:height])
260
- @drv.manage.window.size = target_size
261
- end
264
+ selenium_server=Scoutui::Utils::TestUtils.instance.getSeleniumServer()
265
+ selenium_server='http://localhost:8001' if selenium_server.nil?
262
266
 
267
+ if isHeadlessCap?(caps) && caps.has_key?(:useragent)
268
+ _cap=Selenium::WebDriver::Remote::Capabilities.phantomjs('phantomjs.page.settings.userAgent' => caps[:useragent])
263
269
  end
264
270
 
271
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Headless capabilities : #{_cap}"
265
272
 
266
- elsif browserType.match(/(phantom|phantomjs|ghost|ghostdriver)/i)
267
-
268
- puts __FILE__ + (__LINE__).to_s + " => Headless testing"
269
-
270
- selenium_server=Scoutui::Utils::TestUtils.instance.getSeleniumServer()
271
- selenium_server='http://localhost:8001' if selenium_server.nil?
272
-
273
- ##
274
- # caps
275
- ##
276
- _useragentChromeOnMac='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'
277
- _useragentWin81IE11='Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko'
273
+ _connected=false
274
+ _tm={:start => Time.now, :end => nil }
275
+ begin
276
+ @drv=Selenium::WebDriver.for :remote, :url => selenium_server, :desired_capabilities => _cap
277
+ _tm[:end]=Time.now
278
+ _connected=true
279
+ setViewport()
278
280
 
279
- _Win7IE10 = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)'
281
+ rescue Errno::ECONNREFUSED => ex
282
+ Scoutui::Logger::LogMgr.instance.fatal __FILE__ + (__LINE__).to_s + " Unable to connect to GhostDriver"
280
283
 
281
- _Win10Edge13='#Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586'
284
+ Scoutui::Utils::TestUtils.instance.setState(:abort, __FILE__ + (__LINE__).to_s + " Unable to connect to GhostDriver : #{ex.class.to_s}: #{ex}")
282
285
 
283
- _Win10ChromeBeta='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.21 Safari/537.36'
284
- _YosemiteChromeBeta='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'
286
+ rescue => ex
287
+ Scoutui::Utils::TestUtils.instance.setState(:abort, __FILE__ + (__LINE__).to_s + " : #{ex.class.to_s}: #{ex}")
288
+ Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " #{ex.class.to_s} Error during processing: #{ex}"
289
+ Scoutui::Logger::LogMgr.instance.warn ex.backtrace
290
+ end
285
291
 
286
- _useragent = _YosemiteChromeBeta
292
+ _tm[:end]=Time.now if _tm[:end].nil?
287
293
 
288
- caps=Selenium::WebDriver::Remote::Capabilities.phantomjs('phantomjs.page.settings.userAgent' => _useragent)
289
- # @drv=Selenium::WebDriver.for :phantomjs, :url => selenium_server, :desired_capabilities => caps
290
- @drv=Selenium::WebDriver.for :remote, :url => selenium_server, :desired_capabilities => caps
294
+ Testmgr::TestReport.instance.getReq('Execution').tc('Status').add(_connected, "Connect to GhostDriver on #{selenium_server}", _tm[:end] - _tm[:start])
291
295
 
292
- _viewport = Scoutui::Utils::TestUtils.instance.getViewPort()
293
- if !_viewport.nil?
294
- target_size = Selenium::WebDriver::Dimension.new(_viewport[:width], _viewport[:height])
295
- @drv.manage.window.size = target_size
296
- end
297
296
 
298
297
  else
299
298
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Create WebDriver: #{browserType.to_s}"
300
299
  @drv=Selenium::WebDriver.for browserType.to_sym, :profile => @profile
301
-
302
- _viewport = Scoutui::Utils::TestUtils.instance.getViewPort()
303
- if !_viewport.nil?
304
- target_size = Selenium::WebDriver::Dimension.new(_viewport[:width], _viewport[:height])
305
- @drv.manage.window.size = target_size
306
- end
300
+ setViewport()
307
301
 
308
302
  end
309
303
 
@@ -299,6 +299,7 @@ module Scoutui::Utils
299
299
  @options[:enable_sauce] = !o.match(/true/i).nil?
300
300
  }
301
301
  opt.on('--sauce_name NAME') { |o| @options[:sauce_name] = o }
302
+ opt.on('--sauce:capabilities Capabilities') { |o| @options[:sauce_capabilities] = o }
302
303
  opt.on('--sauce:name NAME') { |o| @options[:sauce_name] = o }
303
304
  opt.on('--sauce:build id') { |o| @options[:sauce_build] = o }
304
305
  opt.on('--sauce:browser Browser') { |o| @options[:sauce_browser] = o }
@@ -316,6 +317,7 @@ module Scoutui::Utils
316
317
  end.parse!
317
318
 
318
319
  if Scoutui::Utils::TestUtils.instance.isDebug?
320
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " ScoutUI Version : " + Scoutui::VERSION
319
321
  Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " " + @options.to_s
320
322
  Scoutui::Logger::LogMgr.instance.info "Test file => #{@options[:test_file]}"
321
323
  Scoutui::Logger::LogMgr.instance.info "Host => #{@options[:host]}"
@@ -474,6 +476,10 @@ module Scoutui::Utils
474
476
  @options[:retries]
475
477
  end
476
478
 
479
+ def getSauceCaps()
480
+ @options[:sauce_capabilities]
481
+ end
482
+
477
483
  def getSauceName()
478
484
  @options[:sauce_name].to_s
479
485
  end
@@ -1,3 +1,3 @@
1
1
  module Scoutui
2
- VERSION = "2.0.4.2.pre"
2
+ VERSION = "2.0.5.0"
3
3
  end
data/scoutui.gemspec CHANGED
@@ -32,9 +32,8 @@ Gem::Specification.new do |spec|
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"
35
+ spec.add_development_dependency "sauce_whisk", "0.0.21"
36
36
  spec.add_development_dependency "testmgr", ">= 0.3.2.pre"
37
- spec.add_development_dependency "tiny_tds"
38
- spec.add_development_dependency "DataMgr", ">= 0.1.1.1.pre"
37
+ spec.add_development_dependency "DataMgr", ">=0.2.0"
39
38
  spec.add_development_dependency "CmdShellMgr", ">= 0.1.1.2.pre"
40
39
  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.4.2.pre
4
+ version: 2.0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Kim
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-12 00:00:00.000000000 Z
11
+ date: 2016-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -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'
159
+ version: 0.0.21
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'
166
+ version: 0.0.21
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: testmgr
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -178,34 +178,20 @@ 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'
195
181
  - !ruby/object:Gem::Dependency
196
182
  name: DataMgr
197
183
  requirement: !ruby/object:Gem::Requirement
198
184
  requirements:
199
185
  - - ">="
200
186
  - !ruby/object:Gem::Version
201
- version: 0.1.1.1.pre
187
+ version: 0.2.0
202
188
  type: :development
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
192
  - - ">="
207
193
  - !ruby/object:Gem::Version
208
- version: 0.1.1.1.pre
194
+ version: 0.2.0
209
195
  - !ruby/object:Gem::Dependency
210
196
  name: CmdShellMgr
211
197
  requirement: !ruby/object:Gem::Requirement
@@ -237,46 +223,16 @@ files:
237
223
  - README.md
238
224
  - Rakefile
239
225
  - bin/console
240
- - bin/scoutui_driver
241
226
  - bin/scoutui_driver.rb
242
227
  - 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
249
228
  - examples/ex1/commands.holidays.yml
250
229
  - examples/ex1/commands.yml
230
+ - examples/ex1/phantom.chrome.json
231
+ - examples/ex1/run.sh
232
+ - examples/ex1/simple.yml
251
233
  - examples/ex1/test-example.sh
252
234
  - examples/ex1/test.config.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
235
+ - examples/ex1/win10.chromebeta.json
280
236
  - lib/scoutui.rb
281
237
  - lib/scoutui/appmodel/q_model.rb
282
238
  - lib/scoutui/base/assertions.rb
@@ -284,6 +240,7 @@ files:
284
240
  - lib/scoutui/base/q_applitools.rb
285
241
  - lib/scoutui/base/q_browser.rb
286
242
  - lib/scoutui/base/q_form.rb
243
+ - lib/scoutui/base/q_har_mgr.rb
287
244
  - lib/scoutui/base/requirements.rb
288
245
  - lib/scoutui/base/test_context.rb
289
246
  - lib/scoutui/base/test_data.rb
@@ -346,9 +303,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
346
303
  version: '0'
347
304
  required_rubygems_version: !ruby/object:Gem::Requirement
348
305
  requirements:
349
- - - ">"
306
+ - - ">="
350
307
  - !ruby/object:Gem::Version
351
- version: 1.3.1
308
+ version: '0'
352
309
  requirements: []
353
310
  rubyforge_project:
354
311
  rubygems_version: 2.6.2
data/bin/scoutui_driver DELETED
@@ -1 +0,0 @@
1
- scoutui_driver.rb
@@ -1,16 +0,0 @@
1
-
2
-
3
-
4
- def foo(opts)
5
-
6
- puts opts
7
-
8
-
9
- end
10
-
11
-
12
-
13
-
14
- foo(rover: 'Rover')
15
-
16
-
@@ -1,6 +0,0 @@
1
- {
2
- "platform": "Windows 10",
3
- "browser": "chrome",
4
- "version": "46.0",
5
- "screenResolution": "1024x768"
6
- }
@@ -1,27 +0,0 @@
1
- {
2
-
3
-
4
- "search_results": {
5
-
6
-
7
- "results": {
8
-
9
- "header": {
10
- "reqid": "REQ-HEADER",
11
- "locator": "//span[text()='Applied filters']",
12
- "visible_when": "title(Search Results)"
13
- }
14
-
15
-
16
- }
17
-
18
-
19
-
20
- }
21
-
22
-
23
-
24
-
25
-
26
-
27
- }