scoutui 2.0.3.56.pre → 2.0.3.57.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/bin/scoutui_driver +1 -0
- data/lib/scoutui/base/visual_test_framework.rb +41 -12
- data/lib/scoutui/commands/clauses/do_until.rb +4 -0
- data/lib/scoutui/commands/click_object.rb +3 -2
- data/lib/scoutui/version.rb +1 -1
- data/scoutui.gemspec +2 -1
- metadata +19 -26
- data/examples/benchmark/ex_benchmark.rb +0 -16
- data/examples/carmax/appmodel/main.nav.json +0 -48
- data/examples/carmax/tests/test-carmax.sh +0 -104
- data/examples/ci_reporter/ci_example.rb +0 -46
- data/examples/cmdshell/commands/cmd.yml +0 -92
- data/examples/cmdshell/commands/hello.sh +0 -5
- data/examples/converters/jsony.rb +0 -36
- data/examples/data_driven/data/queries.yml +0 -10
- data/examples/data_driven/data/requirements.yml +0 -8
- data/examples/db/sqlclient.rb +0 -39
- data/examples/enums/my_enum.rb +0 -30
- data/examples/ex6/appmodel/model.json +0 -10
- data/examples/ex6/tests/test.sh +0 -103
- data/examples/eyes/diff.rb +0 -114
- data/examples/eyes/ex1.spec.rb +0 -45
- data/examples/eyes/ex2.rb +0 -23
- data/examples/eyes_results/response.json +0 -372
- data/examples/screenshot/fullshot.rb +0 -66
- data/examples/shell/run_shell.rb +0 -45
- data/examples/shell/runit.sh +0 -4
- data/examples/yaml/dut.yml +0 -5
- data/examples/yaml/ex_yaml.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e7e0c96bd8d139c2267806a2c7859c98de00141
|
4
|
+
data.tar.gz: 8ff1e669ca8791686138a75b996addca919ecf5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 539d55d57c15b8b6cd5b52f9bff5ae105bdc4911ec780b26b48a4247f37d8b26649da83b3e81bbb9ca376a3b7ab649b7f30fce1561a464872942acce68464b37
|
7
|
+
data.tar.gz: cda66bb0d63614c4c1760df13ed9e233cc588d864792d1e8c2a75e1c16baa224ea40e3846053f3ccb982492e61fd212b24a8509c2ddf00e112687e70348483e1
|
data/bin/scoutui_driver
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
scoutui_driver.rb
|
@@ -296,9 +296,23 @@ module Scoutui::Base
|
|
296
296
|
def self.isSnapIt(e)
|
297
297
|
_snapit=false
|
298
298
|
|
299
|
-
|
300
|
-
|
299
|
+
begin
|
300
|
+
|
301
|
+
if e[STEP_KEY].has_key?("snapit")
|
302
|
+
|
303
|
+
if e[STEP_KEY]["snapit"].is_a?(String)
|
304
|
+
_snapit = !(e[STEP_KEY]["snapit"].to_s.match(/\s*(true|yes|y)\s*$/i).nil?)
|
305
|
+
elsif e[STEP_KEY]["snapit"].is_a?(TrueClass)
|
306
|
+
_snapit = e[STEP_KEY]["snapit"]
|
307
|
+
end
|
308
|
+
|
309
|
+
end
|
310
|
+
|
311
|
+
rescue => ex
|
312
|
+
Scoutui::Logger::LogMgr.instance.warn "Error during processing: #{ex}"
|
313
|
+
Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
|
301
314
|
end
|
315
|
+
|
302
316
|
_snapit
|
303
317
|
end
|
304
318
|
|
@@ -426,23 +440,28 @@ module Scoutui::Base
|
|
426
440
|
elsif _a.match(/^\s*(focused\.[Tt]ext\((.*)\))\s*$/)
|
427
441
|
|
428
442
|
_targetTxt = _a.match(/^\s*(focused.[Tt]ext\((.*)\))\s*$/)[2].to_s
|
443
|
+
_activeElt=nil
|
429
444
|
|
430
|
-
|
445
|
+
_bm=Benchmark.measure {
|
446
|
+
_activeElt = my_driver.switch_to.active_element
|
447
|
+
|
448
|
+
if !_activeElt.nil?
|
449
|
+
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " target.text : |#{_targetTxt}|"
|
450
|
+
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " activeElt.text : |#{_activeElt.text.to_s}|"
|
431
451
|
|
432
|
-
|
433
|
-
|
434
|
-
|
452
|
+
if _activeElt.attribute('value')
|
453
|
+
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " activeElt.value : |#{_activeElt.attribute('value').to_s}|"
|
454
|
+
end
|
435
455
|
|
436
|
-
|
437
|
-
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "
|
456
|
+
_rc=!(_activeElt.text.to_s.match(/#{_targetTxt}/).nil?)
|
457
|
+
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " FocusedText : #{_activeElt.text} => #{_rc}"
|
438
458
|
end
|
459
|
+
}
|
439
460
|
|
440
|
-
|
441
|
-
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "
|
461
|
+
if _activeElt.is_a?(Selenium::WebDriver::Element)
|
462
|
+
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ASSERT: focusTxt: #{_targetTxt} vs #{_activeElt.text} => #{_rc}"
|
442
463
|
end
|
443
464
|
|
444
|
-
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ASSERT: focusTxt: #{_targetTxt} vs #{_activeElt.text} => #{_rc}"
|
445
|
-
|
446
465
|
elsif _a.match(/^\s*(req|requirement)\s*\((.*)\)\s*$/i)
|
447
466
|
|
448
467
|
_reqID=_a.match(/^\s*(req|requirement)\s*\((.*)\)\s*$/i)[2].to_s
|
@@ -962,10 +981,14 @@ module Scoutui::Base
|
|
962
981
|
_testcase = e[STEP_KEY]["testcase"]
|
963
982
|
_execute_when = e[STEP_KEY]["execute_when"]
|
964
983
|
_use_frames = e[STEP_KEY]["frames"]
|
984
|
+
_snapit = e[STEP_KEY]["snapit"]
|
985
|
+
|
965
986
|
|
966
987
|
|
967
988
|
Scoutui::Commands::Utils.instance.reset(e)
|
968
989
|
|
990
|
+
puts __FILE__ + (__LINE__).to_s + " page => #{e}"
|
991
|
+
|
969
992
|
if e[STEP_KEY].has_key?("timeout")
|
970
993
|
Scoutui::Commands::Utils.instance.setTimeout(e[STEP_KEY]["timeout"])
|
971
994
|
end
|
@@ -975,6 +998,7 @@ module Scoutui::Base
|
|
975
998
|
Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " name: #{_name}"
|
976
999
|
Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " url : #{_url}"
|
977
1000
|
Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " skip: #{_skip}"
|
1001
|
+
Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " snapit: #{_snapit}"
|
978
1002
|
Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " region: #{_region}"
|
979
1003
|
Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " reqid: #{_reqid}"
|
980
1004
|
end
|
@@ -1429,6 +1453,11 @@ module Scoutui::Base
|
|
1429
1453
|
|
1430
1454
|
rescue => ex
|
1431
1455
|
"Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
|
1456
|
+
|
1457
|
+
Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " abort processing."
|
1458
|
+
Scoutui::Logger::LogMgr.instance.warn "Error during processing: #{ex}"
|
1459
|
+
Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
|
1460
|
+
|
1432
1461
|
end
|
1433
1462
|
|
1434
1463
|
next
|
@@ -94,6 +94,10 @@ module Scoutui::Commands
|
|
94
94
|
if untilList.is_a?(Array) && untilList.size==1 && untilList[0]==true
|
95
95
|
_expected=false
|
96
96
|
_alwaystrue=true
|
97
|
+
elsif untilList.is_a?(Array) && untilList.size==1 && untilList[0]==false
|
98
|
+
_loop=false
|
99
|
+
_bUntil=true
|
100
|
+
_alwaystrue=true
|
97
101
|
else
|
98
102
|
_expected=Scoutui::Base::VisualTestFramework::processAsserts(@drv, untilList, false)
|
99
103
|
end
|
@@ -154,11 +154,12 @@ module Scoutui::Commands
|
|
154
154
|
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " clicked(#{_locator}): #{_clicked}"
|
155
155
|
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " o isWebDriverElement : #{obj.is_a?(Selenium::WebDriver::Element)}"
|
156
156
|
|
157
|
-
|
157
|
+
# isEnabled = obj.enabled? if obj.is_a?(Selenium::WebDriver::Element)
|
158
158
|
|
159
159
|
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " o enabled : #{isEnabled}"
|
160
160
|
|
161
|
-
|
161
|
+
# if obj.is_a?(Selenium::WebDriver::Element) && !obj.enabled?
|
162
|
+
if !isEnabled.nil? && !isEnabled
|
162
163
|
Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + "o Attemping to click a disabled element : #{_locator}"
|
163
164
|
end
|
164
165
|
|
data/lib/scoutui/version.rb
CHANGED
data/scoutui.gemspec
CHANGED
@@ -25,8 +25,9 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "bundler"
|
26
26
|
spec.add_development_dependency "rake"
|
27
27
|
spec.add_development_dependency "rspec"
|
28
|
+
spec.add_development_dependency "nokogiri", "1.6.7.2"
|
28
29
|
spec.add_development_dependency "eyes_selenium", ">= 2.33"
|
29
|
-
spec.add_development_dependency "selenium-webdriver", "
|
30
|
+
spec.add_development_dependency "selenium-webdriver", "2.53.4"
|
30
31
|
spec.add_development_dependency "httparty", ">=0.13.7"
|
31
32
|
spec.add_development_dependency "json", ">= 1.8.3"
|
32
33
|
spec.add_development_dependency "faker"
|
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.3.
|
4
|
+
version: 2.0.3.57.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: 2016-12-
|
11
|
+
date: 2016-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: nokogiri
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.6.7.2
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.6.7.2
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: eyes_selenium
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,14 +84,14 @@ dependencies:
|
|
70
84
|
name: selenium-webdriver
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - '='
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: 2.53.4
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - '='
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: 2.53.4
|
83
97
|
- !ruby/object:Gem::Dependency
|
@@ -223,25 +237,15 @@ 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
|
228
243
|
- examples/benchmark/ex.rb
|
229
|
-
- examples/benchmark/ex_benchmark.rb
|
230
244
|
- examples/capabilities/win10.chrome46.json
|
231
|
-
- examples/carmax/appmodel/main.nav.json
|
232
245
|
- examples/carmax/appmodel/search_results.json
|
233
246
|
- examples/carmax/commands/commands.yml
|
234
|
-
- examples/carmax/tests/test-carmax.sh
|
235
|
-
- examples/ci_reporter/ci_example.rb
|
236
|
-
- examples/cmdshell/commands/cmd.yml
|
237
|
-
- examples/cmdshell/commands/hello.sh
|
238
247
|
- examples/cmdshell/commands/hello.yml
|
239
248
|
- examples/converters/jsonupdate.rb
|
240
|
-
- examples/converters/jsony.rb
|
241
|
-
- examples/data_driven/data/queries.yml
|
242
|
-
- examples/data_driven/data/requirements.yml
|
243
|
-
- examples/db/sqlclient.rb
|
244
|
-
- examples/enums/my_enum.rb
|
245
249
|
- examples/ex1/commands.holidays.yml
|
246
250
|
- examples/ex1/commands.yml
|
247
251
|
- examples/ex1/test-example.sh
|
@@ -272,17 +276,6 @@ files:
|
|
272
276
|
- examples/ex2/tests/test-example2.sh
|
273
277
|
- examples/ex2/tests/test-example3.sauce.sh
|
274
278
|
- examples/ex2/tests/test-example3.sh
|
275
|
-
- examples/ex6/appmodel/model.json
|
276
|
-
- examples/ex6/tests/test.sh
|
277
|
-
- examples/eyes/diff.rb
|
278
|
-
- examples/eyes/ex1.spec.rb
|
279
|
-
- examples/eyes/ex2.rb
|
280
|
-
- examples/eyes_results/response.json
|
281
|
-
- examples/screenshot/fullshot.rb
|
282
|
-
- examples/shell/run_shell.rb
|
283
|
-
- examples/shell/runit.sh
|
284
|
-
- examples/yaml/dut.yml
|
285
|
-
- examples/yaml/ex_yaml.rb
|
286
279
|
- lib/scoutui.rb
|
287
280
|
- lib/scoutui/appmodel/q_model.rb
|
288
281
|
- lib/scoutui/base/assertions.rb
|
@@ -1,48 +0,0 @@
|
|
1
|
-
{
|
2
|
-
|
3
|
-
|
4
|
-
"main": {
|
5
|
-
|
6
|
-
|
7
|
-
"nav": {
|
8
|
-
|
9
|
-
"home": {
|
10
|
-
"locator": "css=.page-header--logo",
|
11
|
-
"visible_when": "always"
|
12
|
-
},
|
13
|
-
|
14
|
-
|
15
|
-
"findYourCar": {
|
16
|
-
"locator": "//a[text()='Find Your Car']",
|
17
|
-
"visible_when": "always"
|
18
|
-
},
|
19
|
-
|
20
|
-
"basic_search": {
|
21
|
-
"locator": "//nav//a[@href='/search']",
|
22
|
-
"visible_when": "always"
|
23
|
-
}
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
}
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
},
|
32
|
-
|
33
|
-
|
34
|
-
"basic_search": {
|
35
|
-
"free_text": {
|
36
|
-
"locator": "//input[@name='FreeText']",
|
37
|
-
"visible_when": "always"
|
38
|
-
},
|
39
|
-
|
40
|
-
"go": {
|
41
|
-
"locator": "//button[text()='Go']",
|
42
|
-
"visible_when": "always"
|
43
|
-
}
|
44
|
-
}
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
}
|
@@ -1,104 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
|
4
|
-
##
|
5
|
-
# Pre-req - Sauce Connect is running
|
6
|
-
##
|
7
|
-
|
8
|
-
setup()
|
9
|
-
{
|
10
|
-
HOST="https://www.carmax.com"
|
11
|
-
CAPS="--capabilities ../../common/capabilities/win10.chrome50.json"
|
12
|
-
CAPS="--capabilities ../capabilities/win10.ff46.json"
|
13
|
-
# CAPS=
|
14
|
-
# CAPS="--sauce:browser chrome --sauce:platform \"Windows 10\" --sauce:version 46.0 --sauce:resolution 1024x768"
|
15
|
-
|
16
|
-
USER_ID="terrybrown@commasavvy.com"
|
17
|
-
PASSWORD="password1"
|
18
|
-
TESTCFG=../testconfig/test.config.json
|
19
|
-
|
20
|
-
|
21
|
-
TITLE="CARMAX"
|
22
|
-
VIEWPORT="1024x768"
|
23
|
-
|
24
|
-
MODEL="../appmodel/main.nav.json,../appmodel/search_results.json"
|
25
|
-
|
26
|
-
EYES="--eyes --app ${TITLE} --title ${TITLE} --match layout2"
|
27
|
-
EYES=
|
28
|
-
|
29
|
-
SAUCE="--sauce --sauce_name ${TITLE}"
|
30
|
-
# SAUCE="--browser chrome"
|
31
|
-
|
32
|
-
CMD="../commands/commands.yml"
|
33
|
-
CMD="../commands/basic_search.yml"
|
34
|
-
|
35
|
-
CMD="../commands/home.commands.yml"
|
36
|
-
|
37
|
-
}
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
run1()
|
42
|
-
{
|
43
|
-
|
44
|
-
EYES=
|
45
|
-
EYES="--eyes --app ${TITLE}.1280 --title ${TITLE} --match layout2"
|
46
|
-
VIEWPORT="--viewport 1024x670"
|
47
|
-
# VIEWPORT="--viewport 1024x722"
|
48
|
-
VIEWPORT=
|
49
|
-
# --sauce:platform "Windows 10" --sauce:build SmokeEx --sauce:name Smokes --sauce:browsername "MicrosoftEdge" --sauce:browser "MS Edge 13.10586" --sauce:version "13.10586" --sauce:resolution "1280x1024" \
|
50
|
-
|
51
|
-
ruby $SCOUTUI_BIN \
|
52
|
-
--config ${TESTCFG} \
|
53
|
-
--user "expense.admin@scoutui.com" --password password1 \
|
54
|
-
${EYES} ${VIEWPORT} \
|
55
|
-
--diff /tmp/vt \
|
56
|
-
--eyes:run true \
|
57
|
-
--eyes:viewport 1024x670 \
|
58
|
-
--eyes:app "CarMaxTestApp" \
|
59
|
-
--eyes:title "CarMaxTitle" \
|
60
|
-
--sauce:run false \
|
61
|
-
--sauce:platform "Windows 10" \
|
62
|
-
--sauce:build SmokeEx \
|
63
|
-
--sauce:name Smokes \
|
64
|
-
--sauce:browser "chrome" \
|
65
|
-
--sauce:version "beta" \
|
66
|
-
--sauce:resolution "1280x1024" \
|
67
|
-
--host ${HOST} \
|
68
|
-
--pages ${MODEL} \
|
69
|
-
--debug \
|
70
|
-
--dut "${CMD}"
|
71
|
-
|
72
|
-
}
|
73
|
-
|
74
|
-
run2()
|
75
|
-
{
|
76
|
-
|
77
|
-
CAPS="--capabilities ../capabilities/win10.ff46.json"
|
78
|
-
|
79
|
-
ruby $SCOUTUI_BIN \
|
80
|
-
--config ${TESTCFG} \
|
81
|
-
--user "expense.admin@scoutui.com" --password password1 \
|
82
|
-
${EYES} \
|
83
|
-
--diff /tmp/vt \
|
84
|
-
--viewport ${VIEWPORT} \
|
85
|
-
${SAUCE} \
|
86
|
-
${CAPS} \
|
87
|
-
--sauce:platform PETER.0 \
|
88
|
-
--host ${HOST} \
|
89
|
-
--pages ${MODEL} \
|
90
|
-
--debug \
|
91
|
-
--dut "${CMD}"
|
92
|
-
|
93
|
-
}
|
94
|
-
|
95
|
-
# --sauce:browser chrome --sauce:platform "Windows 10" \
|
96
|
-
|
97
|
-
setup
|
98
|
-
|
99
|
-
mkdir -p /tmp/vt
|
100
|
-
run1
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'nokogiri'
|
2
|
-
# http://stackoverflow.com/questions/10300095/how-to-add-child-nodes-in-nodeset-using-nokogiri
|
3
|
-
|
4
|
-
def addSkipped(node, doc)
|
5
|
-
skipped = Nokogiri::XML::Node.new('skipped', doc)
|
6
|
-
node.add_child skipped
|
7
|
-
end
|
8
|
-
|
9
|
-
xml=Nokogiri::XML::Builder.new
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
doc = Nokogiri::XML("<testsuites></testsuites>")
|
14
|
-
|
15
|
-
xml.testsuites=doc
|
16
|
-
|
17
|
-
## Add a node
|
18
|
-
ts = Nokogiri::XML::Node.new('testcase', doc)
|
19
|
-
|
20
|
-
#ts.content='pass'
|
21
|
-
ts.set_attribute('name', 'my testcase')
|
22
|
-
ts.set_attribute('classname', 'scoutui.assert')
|
23
|
-
ts.set_attribute('time', 29)
|
24
|
-
|
25
|
-
#skipped = Nokogiri::XML::Node.new('skipped', doc)
|
26
|
-
#ts.add_child skipped
|
27
|
-
addSkipped(ts, doc)
|
28
|
-
doc.root.add_child ts
|
29
|
-
|
30
|
-
|
31
|
-
node_set = Nokogiri::XML::NodeSet.new(doc)
|
32
|
-
|
33
|
-
|
34
|
-
sys_out = Nokogiri::XML::Node.new('system-out', doc)
|
35
|
-
sys_out.content='my STDOUT dump'
|
36
|
-
doc.root.add_child(sys_out)
|
37
|
-
|
38
|
-
sys_err = Nokogiri::XML::Node.new('system-err', doc)
|
39
|
-
sys_err.content='my STDERR dump'
|
40
|
-
doc.root.add_child(sys_err)
|
41
|
-
|
42
|
-
puts doc.to_s
|
43
|
-
|
44
|
-
puts '-' * 72
|
45
|
-
puts xml.to_xml
|
46
|
-
|
@@ -1,92 +0,0 @@
|
|
1
|
-
page:
|
2
|
-
name: Define ls command
|
3
|
-
description: Define a command and assign it an identifier
|
4
|
-
action: defineCommand
|
5
|
-
id: LS
|
6
|
-
commands: "/tmp/hello.sh"
|
7
|
-
---
|
8
|
-
page:
|
9
|
-
name: Exeucte a defined command
|
10
|
-
description: Execute a command(s) by referencing its id.
|
11
|
-
comment: yml[n]['page']['commands'][n]['id']
|
12
|
-
action: executeCommands
|
13
|
-
commands:
|
14
|
-
- id: LS
|
15
|
-
asserts:
|
16
|
-
- /Peter/
|
17
|
-
- /ScoutUI
|
18
|
-
---
|
19
|
-
page:
|
20
|
-
name: GetExit
|
21
|
-
description: GetExit
|
22
|
-
action: getExitStatus
|
23
|
-
id: LS
|
24
|
-
---
|
25
|
-
page:
|
26
|
-
name: Retrieve results for LS
|
27
|
-
getResults:
|
28
|
-
id: LS
|
29
|
-
---
|
30
|
-
page:
|
31
|
-
name: Extract specific values from results
|
32
|
-
getResults:
|
33
|
-
id: LS
|
34
|
-
capture: /(World)/
|
35
|
-
assignto: myHit
|
36
|
-
---
|
37
|
-
page:
|
38
|
-
name: Type
|
39
|
-
action: type(//*[@id='uh-search-box'], ${myHit})
|
40
|
-
---
|
41
|
-
page:
|
42
|
-
name: Pause after LS
|
43
|
-
action: pause
|
44
|
-
skip: false
|
45
|
-
---
|
46
|
-
page:
|
47
|
-
name: Load command with action
|
48
|
-
action: defineCommand
|
49
|
-
id: findTmp
|
50
|
-
commands: whoami
|
51
|
-
---
|
52
|
-
page:
|
53
|
-
name: Define command with multiple cmds
|
54
|
-
action: defineCommand
|
55
|
-
id: MultiLs
|
56
|
-
commands:
|
57
|
-
- ls
|
58
|
-
- echo "ScoutUI"
|
59
|
-
---
|
60
|
-
page:
|
61
|
-
name: Execute cmd with multple commands
|
62
|
-
command:
|
63
|
-
id: MultiLs
|
64
|
-
---
|
65
|
-
page:
|
66
|
-
name: Retrieve results
|
67
|
-
getResults:
|
68
|
-
id: MultiLs
|
69
|
-
---
|
70
|
-
page:
|
71
|
-
name: Execute
|
72
|
-
command:
|
73
|
-
id: findTmp
|
74
|
-
---
|
75
|
-
page:
|
76
|
-
name: Retrieve findTmp
|
77
|
-
getResults:
|
78
|
-
id: findTmp
|
79
|
-
---
|
80
|
-
page:
|
81
|
-
name: Pause after findTmp
|
82
|
-
action: pause
|
83
|
-
skip: false
|
84
|
-
---
|
85
|
-
page:
|
86
|
-
name: Retrieve
|
87
|
-
getResults:
|
88
|
-
id: LS
|
89
|
-
---
|
90
|
-
page:
|
91
|
-
action: pause
|
92
|
-
skip: false
|
@@ -1,36 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'yaml'
|
4
|
-
require 'json'
|
5
|
-
require 'optparse'
|
6
|
-
require 'ostruct'
|
7
|
-
require 'fileutils'
|
8
|
-
|
9
|
-
#quit unless our script gets two command line arguments
|
10
|
-
unless ARGV.length == 3
|
11
|
-
puts "Dude, not the right number of arguments."
|
12
|
-
puts "Usage: ruby YJ_Convert.rb [-j][-y] json_file.json yaml_file.yaml\n"
|
13
|
-
exit
|
14
|
-
end
|
15
|
-
|
16
|
-
$json_file = ARGV[1]
|
17
|
-
$yaml_file = ARGV[2]
|
18
|
-
|
19
|
-
options = OpenStruct.new
|
20
|
-
OptionParser.new do |opt|
|
21
|
-
opt.on('-j', '--json', 'Convert to JSON') { |o| options.json = o }
|
22
|
-
opt.on('-y', '--yaml', 'Convert to YAML') { |o| options.yaml = o }
|
23
|
-
end.parse!
|
24
|
-
|
25
|
-
case
|
26
|
-
when options.yaml == true
|
27
|
-
y_file = File.open("#{$yaml_file}", 'a')
|
28
|
-
y_file.write(YAML.dump(JSON.parse(IO.read($json_file))))
|
29
|
-
y_file.close
|
30
|
-
puts "Converted to YAML. Output file is #{$yaml_file}"
|
31
|
-
|
32
|
-
when options.json == true
|
33
|
-
j_file = YAML.load_file(File.open("#{$yaml_file}", 'r'))
|
34
|
-
File.write "#{$json_file}", JSON.pretty_generate(j_file)
|
35
|
-
puts "Converted to JSON. Output file is #{$json_file}"
|
36
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
CT_Jobs_Run:
|
2
|
-
name: CTE Query I
|
3
|
-
description: SQL Query used for Invoice
|
4
|
-
query1: use p0170036ou8o_000 select JR_KEY, JD_KEY, STATUS_CODE FROM CT_JOB_RUN WHERE START_TIME > '2013-09-17' AND END_TIME < '2013-10-17'
|
5
|
-
query2: use p0170036ou8o_000 select JR_KEY, JD_KEY, STATUS_CODE FROM CT_JOB_RUN WHERE START_TIME > '2013-09-17' AND END_TIME < '2013-10-17'
|
6
|
-
---
|
7
|
-
CT_All:
|
8
|
-
name: CTE Query I
|
9
|
-
description: SQL Query used for Invoice all 2016
|
10
|
-
query: use p0170036ou8o_000 select JR_KEY, JD_KEY, STATUS_CODE FROM CT_JOB_RUN WHERE START_TIME > '2016-01-01' AND END_TIME < '2016-0817'
|
data/examples/db/sqlclient.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'tiny_tds'
|
3
|
-
require 'yaml'
|
4
|
-
|
5
|
-
# http://stackoverflow.com/questions/22579000/convert-array-hash-to-yaml-in-ruby-on-rails
|
6
|
-
def run(q)
|
7
|
-
begin
|
8
|
-
client = TinyTds::Client.new username: 'sa', password: '4wg', host: 'rqa3-sql02', port: 2080
|
9
|
-
rc=nil
|
10
|
-
|
11
|
-
if client.active?
|
12
|
-
rc=client.execute(q)
|
13
|
-
|
14
|
-
puts "rc : #{rc.class} : #{rc}"
|
15
|
-
|
16
|
-
h={}
|
17
|
-
|
18
|
-
if rc.is_a?(TinyTds::Result)
|
19
|
-
rc.each_with_index do |row, i|
|
20
|
-
|
21
|
-
h[i]=row
|
22
|
-
|
23
|
-
puts "#{i}. #{row.class} : #{row}"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
puts h.to_yaml
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
rescue => ex
|
32
|
-
;
|
33
|
-
ensure
|
34
|
-
client.close
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
q="use p0170036ou8o_000 select JR_KEY, JD_KEY, STATUS_CODE FROM CT_JOB_RUN WHERE START_TIME > '2013-09-17' AND END_TIME < '2013-10-17'"
|
39
|
-
run(q)
|