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.
- checksums.yaml +4 -4
- data/.gitignore +2 -4
- data/README.md +7 -0
- data/bin/scoutui_driver +1 -0
- data/examples/benchmark/ex.rb +16 -0
- data/examples/capabilities/win10.chrome46.json +6 -0
- data/examples/carmax/appmodel/search_results.json +27 -0
- data/examples/carmax/commands/commands.yml +63 -0
- data/examples/cmdshell/commands/hello.yml +22 -0
- data/examples/converters/jsonupdate.rb +31 -0
- data/examples/ex2/appmodel/common.json +51 -0
- data/examples/ex2/appmodel/page_model.json +106 -0
- data/examples/ex2/appmodel/register.model.json +42 -0
- data/examples/ex2/commands/commands.basic.appmodel.yml +8 -0
- data/examples/ex2/commands/commands.yml +115 -0
- data/examples/ex2/commands/ex1.yml +7 -0
- data/examples/ex2/commands/ex1c.yml +8 -0
- data/examples/ex2/commands/ex1d.yml +22 -0
- data/examples/ex2/commands/ex2.hover.yml +43 -0
- data/examples/ex2/commands/ex2.yml +24 -0
- data/examples/ex2/data.json +6 -0
- data/examples/ex2/test-configs/test.config.basic.json +12 -0
- data/examples/ex2/test-configs/test.config.json +31 -0
- data/examples/ex2/tests/run-test.sh +125 -0
- data/examples/ex2/tests/test-basic-appmodel.sh +14 -0
- data/examples/ex2/tests/test-example.sh +39 -0
- data/examples/ex2/tests/test-example1a.sh +16 -0
- data/examples/ex2/tests/test-example1b.sh +13 -0
- data/examples/ex2/tests/test-example1c.sh +15 -0
- data/examples/ex2/tests/test-example1d.sh +15 -0
- data/examples/ex2/tests/test-example2.forms.eyes.sh +40 -0
- data/examples/ex2/tests/test-example2.hover.eyes.sh +40 -0
- data/examples/ex2/tests/test-example2.hover.sh +26 -0
- data/examples/ex2/tests/test-example2.sh +43 -0
- data/examples/ex2/tests/test-example3.sauce.sh +77 -0
- data/examples/ex2/tests/test-example3.sh +41 -0
- data/examples/headless/run.sh +15 -0
- data/examples/http/sendreq.rb +29 -0
- data/examples/js.rb +48 -0
- data/lib/scoutui/base/test_data.rb +6 -0
- data/lib/scoutui/commands/click_object.rb +7 -1
- data/lib/scoutui/eyes/utils.rb +36 -7
- data/lib/scoutui/version.rb +1 -1
- data/scoutui.gemspec +4 -3
- metadata +62 -17
- data/examples/ex1/phantom.chrome.json +0 -4
- data/examples/ex1/run.sh +0 -85
- data/examples/ex1/simple.yml +0 -13
- data/examples/ex1/win10.chromebeta.json +0 -6
- data/lib/scoutui/base/q_har_mgr.rb +0 -63
data/lib/scoutui/eyes/utils.rb
CHANGED
@@ -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
|
-
|
60
|
-
|
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
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
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
|
data/lib/scoutui/version.rb
CHANGED
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.
|
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"
|
35
|
+
spec.add_development_dependency "sauce_whisk"
|
36
36
|
spec.add_development_dependency "testmgr", ">= 0.3.2.pre"
|
37
|
-
spec.add_development_dependency "
|
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-
|
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.
|
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.
|
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
|
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
|
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.
|
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.
|
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/
|
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:
|
353
|
+
version: 1.3.1
|
309
354
|
requirements: []
|
310
355
|
rubyforge_project:
|
311
356
|
rubygems_version: 2.6.2
|
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
|
-
|
data/examples/ex1/simple.yml
DELETED
@@ -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
|