scoutui 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
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
-