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.
- checksums.yaml +4 -4
- data/.gitignore +4 -2
- data/README.md +0 -7
- data/examples/ex1/phantom.chrome.json +4 -0
- data/examples/ex1/run.sh +85 -0
- data/examples/ex1/simple.yml +13 -0
- data/examples/ex1/win10.chromebeta.json +6 -0
- data/lib/scoutui/base/q_har_mgr.rb +63 -0
- data/lib/scoutui/base/visual_test_framework.rb +1 -1
- data/lib/scoutui/commands/strategy.rb +58 -64
- data/lib/scoutui/utils/utils.rb +6 -0
- data/lib/scoutui/version.rb +1 -1
- data/scoutui.gemspec +2 -3
- metadata +15 -58
- data/bin/scoutui_driver +0 -1
- data/examples/benchmark/ex.rb +0 -16
- data/examples/capabilities/win10.chrome46.json +0 -6
- data/examples/carmax/appmodel/search_results.json +0 -27
- data/examples/carmax/commands/commands.yml +0 -63
- data/examples/cmdshell/commands/hello.yml +0 -22
- data/examples/converters/jsonupdate.rb +0 -31
- data/examples/ex2/appmodel/common.json +0 -51
- data/examples/ex2/appmodel/page_model.json +0 -106
- data/examples/ex2/appmodel/register.model.json +0 -42
- data/examples/ex2/commands/commands.basic.appmodel.yml +0 -8
- data/examples/ex2/commands/commands.yml +0 -115
- data/examples/ex2/commands/ex1.yml +0 -7
- data/examples/ex2/commands/ex1c.yml +0 -8
- data/examples/ex2/commands/ex1d.yml +0 -22
- data/examples/ex2/commands/ex2.hover.yml +0 -43
- data/examples/ex2/commands/ex2.yml +0 -24
- data/examples/ex2/data.json +0 -6
- data/examples/ex2/test-configs/test.config.basic.json +0 -12
- data/examples/ex2/test-configs/test.config.json +0 -31
- data/examples/ex2/tests/run-test.sh +0 -125
- data/examples/ex2/tests/test-basic-appmodel.sh +0 -14
- data/examples/ex2/tests/test-example.sh +0 -39
- data/examples/ex2/tests/test-example1a.sh +0 -16
- data/examples/ex2/tests/test-example1b.sh +0 -13
- data/examples/ex2/tests/test-example1c.sh +0 -15
- data/examples/ex2/tests/test-example1d.sh +0 -15
- data/examples/ex2/tests/test-example2.forms.eyes.sh +0 -40
- data/examples/ex2/tests/test-example2.hover.eyes.sh +0 -40
- data/examples/ex2/tests/test-example2.hover.sh +0 -26
- data/examples/ex2/tests/test-example2.sh +0 -43
- data/examples/ex2/tests/test-example3.sauce.sh +0 -77
- data/examples/ex2/tests/test-example3.sh +0 -41
- data/examples/headless/run.sh +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c992aa713a0c469c5e31dd51b696eaefac62082c
|
4
|
+
data.tar.gz: a35ae4a239a24f26945513ca5a717eb8232bd424
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c003f9524476eb6b223bcb557752dce215c8fe9b8c8c22e9aa633da4a1351e1387045e05a3ba236fa170dd0a4b037c51db4b8daf871fc839184278aa0700ca0
|
7
|
+
data.tar.gz: 288182fa5fc6fa3463a91662fa36bfaaf8a2702b6ad5eaa9b64186da3d22ae5114aba42cc82c02991b309205ca0f47bfa1929893fe2c26e12db3ce7e37d88c71
|
data/.gitignore
CHANGED
data/README.md
CHANGED
data/examples/ex1/run.sh
ADDED
@@ -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,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
|
-
|
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
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
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::
|
114
|
-
end
|
129
|
+
caps = Scoutui::Utils::TestUtils.instance.getSauceCaps()
|
115
130
|
|
116
|
-
|
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
|
-
|
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
|
-
|
245
|
-
_cap=Selenium::WebDriver::Remote::Capabilities.phantomjs('phantomjs.page.settings.userAgent' => _YosemiteChromeBeta)
|
257
|
+
elsif isHeadlessCap?(caps) || isHeadlessBrowser?(browserType)
|
246
258
|
|
247
|
-
|
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
|
-
|
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
|
-
|
258
|
-
|
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
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
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
|
-
|
281
|
+
rescue Errno::ECONNREFUSED => ex
|
282
|
+
Scoutui::Logger::LogMgr.instance.fatal __FILE__ + (__LINE__).to_s + " Unable to connect to GhostDriver"
|
280
283
|
|
281
|
-
|
284
|
+
Scoutui::Utils::TestUtils.instance.setState(:abort, __FILE__ + (__LINE__).to_s + " Unable to connect to GhostDriver : #{ex.class.to_s}: #{ex}")
|
282
285
|
|
283
|
-
|
284
|
-
|
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
|
-
|
292
|
+
_tm[:end]=Time.now if _tm[:end].nil?
|
287
293
|
|
288
|
-
|
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
|
|
data/lib/scoutui/utils/utils.rb
CHANGED
@@ -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
|
data/lib/scoutui/version.rb
CHANGED
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 "
|
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
|
+
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-
|
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:
|
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:
|
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.
|
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.
|
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/
|
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:
|
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
|
data/examples/benchmark/ex.rb
DELETED
@@ -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
|
-
}
|