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
@@ -1,125 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
-
4
-
5
- #VIEXPORT="--viewport 800x600"
6
-
7
- while getopts ":a:b:c:d:eh:il:m:p:r:st:u:A:P:O:S:T:V:vw:" opt; do
8
- case $opt in
9
- a)
10
- echo "-a was triggered, Parameter: $OPTARG" >&2
11
- ;;
12
- b)
13
- BROWSER="--browser $OPTARG"
14
-
15
- if [[ $BROWSER=="chrome" ]];
16
- then
17
- rc=`/usr/local/bin/which chromedriver`
18
- if [ $? -ne 0 ]
19
- then
20
- echo "-- Error: unable to find chromedriver. --"
21
- exit 2
22
- fi
23
-
24
- fi
25
- ;;
26
- c)
27
- CAPS="--capabilities $OPTARG"
28
- ;;
29
- d)
30
- DUT="--dut $OPTARG"
31
- ;;
32
- e)
33
- EYES="--eyes"
34
- ;;
35
- h)
36
- HOST="--host \"$OPTARG\""
37
- ;;
38
- i)
39
- INC_EXP="--include_expectations"
40
- ;;
41
- l)
42
- LEVEL="--loglevel $OPTARG"
43
- ;;
44
- m)
45
- MATCH_LEVEL="--match $OPTARG"
46
- ;;
47
- p)
48
- PASSWORD="--password $OPTARG"
49
- ;;
50
- r)
51
- ROLE="--role $OPTARG"
52
- ;;
53
- s)
54
- SAUCE="--sauce"
55
- ;;
56
- S)
57
- SAUCE_NAME="--sauce_name $OPTARG"
58
- ;;
59
- t)
60
- TEST_CFG="$OPTARG"
61
- ;;
62
- u)
63
- USERID="--user $OPTARG"
64
- ;;
65
- v)
66
- VERBOSE="--debug"
67
- ;;
68
- w)
69
- DEFAULT_WAIT="--wait $OPTARG"
70
- ;;
71
- A)
72
- APP="--app $OPTARG"
73
- ;;
74
- O)
75
- mkdir -p $OPTARGET 2>/dev/null
76
- DIFF_DIR="--diffs $OPTARG"
77
- ;;
78
- P)
79
- PAGE_MODEL="--pages $OPTARG"
80
- ;;
81
- T)
82
- TITLE="--title $OPTARG"
83
- ;;
84
- V)
85
- VIEWPORT="--viewport $OPTARG"
86
- ;;
87
- \?)
88
- echo "Invalid option: -$OPTARG" >&2
89
- exit 1
90
- ;;
91
- :)
92
- echo "Option -$OPTARG requires an argument." >&2
93
- exit 1
94
- ;;
95
- esac
96
- done
97
-
98
- echo "BROWSER: ${BROWSER}"
99
- echo "EYES : ${EYES}"
100
- echo "HOST : ${HOST}"
101
- echo "VERBOSE: ${VERBOSE}"
102
- echo "MATCH: ${MATCH_LEVEL}"
103
- echo "SAUCE: ${SAUCE}"
104
- echo "CAPS: ${CAPS}"
105
- echo "DUT: ${DUT}"
106
- echo "TITLE: ${TITLE}"
107
- echo "APP: ${APP}"
108
- echo "VIEWPORT: ${VIEWPORT}"
109
-
110
-
111
- # --dut ../commands/login.fail.yml
112
- #TITLE="--title DEMO-XYZ"
113
- #APP="--app LOC.ALL-HANDS"
114
- #PAGE_MODEL="--pages ../appmodels/page_model.cge.json,../appmodels/page_model.traveler.json,../appmodels/page_model.common_bar.json"
115
-
116
- if [[ -f $TEST_CFG ]]; then
117
-
118
- CMD="ruby $SCOUTUI_BIN --config ${TEST_CFG} ${INC_EXP} ${DIFF_DIR} ${LEVEL} ${USERID} ${PASSWORD} ${DUT} ${VIEWPORT} ${ROLE} ${EYES} ${SAUCE} ${SAUCE_NAME} $TITLE ${APP} ${CAPS} ${MATCH_LEVEL} ${BROWSER} ${HOST} ${PAGE_MODEL} ${DEFAULT_WAIT} ${VERBOSE}"
119
-
120
- echo $CMD
121
- eval $CMD
122
- else
123
- echo "Error: unable to access ${TEST_CFG}."
124
- exit 1
125
- fi
@@ -1,14 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # Main test script.
5
- ##
6
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
7
-
8
-
9
- # Specify the test configuration file
10
- TEST_CFG="../test-configs/test.config.basic.json"
11
- APP_MODEL="../appmodel/page_model.json"
12
-
13
-
14
- ./run-test.sh -b chrome -d ../commands/commands.basic.appmodel.yml -P $APP_MODEL -t $TEST_CFG -v
@@ -1,39 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # This test script overrides the provided title and appname (if provided in the test config. file)
5
- #
6
- # Set the APPLITOOLS_API_KEY environment variable with your key.
7
- #
8
- # export APPLITOOLS_API_KEY="__YOUR_KEY_HERE__"
9
- ##
10
- SCOUTUI_BIN=../../../bin/scoutui_driver.rb
11
- # Specify browser under test (chrome, firefox, ie, safari)
12
- BUT=firefox
13
-
14
- # Specify the title and appName needed by Applitools
15
- ## NOTE: If the test configuration file specifies the title and app, it is superseded by the
16
- ## command line options.
17
- TITLE=DEMO-CarMax
18
- APP=Oct2015
19
-
20
- # Specify the test configuration file
21
- TEST_CFG="../test-configs/test.config.json"
22
-
23
- ##
24
- # content
25
- # strict
26
- # exact
27
- # layyout
28
- ##
29
- MATCH_TYPE="layout"
30
-
31
- EYES=--eyes
32
- EYES=
33
-
34
-
35
- # The following command line parameters will override provided title and appName (if provided in test config file)
36
- $SCOUTUI_BIN --config $TEST_CFG --browser $BUT $EYES --app $APP --title $TITLE --match $MATCH_TYPE --pagemodel ../appmodel/page_model.json --debug
37
-
38
- # The following
39
- # $SCOUTUI_BIN --config $TEST_CFG --eyes --match $MATCH_TYPE --browser $BUT
@@ -1,16 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # Load a page and wait for expected elements, however these are
5
- # explicit 'waits' - included in assertions.
6
- #
7
- # The parameter '-i' will include the 'waits' on expected elements
8
- # as assertions (e.g. will be used for pass/fail criteria). The "-i" is used.
9
- ##
10
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
11
-
12
-
13
- # Specify the test configuration file
14
- TEST_CFG="../test-configs/test.config.basic.json"
15
-
16
- ./run-test.sh -b chrome -d ../commands/ex1.yml -t $TEST_CFG -v -i
@@ -1,13 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # Load a page and wait for expected elements, however these are
5
- # explicit 'waits' - WITHOUT assertions (e.g. the "-i" is omitted).
6
- ##
7
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
8
-
9
-
10
- # Specify the test configuration file
11
- TEST_CFG="../test-configs/test.config.basic.json"
12
-
13
- ./run-test.sh -b chrome -d ../commands/ex1.yml -t $TEST_CFG -v
@@ -1,15 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # Load a page and wait for expected elements, however these are
5
- # explicit 'waits' - included in assertions.
6
- #
7
- # Set a default timeout (wait) in seconds when searching/finding for elements.
8
- ##
9
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
10
-
11
-
12
- # Specify the test configuration file
13
- TEST_CFG="../test-configs/test.config.basic.json"
14
-
15
- ./run-test.sh -b chrome -d ../commands/ex1c.yml -t $TEST_CFG -v -w 5 -i
@@ -1,15 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # Load a page and wait for expected elements, however these are
5
- # explicit 'waits' - included in assertions.
6
- #
7
- # Set a default timeout (wait) in seconds when searching/finding for elements.
8
- ##
9
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
10
-
11
-
12
- # Specify the test configuration file
13
- TEST_CFG="../test-configs/test.config.basic.json"
14
-
15
- ./run-test.sh -b chrome -d ../commands/ex1d.yml -t $TEST_CFG -v -w 5
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env bash
2
- #/bin/bash
3
- ##
4
- # Description
5
- ##
6
-
7
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
8
- # Specify browser under test (chrome, firefox, ie, safari)
9
- BUT=firefox
10
-
11
- # Specify the title and appName needed by Applitools
12
- ## NOTE: If the test configuration file specifies the title and app, it is superseded by the
13
- ## command line options.
14
- TITLE=DEMO-CarMax
15
- APP=STPCon-Springx
16
-
17
- # Specify the test configuration file
18
- TEST_CFG="../test-configs/test.config.json"
19
-
20
- ##
21
- # content
22
- # strict
23
- # exact
24
- # layyout
25
- ##
26
- MATCH_TYPE="layout"
27
-
28
-
29
- PM="../appmodel/page_model.json,../appmodel/common.json,../appmodel/register.model.json"
30
-
31
-
32
- eyes() {
33
- ./run-test.sh -b chrome -i -d ../commands/ex2.hover.yml -P "${PM}" -t ../test-configs/test.config.json -v \
34
- -e -m content -T CarMax_Hover -A Ex1 -O /tmp/vt \
35
- -d ../commands/ex.forms.yml
36
- }
37
-
38
-
39
- ./run-test.sh -b firefox -i -d ../commands/ex2.hover.yml -P "${PM}" -t ../test-configs/test.config.json -v \
40
- -d ../commands/ex.forms.yml
@@ -1,40 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # This test script overrides the provided title and appname (if provided in the test config. file)
5
- #
6
- # Set the APPLITOOLS_API_KEY environment variable with your key.
7
- #
8
- # export APPLITOOLS_API_KEY="__YOUR_KEY_HERE__"
9
- ##
10
-
11
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
12
- # Specify browser under test (chrome, firefox, ie, safari)
13
- BUT=firefox
14
-
15
- # Specify the title and appName needed by Applitools
16
- ## NOTE: If the test configuration file specifies the title and app, it is superseded by the
17
- ## command line options.
18
- TITLE=DEMO-CarMax
19
- APP=STPCon-Springx
20
-
21
- # Specify the test configuration file
22
- TEST_CFG="../test-configs/test.config.json"
23
-
24
- ##
25
- # content
26
- # strict
27
- # exact
28
- # layyout
29
- ##
30
- MATCH_TYPE="layout"
31
-
32
-
33
-
34
-
35
-
36
- PM="../appmodel/page_model.json,../appmodel/common.json"
37
-
38
-
39
- ./run-test.sh -b chrome -i -d ../commands/ex2.hover.yml -P "${PM}" -t ../test-configs/test.config.json -v \
40
- -e -m content -T CarMax_Hover -A Ex1 -O /tmp/vt
@@ -1,26 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # This test script overrides the provided title and appname (if provided in the test config. file)
5
- #
6
- # Set the APPLITOOLS_API_KEY environment variable with your key.
7
- #
8
- # export APPLITOOLS_API_KEY="__YOUR_KEY_HERE__"
9
- ##
10
-
11
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
12
- # Specify browser under test (chrome, firefox, ie, safari)
13
- BUT=firefox
14
-
15
- # Specify the title and appName needed by Applitools
16
- ## NOTE: If the test configuration file specifies the title and app, it is superseded by the
17
- ## command line options.
18
- TITLE=DEMO-CarMax
19
- APP=Oct2015
20
-
21
- # Specify the test configuration file
22
- TEST_CFG="../test-configs/test.config.json"
23
-
24
- PM="../appmodel/page_model.json,../appmodel/common.json"
25
-
26
- ./run-test.sh -b chrome -i -d ../commands/ex2.hover.yml -P "${PM}" -t ../test-configs/test.config.json -v
@@ -1,43 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # This test script overrides the provided title and appname (if provided in the test config. file)
5
- #
6
- # Set the APPLITOOLS_API_KEY environment variable with your key.
7
- #
8
- # export APPLITOOLS_API_KEY="__YOUR_KEY_HERE__"
9
- ##
10
- SCOUTUI_BIN=../../../bin/scoutui_driver.rb
11
- # Specify browser under test (chrome, firefox, ie, safari)
12
- BUT=firefox
13
-
14
- # Specify the title and appName needed by Applitools
15
- ## NOTE: If the test configuration file specifies the title and app, it is superseded by the
16
- ## command line options.
17
- TITLE=DEMO-CarMax
18
- APP=Oct2015
19
-
20
- # Specify the test configuration file
21
- TEST_CFG="../test-configs/test.config.json"
22
-
23
- ##
24
- # content
25
- # strict
26
- # exact
27
- # layyout
28
- ##
29
- MATCH_TYPE="layout"
30
-
31
- EYES=--eyes
32
- EYES=
33
-
34
-
35
- # The following command line parameters will override provided title and appName (if provided in test config file)
36
- #$SCOUTUI_BIN --config $TEST_CFG --browser $BUT $EYES --app $APP --title $TITLE --match $MATCH_TYPE --pagemodel ../appmodel/page_model.json --debug
37
-
38
- # The following
39
- # $SCOUTUI_BIN --config $TEST_CFG --eyes --match $MATCH_TYPE --browser $BUT
40
-
41
- PM="../appmodel/page_model.json,../appmodel/common.json"
42
-
43
- ./run-test.sh -b chrome -i -d ../commands/ex2.yml -P "${PM}" -t ../test-configs/test.config.json -v
@@ -1,77 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # This test script overrides the provided title and appname (if provided in the test config. file)
5
- #
6
- # Set the APPLITOOLS_API_KEY environment variable with your key.
7
- #
8
- # export APPLITOOLS_API_KEY="__YOUR_KEY_HERE__"
9
- ##
10
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
11
- # Specify browser under test (chrome, firefox, ie, safari)
12
- BUT=firefox
13
-
14
- # Specify the title and appName needed by Applitools
15
- ## NOTE: If the test configuration file specifies the title and app, it is superseded by the
16
- ## command line options.
17
- TITLE=Carmax_Ex3
18
- APP=Oct2015
19
-
20
- # Specify the test configuration file
21
- TEST_CFG="../test-configs/test.config.json"
22
-
23
- ##
24
- # content
25
- # strict
26
- # exact
27
- # layyout
28
- ##
29
- MATCH_TYPE="layout"
30
-
31
-
32
-
33
- sauce_eyes() {
34
-
35
-
36
-
37
-
38
- ./run-test.sh -b chrome -d ../commands/commands.yml \
39
- -P ../appmodel/page_model.json \
40
- -t ../test-configs/test.config.json \
41
- -v \
42
- -A STP_Example \
43
- -T VH \
44
- -O /tmp/vt \
45
- -e \
46
- -m content \
47
- -s \
48
- -S $TITLE \
49
- -c ../../capabilities/win10.chrome46.json
50
- }
51
-
52
-
53
- sauce() {
54
-
55
- ./run-test.sh -b chrome -d ../commands/commands.yml \
56
- -P ../appmodel/page_model.json \
57
- -t ../test-configs/test.config.json \
58
- -v \
59
- -s \
60
- -w 5 \
61
- -S $TITLE \
62
- -c ../../capabilities/win10.chrome46.json
63
- }
64
-
65
-
66
- local() {
67
-
68
- ./run-test.sh -b chrome -d ../commands/commands.yml \
69
- -P ../appmodel/page_model.json \
70
- -t ../test-configs/test.config.json \
71
- -v \
72
- -w 5 \
73
- -c ../../capabilities/win10.chrome46.json
74
-
75
- }
76
-
77
- sauce
@@ -1,41 +0,0 @@
1
- #/bin/bash
2
- ##
3
- # Description
4
- # This test script overrides the provided title and appname (if provided in the test config. file)
5
- #
6
- # Set the APPLITOOLS_API_KEY environment variable with your key.
7
- #
8
- # export APPLITOOLS_API_KEY="__YOUR_KEY_HERE__"
9
- ##
10
- export SCOUTUI_BIN=../../../bin/scoutui_driver.rb
11
- # Specify browser under test (chrome, firefox, ie, safari)
12
- BUT=firefox
13
-
14
- # Specify the title and appName needed by Applitools
15
- ## NOTE: If the test configuration file specifies the title and app, it is superseded by the
16
- ## command line options.
17
- TITLE=DEMO-CarMax
18
- APP=Oct2015
19
-
20
- # Specify the test configuration file
21
- TEST_CFG="../test-configs/test.config.json"
22
-
23
- ##
24
- # content
25
- # strict
26
- # exact
27
- # layyout
28
- ##
29
- MATCH_TYPE="layout"
30
-
31
- EYES=--eyes
32
- EYES=
33
-
34
-
35
- # The following command line parameters will override provided title and appName (if provided in test config file)
36
- #$SCOUTUI_BIN --config $TEST_CFG --browser $BUT $EYES --app $APP --title $TITLE --match $MATCH_TYPE --pagemodel ../appmodel/page_model.json --debug
37
-
38
- # The following
39
- # $SCOUTUI_BIN --config $TEST_CFG --eyes --match $MATCH_TYPE --browser $BUT
40
-
41
- ./run-test.sh -b chrome -d ../commands/commands.yml -P ../appmodel/page_model.json -t ../test-configs/test.config.json -w 5 -v
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- HOST="http://www.van-halen.com"
4
-
5
- TESTCFG=test.config.json
6
- CMD=commands.yml
7
-
8
-
9
- ruby $SCOUTUI_BIN --config ${TESTCFG} \
10
- --browser phantomjs \
11
- --seleniumserver http://localhost:8001 \
12
- --host "${HOST}" \
13
- --dut ${CMD} --debug
14
-
15
-