scoutui 2.0.1 → 2.0.2

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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/examples/capabilities/win10.chrome46.json +6 -0
  3. data/examples/ex1/test-example.sh +4 -4
  4. data/examples/ex1/test.config.json +1 -1
  5. data/examples/ex2/appmodel/common.json +51 -0
  6. data/examples/ex2/appmodel/page_model.json +106 -0
  7. data/examples/ex2/appmodel/register.model.json +42 -0
  8. data/examples/ex2/commands/commands.basic.appmodel.yml +8 -0
  9. data/examples/ex2/commands/commands.yml +115 -0
  10. data/examples/ex2/commands/ex1.yml +7 -0
  11. data/examples/ex2/commands/ex1c.yml +8 -0
  12. data/examples/ex2/commands/ex1d.yml +22 -0
  13. data/examples/ex2/commands/ex2.hover.yml +43 -0
  14. data/examples/ex2/commands/ex2.yml +24 -0
  15. data/examples/ex2/data.json +6 -0
  16. data/examples/ex2/test-configs/test.config.basic.json +12 -0
  17. data/examples/ex2/{test.config.json → test-configs/test.config.json} +8 -2
  18. data/examples/ex2/tests/run-test.sh +125 -0
  19. data/examples/ex2/tests/test-basic-appmodel.sh +14 -0
  20. data/examples/ex2/{test-example.sh → tests/test-example.sh} +3 -3
  21. data/examples/ex2/tests/test-example1a.sh +16 -0
  22. data/examples/ex2/tests/test-example1b.sh +13 -0
  23. data/examples/ex2/tests/test-example1c.sh +15 -0
  24. data/examples/ex2/tests/test-example1d.sh +15 -0
  25. data/examples/ex2/tests/test-example2.forms.eyes.sh +40 -0
  26. data/examples/ex2/tests/test-example2.hover.eyes.sh +40 -0
  27. data/examples/ex2/tests/test-example2.hover.sh +26 -0
  28. data/examples/ex2/tests/test-example2.sh +43 -0
  29. data/examples/ex2/tests/test-example3.sauce.sh +77 -0
  30. data/examples/ex2/tests/test-example3.sh +41 -0
  31. data/lib/scoutui/appmodel/q_model.rb +105 -0
  32. data/lib/scoutui/base/assertions.rb +570 -10
  33. data/lib/scoutui/base/q_applitools.rb +2 -2
  34. data/lib/scoutui/base/q_browser.rb +38 -5
  35. data/lib/scoutui/base/q_form.rb +7 -7
  36. data/lib/scoutui/base/test_scout.rb +2 -1
  37. data/lib/scoutui/base/user_vars.rb +29 -2
  38. data/lib/scoutui/base/visual_test_framework.rb +308 -24
  39. data/lib/scoutui/commands/click_object.rb +86 -13
  40. data/lib/scoutui/commands/commands.rb +20 -7
  41. data/lib/scoutui/commands/jsalert/action_jsalert.rb +1 -1
  42. data/lib/scoutui/commands/mouse_over.rb +94 -8
  43. data/lib/scoutui/commands/select_object.rb +1 -1
  44. data/lib/scoutui/commands/select_window.rb +43 -0
  45. data/lib/scoutui/commands/strategy.rb +40 -3
  46. data/lib/scoutui/commands/type.rb +99 -11
  47. data/lib/scoutui/commands/update_url.rb +1 -1
  48. data/lib/scoutui/commands/utils.rb +43 -5
  49. data/lib/scoutui/commands/verify_element.rb +38 -7
  50. data/lib/scoutui/eyes/eye_factory.rb +7 -1
  51. data/lib/scoutui/eyes/eye_scout.rb +20 -7
  52. data/lib/scoutui/utils/utils.rb +59 -1
  53. data/lib/scoutui/version.rb +1 -1
  54. data/scoutui.gemspec +5 -4
  55. metadata +77 -39
  56. data/examples/ex2/commands.yml +0 -35
  57. data/examples/ex2/page_model.json +0 -28
@@ -1,3 +1,3 @@
1
1
  module Scoutui
2
- VERSION = "2.0.1"
2
+ VERSION = "2.0.2"
3
3
  end
data/scoutui.gemspec CHANGED
@@ -25,11 +25,12 @@ 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 "eyes_selenium"
28
+ spec.add_development_dependency "eyes_selenium", ">= 2.28"
29
29
  spec.add_development_dependency "selenium-webdriver", ">= 2.47"
30
- spec.add_development_dependency "httparty"
31
- spec.add_development_dependency "json"
30
+ spec.add_development_dependency "httparty", ">=0.13.7"
31
+ spec.add_development_dependency "json", ">= 1.8.3"
32
32
  spec.add_development_dependency "faker"
33
33
  spec.add_development_dependency "logging"
34
- spec.add_development_dependency "testmgr"
34
+ spec.add_development_dependency "sauce_whisk"
35
+ spec.add_development_dependency "testmgr", "0.3.1.pre"
35
36
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scoutui
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Kim
@@ -9,148 +9,162 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2016-03-07 00:00:00.000000000 Z
12
+ date: 2016-04-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: eyes_selenium
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: '2.28'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: '2.28'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: selenium-webdriver
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '2.47'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '2.47'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: httparty
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - '>='
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '0'
90
+ version: 0.13.7
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - '>='
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '0'
97
+ version: 0.13.7
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: json
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: '0'
104
+ version: 1.8.3
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: '0'
111
+ version: 1.8.3
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: faker
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - '>='
116
+ - - ">="
117
117
  - !ruby/object:Gem::Version
118
118
  version: '0'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - '>='
123
+ - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: logging
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - '>='
130
+ - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - '>='
137
+ - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
- name: testmgr
141
+ name: sauce_whisk
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - '>='
144
+ - - ">="
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - '>='
151
+ - - ">="
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: testmgr
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - '='
159
+ - !ruby/object:Gem::Version
160
+ version: 0.3.1.pre
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - '='
166
+ - !ruby/object:Gem::Version
167
+ version: 0.3.1.pre
154
168
  description: Leverage a fully functional e2e framework that's integrated with Applitool's
155
169
  Eyes and Sauce Labs!
156
170
  email:
@@ -159,9 +173,9 @@ executables: []
159
173
  extensions: []
160
174
  extra_rdoc_files: []
161
175
  files:
162
- - .gitignore
163
- - .rspec
164
- - .travis.yml
176
+ - ".gitignore"
177
+ - ".rspec"
178
+ - ".travis.yml"
165
179
  - CODE_OF_CONDUCT.md
166
180
  - Gemfile
167
181
  - LICENSE.txt
@@ -170,14 +184,37 @@ files:
170
184
  - bin/console
171
185
  - bin/scoutui_driver.rb
172
186
  - bin/setup
187
+ - examples/capabilities/win10.chrome46.json
173
188
  - examples/ex1/commands.holidays.yml
174
189
  - examples/ex1/commands.yml
175
190
  - examples/ex1/test-example.sh
176
191
  - examples/ex1/test.config.json
177
- - examples/ex2/commands.yml
178
- - examples/ex2/page_model.json
179
- - examples/ex2/test-example.sh
180
- - examples/ex2/test.config.json
192
+ - examples/ex2/appmodel/common.json
193
+ - examples/ex2/appmodel/page_model.json
194
+ - examples/ex2/appmodel/register.model.json
195
+ - examples/ex2/commands/commands.basic.appmodel.yml
196
+ - examples/ex2/commands/commands.yml
197
+ - examples/ex2/commands/ex1.yml
198
+ - examples/ex2/commands/ex1c.yml
199
+ - examples/ex2/commands/ex1d.yml
200
+ - examples/ex2/commands/ex2.hover.yml
201
+ - examples/ex2/commands/ex2.yml
202
+ - examples/ex2/data.json
203
+ - examples/ex2/test-configs/test.config.basic.json
204
+ - examples/ex2/test-configs/test.config.json
205
+ - examples/ex2/tests/run-test.sh
206
+ - examples/ex2/tests/test-basic-appmodel.sh
207
+ - examples/ex2/tests/test-example.sh
208
+ - examples/ex2/tests/test-example1a.sh
209
+ - examples/ex2/tests/test-example1b.sh
210
+ - examples/ex2/tests/test-example1c.sh
211
+ - examples/ex2/tests/test-example1d.sh
212
+ - examples/ex2/tests/test-example2.forms.eyes.sh
213
+ - examples/ex2/tests/test-example2.hover.eyes.sh
214
+ - examples/ex2/tests/test-example2.hover.sh
215
+ - examples/ex2/tests/test-example2.sh
216
+ - examples/ex2/tests/test-example3.sauce.sh
217
+ - examples/ex2/tests/test-example3.sh
181
218
  - lib/scoutui.rb
182
219
  - lib/scoutui/appmodel/q_model.rb
183
220
  - lib/scoutui/base/assertions.rb
@@ -198,6 +235,7 @@ files:
198
235
  - lib/scoutui/commands/mouse_over.rb
199
236
  - lib/scoutui/commands/pause.rb
200
237
  - lib/scoutui/commands/select_object.rb
238
+ - lib/scoutui/commands/select_window.rb
201
239
  - lib/scoutui/commands/strategy.rb
202
240
  - lib/scoutui/commands/submit_form.rb
203
241
  - lib/scoutui/commands/type.rb
@@ -222,17 +260,17 @@ require_paths:
222
260
  - lib
223
261
  required_ruby_version: !ruby/object:Gem::Requirement
224
262
  requirements:
225
- - - '>='
263
+ - - ">="
226
264
  - !ruby/object:Gem::Version
227
265
  version: '0'
228
266
  required_rubygems_version: !ruby/object:Gem::Requirement
229
267
  requirements:
230
- - - '>='
268
+ - - ">="
231
269
  - !ruby/object:Gem::Version
232
270
  version: '0'
233
271
  requirements: []
234
272
  rubyforge_project:
235
- rubygems_version: 2.4.7
273
+ rubygems_version: 2.6.2
236
274
  signing_key:
237
275
  specification_version: 4
238
276
  summary: Simple yet powerful application model based automation framework.
@@ -1,35 +0,0 @@
1
- page:
2
- name: Home
3
- description: Navigate to a specified URL and wait until the expected elements are present
4
- url: http://www.carmax.com
5
- expected:
6
- wait: page(home).get(cars4sale)
7
- wait2: page(home).get(whyCarMax)
8
- ---
9
- page:
10
- name: Mouseover View Tickets
11
- action: mouseover(page(home).get(whyCarMax))
12
- snapit: true
13
- ---
14
- page:
15
- name: Click - specified by Alias
16
- action: click(${WhyCarMax})
17
- snapit: true
18
- ---
19
- page:
20
- skip: true
21
- action: pause
22
- ---
23
- page:
24
- skip: false
25
- name: Click on Input
26
- action: click(page(main_nav).get(search_input))
27
- snapit: true
28
- ---
29
- page:
30
- action: type(page(main_nav).get(search_input), ${Search_Me})
31
- ---
32
- page:
33
- action: click(page(main_nav).get(search_btn))
34
- expected:
35
- wait: //input[@id='zip']
@@ -1,28 +0,0 @@
1
- {
2
- "home": {
3
- "cars4sale": {
4
- "locator": "//a[text()='Find Cars for Sale']",
5
- "visible_when": "always"
6
- },
7
- "whyCarMax": {
8
- "locator": "//*[@id='header']//a[text()='Why CarMax']",
9
- "visible_when": "always"
10
- },
11
-
12
- "sign_in": {
13
- "locator": "//input[text()='Sign in']",
14
- "visible_when": "always"
15
- }
16
- },
17
-
18
- "main_nav": {
19
- "search_input": "//input[@id='search']",
20
- "search_btn": "//a[@id='search-btn']"
21
- },
22
-
23
-
24
- "search": {
25
- "header": "//title"
26
- }
27
- }
28
-