testcentricity_web 2.4.1 → 2.4.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.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/testcentricity_web/page_objects_helper.rb +28 -62
- data/lib/testcentricity_web/page_sections_helper.rb +25 -62
- data/lib/testcentricity_web/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec8a7e796c363620c3b5ccee97a2d640962d8aeb
|
4
|
+
data.tar.gz: 943b82edd213a076eef244387198686f6091f164
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35e4a72b1a22b01e43fccce613757bcd8521a71fa543334a7510d131c59bf54448341b857ce3f5fa83edb50ee623f0cd3d170fa99a7efcd898838b787cccca24
|
7
|
+
data.tar.gz: 137ca256bb70325b36640edfb0d8c4368032e899b2bb6d9a1a764da101e1d01fa2cbbfc89855ea5d2f7643eb41abedbb0f3345be52aa50f1e318fe88e4d7bbce
|
data/README.md
CHANGED
@@ -924,6 +924,7 @@ the `WEB_BROWSER` Environment Variable must be set to one of the values from the
|
|
924
924
|
`ipad_pro_10_5` |`chrome` |1112 x 834 |landscape |iOS 11
|
925
925
|
`ipad_chrome` |`chrome` |1024 x 768 |landscape |iOS 10 - Mobile Chrome browser for iOS
|
926
926
|
`ipad_firefox` |`chrome` |1024 x 768 |landscape |iOS 10 - Mobile Firefox browser for iOS
|
927
|
+
`ipad_edge` |`chrome` |1024 x 768 |landscape |iOS 10 - Mobile Edge browser for iOS
|
927
928
|
`android_tablet` |`chrome` |1024 x 768 |landscape |Android 3.0
|
928
929
|
`kindle_fire` |`chrome` |1024 x 600 |landscape |
|
929
930
|
`kindle_firehd7` |`chrome` |800 x 480 |landscape |Fire OS 3
|
@@ -1225,6 +1226,7 @@ service(s) that you intend to connect with.
|
|
1225
1226
|
ipad_pro_10_5: WEB_BROWSER=ipad_pro_10_5 HOST_BROWSER=chrome <%= mobile %>
|
1226
1227
|
ipad_chrome: WEB_BROWSER=ipad_chrome HOST_BROWSER=chrome <%= mobile %>
|
1227
1228
|
ipad_firefox: WEB_BROWSER=ipad_firefox HOST_BROWSER=chrome <%= mobile %>
|
1229
|
+
ipad_edge: WEB_BROWSER=ipad_edge HOST_BROWSER=chrome <%= mobile %>
|
1228
1230
|
iphone: WEB_BROWSER=iphone HOST_BROWSER=chrome <%= mobile %>
|
1229
1231
|
iphone4: WEB_BROWSER=iphone4 HOST_BROWSER=chrome <%= mobile %>
|
1230
1232
|
iphone5: WEB_BROWSER=iphone5 HOST_BROWSER=chrome <%= mobile %>
|
@@ -28,12 +28,7 @@ module TestCentricity
|
|
28
28
|
# element :siebel_busy, "//html[contains(@class, 'siebui-busy')]"
|
29
29
|
#
|
30
30
|
def self.element(element_name, locator)
|
31
|
-
|
32
|
-
ivar_name = "@#{element_name}"
|
33
|
-
ivar = instance_variable_get(ivar_name)
|
34
|
-
return ivar if ivar
|
35
|
-
instance_variable_set(ivar_name, TestCentricity::UIElement.new(element_name, self, locator, :page))
|
36
|
-
end
|
31
|
+
define_page_element(element_name, TestCentricity::UIElement, locator)
|
37
32
|
end
|
38
33
|
|
39
34
|
# Declare and instantiate a collection of generic UI Elements for this page object.
|
@@ -59,12 +54,7 @@ module TestCentricity
|
|
59
54
|
# button :login_button, "//input[@id='submit_button']"
|
60
55
|
#
|
61
56
|
def self.button(element_name, locator)
|
62
|
-
|
63
|
-
ivar_name = "@#{element_name}"
|
64
|
-
ivar = instance_variable_get(ivar_name)
|
65
|
-
return ivar if ivar
|
66
|
-
instance_variable_set(ivar_name, TestCentricity::Button.new(element_name, self, locator, :page))
|
67
|
-
end
|
57
|
+
define_page_element(element_name, TestCentricity::Button, locator)
|
68
58
|
end
|
69
59
|
|
70
60
|
# Declare and instantiate a collection of buttons for this page object.
|
@@ -90,12 +80,7 @@ module TestCentricity
|
|
90
80
|
# textfield :password_field, 'consumer_password'
|
91
81
|
#
|
92
82
|
def self.textfield(element_name, locator)
|
93
|
-
|
94
|
-
ivar_name = "@#{element_name}"
|
95
|
-
ivar = instance_variable_get(ivar_name)
|
96
|
-
return ivar if ivar
|
97
|
-
instance_variable_set(ivar_name, TestCentricity::TextField.new(element_name, self, locator, :page))
|
98
|
-
end
|
83
|
+
define_page_element(element_name, TestCentricity::TextField, locator)
|
99
84
|
end
|
100
85
|
|
101
86
|
# Declare and instantiate a collection of text fields for this page object.
|
@@ -179,12 +164,7 @@ module TestCentricity
|
|
179
164
|
# label :rollup_price_label, "//div[contains(@id, 'Rollup Item Price')]"
|
180
165
|
#
|
181
166
|
def self.label(element_name, locator)
|
182
|
-
|
183
|
-
ivar_name = "@#{element_name}"
|
184
|
-
ivar = instance_variable_get(ivar_name)
|
185
|
-
return ivar if ivar
|
186
|
-
instance_variable_set(ivar_name, TestCentricity::Label.new(element_name, self, locator, :page))
|
187
|
-
end
|
167
|
+
define_page_element(element_name, TestCentricity::Label, locator)
|
188
168
|
end
|
189
169
|
|
190
170
|
def self.labels(element_hash)
|
@@ -202,12 +182,7 @@ module TestCentricity
|
|
202
182
|
# link :shopping_basket_link, "//a[@href='shopping_basket']"
|
203
183
|
#
|
204
184
|
def self.link(element_name, locator)
|
205
|
-
|
206
|
-
ivar_name = "@#{element_name}"
|
207
|
-
ivar = instance_variable_get(ivar_name)
|
208
|
-
return ivar if ivar
|
209
|
-
instance_variable_set(ivar_name, TestCentricity::Link.new(element_name, self, locator, :page))
|
210
|
-
end
|
185
|
+
define_page_element(element_name, TestCentricity::Link, locator)
|
211
186
|
end
|
212
187
|
|
213
188
|
def self.links(element_hash)
|
@@ -224,12 +199,7 @@ module TestCentricity
|
|
224
199
|
# table :payments_table, "//table[@class='payments_table']"
|
225
200
|
#
|
226
201
|
def self.table(element_name, locator)
|
227
|
-
|
228
|
-
ivar_name = "@#{element_name}"
|
229
|
-
ivar = instance_variable_get(ivar_name)
|
230
|
-
return ivar if ivar
|
231
|
-
instance_variable_set(ivar_name, TestCentricity::Table.new(element_name, self, locator, :page))
|
232
|
-
end
|
202
|
+
define_page_element(element_name, TestCentricity::Table, locator)
|
233
203
|
end
|
234
204
|
|
235
205
|
def self.tables(element_hash)
|
@@ -247,12 +217,7 @@ module TestCentricity
|
|
247
217
|
# selectlist :gender_select, "//select[@id='customer_gender']"
|
248
218
|
#
|
249
219
|
def self.selectlist(element_name, locator)
|
250
|
-
|
251
|
-
ivar_name = "@#{element_name}"
|
252
|
-
ivar = instance_variable_get(ivar_name)
|
253
|
-
return ivar if ivar
|
254
|
-
instance_variable_set(ivar_name, TestCentricity::SelectList.new(element_name, self, locator, :page))
|
255
|
-
end
|
220
|
+
define_page_element(element_name, TestCentricity::SelectList, locator)
|
256
221
|
end
|
257
222
|
|
258
223
|
def self.selectlists(element_hash)
|
@@ -269,12 +234,7 @@ module TestCentricity
|
|
269
234
|
# list :x_axis_list, 'g.x-axis'
|
270
235
|
#
|
271
236
|
def self.list(element_name, locator)
|
272
|
-
|
273
|
-
ivar_name = "@#{element_name}"
|
274
|
-
ivar = instance_variable_get(ivar_name)
|
275
|
-
return ivar if ivar
|
276
|
-
instance_variable_set(ivar_name, TestCentricity::List.new(element_name, self, locator, :page))
|
277
|
-
end
|
237
|
+
define_page_element(element_name, TestCentricity::List, locator)
|
278
238
|
end
|
279
239
|
|
280
240
|
def self.lists(element_hash)
|
@@ -292,12 +252,7 @@ module TestCentricity
|
|
292
252
|
# image :corporate_logo_image, "//img[@alt='MyCompany_logo']"
|
293
253
|
#
|
294
254
|
def self.image(element_name, locator)
|
295
|
-
|
296
|
-
ivar_name = "@#{element_name}"
|
297
|
-
ivar = instance_variable_get(ivar_name)
|
298
|
-
return ivar if ivar
|
299
|
-
instance_variable_set(ivar_name, TestCentricity::Image.new(element_name, self, locator, :page))
|
300
|
-
end
|
255
|
+
define_page_element(element_name, TestCentricity::Image, locator)
|
301
256
|
end
|
302
257
|
|
303
258
|
def self.images(element_hash)
|
@@ -314,12 +269,7 @@ module TestCentricity
|
|
314
269
|
# filefield :attach_file, 's_SweFileName'
|
315
270
|
#
|
316
271
|
def self.filefield(element_name, locator)
|
317
|
-
|
318
|
-
ivar_name = "@#{element_name}"
|
319
|
-
ivar = instance_variable_get(ivar_name)
|
320
|
-
return ivar if ivar
|
321
|
-
instance_variable_set(ivar_name, TestCentricity::FileField.new(element_name, self, locator, :page))
|
322
|
-
end
|
272
|
+
define_page_element(element_name, TestCentricity::FileField, locator)
|
323
273
|
end
|
324
274
|
|
325
275
|
def self.filefields(element_hash)
|
@@ -426,8 +376,13 @@ module TestCentricity
|
|
426
376
|
# @example
|
427
377
|
# section :search_form, SearchForm
|
428
378
|
#
|
429
|
-
def self.section(section_name,
|
430
|
-
|
379
|
+
def self.section(section_name, obj, locator = nil)
|
380
|
+
define_method(section_name) do
|
381
|
+
ivar_name = "@#{section_name}"
|
382
|
+
ivar = instance_variable_get(ivar_name)
|
383
|
+
return ivar if ivar
|
384
|
+
instance_variable_set(ivar_name, obj.new(section_name, self, "#{locator}", :page))
|
385
|
+
end
|
431
386
|
end
|
432
387
|
|
433
388
|
def self.sections(section_hash)
|
@@ -707,5 +662,16 @@ module TestCentricity
|
|
707
662
|
end
|
708
663
|
end
|
709
664
|
end
|
665
|
+
|
666
|
+
private
|
667
|
+
|
668
|
+
def self.define_page_element(element_name, obj, locator)
|
669
|
+
define_method(element_name) do
|
670
|
+
ivar_name = "@#{element_name}"
|
671
|
+
ivar = instance_variable_get(ivar_name)
|
672
|
+
return ivar if ivar
|
673
|
+
instance_variable_set(ivar_name, obj.new(element_name, self, locator, :page))
|
674
|
+
end
|
675
|
+
end
|
710
676
|
end
|
711
677
|
end
|
@@ -140,12 +140,7 @@ module TestCentricity
|
|
140
140
|
# element :basket_header, 'div.basket_header'
|
141
141
|
#
|
142
142
|
def self.element(element_name, locator)
|
143
|
-
|
144
|
-
ivar_name = "@#{element_name}"
|
145
|
-
ivar = instance_variable_get(ivar_name)
|
146
|
-
return ivar if ivar
|
147
|
-
instance_variable_set(ivar_name, TestCentricity::UIElement.new(element_name, self, locator, :section))
|
148
|
-
end
|
143
|
+
define_element(element_name, TestCentricity::UIElement, locator)
|
149
144
|
end
|
150
145
|
|
151
146
|
# Declare and instantiate a collection of generic UI Elements for this page section.
|
@@ -171,12 +166,7 @@ module TestCentricity
|
|
171
166
|
# button :login_button, "//input[@id='submit_button']"
|
172
167
|
#
|
173
168
|
def self.button(element_name, locator)
|
174
|
-
|
175
|
-
ivar_name = "@#{element_name}"
|
176
|
-
ivar = instance_variable_get(ivar_name)
|
177
|
-
return ivar if ivar
|
178
|
-
instance_variable_set(ivar_name, TestCentricity::Button.new(element_name, self, locator, :section))
|
179
|
-
end
|
169
|
+
define_element(element_name, TestCentricity::Button, locator)
|
180
170
|
end
|
181
171
|
|
182
172
|
# Declare and instantiate a collection of buttons for this page section.
|
@@ -202,12 +192,7 @@ module TestCentricity
|
|
202
192
|
# textfield :password_field, 'input#consumer_password'
|
203
193
|
#
|
204
194
|
def self.textfield(element_name, locator)
|
205
|
-
|
206
|
-
ivar_name = "@#{element_name}"
|
207
|
-
ivar = instance_variable_get(ivar_name)
|
208
|
-
return ivar if ivar
|
209
|
-
instance_variable_set(ivar_name, TestCentricity::TextField.new(element_name, self, locator, :section))
|
210
|
-
end
|
195
|
+
define_element(element_name, TestCentricity::TextField, locator)
|
211
196
|
end
|
212
197
|
|
213
198
|
# Declare and instantiate a collection of text fields for this page section.
|
@@ -291,12 +276,7 @@ module TestCentricity
|
|
291
276
|
# label :rollup_price_label, "//div[contains(@id, 'Rollup Item Price')]"
|
292
277
|
#
|
293
278
|
def self.label(element_name, locator)
|
294
|
-
|
295
|
-
ivar_name = "@#{element_name}"
|
296
|
-
ivar = instance_variable_get(ivar_name)
|
297
|
-
return ivar if ivar
|
298
|
-
instance_variable_set(ivar_name, TestCentricity::Label.new(element_name, self, locator, :section))
|
299
|
-
end
|
279
|
+
define_element(element_name, TestCentricity::Label, locator)
|
300
280
|
end
|
301
281
|
|
302
282
|
def self.labels(element_hash)
|
@@ -314,12 +294,7 @@ module TestCentricity
|
|
314
294
|
# link :shopping_basket_link, "//a[@href='shopping_basket']"
|
315
295
|
#
|
316
296
|
def self.link(element_name, locator)
|
317
|
-
|
318
|
-
ivar_name = "@#{element_name}"
|
319
|
-
ivar = instance_variable_get(ivar_name)
|
320
|
-
return ivar if ivar
|
321
|
-
instance_variable_set(ivar_name, TestCentricity::Link.new(element_name, self, locator, :section))
|
322
|
-
end
|
297
|
+
define_element(element_name, TestCentricity::Link, locator)
|
323
298
|
end
|
324
299
|
|
325
300
|
def self.links(element_hash)
|
@@ -336,12 +311,7 @@ module TestCentricity
|
|
336
311
|
# table :payments_table, "//table[@class='payments_table']"
|
337
312
|
#
|
338
313
|
def self.table(element_name, locator)
|
339
|
-
|
340
|
-
ivar_name = "@#{element_name}"
|
341
|
-
ivar = instance_variable_get(ivar_name)
|
342
|
-
return ivar if ivar
|
343
|
-
instance_variable_set(ivar_name, TestCentricity::Table.new(element_name, self, locator, :section))
|
344
|
-
end
|
314
|
+
define_element(element_name, TestCentricity::Table, locator)
|
345
315
|
end
|
346
316
|
|
347
317
|
def self.tables(element_hash)
|
@@ -359,12 +329,7 @@ module TestCentricity
|
|
359
329
|
# selectlist :gender_select, "//select[@id='customer_gender']"
|
360
330
|
#
|
361
331
|
def self.selectlist(element_name, locator)
|
362
|
-
|
363
|
-
ivar_name = "@#{element_name}"
|
364
|
-
ivar = instance_variable_get(ivar_name)
|
365
|
-
return ivar if ivar
|
366
|
-
instance_variable_set(ivar_name, TestCentricity::SelectList.new(element_name, self, locator, :section))
|
367
|
-
end
|
332
|
+
define_element(element_name, TestCentricity::SelectList, locator)
|
368
333
|
end
|
369
334
|
|
370
335
|
def self.selectlists(element_hash)
|
@@ -381,12 +346,7 @@ module TestCentricity
|
|
381
346
|
# list :y_axis_list, 'g.y_axis'
|
382
347
|
#
|
383
348
|
def self.list(element_name, locator)
|
384
|
-
|
385
|
-
ivar_name = "@#{element_name}"
|
386
|
-
ivar = instance_variable_get(ivar_name)
|
387
|
-
return ivar if ivar
|
388
|
-
instance_variable_set(ivar_name, TestCentricity::List.new(element_name, self, locator, :section))
|
389
|
-
end
|
349
|
+
define_element(element_name, TestCentricity::List, locator)
|
390
350
|
end
|
391
351
|
|
392
352
|
def self.lists(element_hash)
|
@@ -404,12 +364,7 @@ module TestCentricity
|
|
404
364
|
# image :corporate_logo_image, "//img[@alt='MyCompany_logo']"
|
405
365
|
#
|
406
366
|
def self.image(element_name, locator)
|
407
|
-
|
408
|
-
ivar_name = "@#{element_name}"
|
409
|
-
ivar = instance_variable_get(ivar_name)
|
410
|
-
return ivar if ivar
|
411
|
-
instance_variable_set(ivar_name, TestCentricity::Image.new(element_name, self, locator, :section))
|
412
|
-
end
|
367
|
+
define_element(element_name, TestCentricity::Image, locator)
|
413
368
|
end
|
414
369
|
|
415
370
|
def self.images(element_hash)
|
@@ -426,12 +381,7 @@ module TestCentricity
|
|
426
381
|
# filefield :attach_file, 's_SweFileName'
|
427
382
|
#
|
428
383
|
def self.filefield(element_name, locator)
|
429
|
-
|
430
|
-
ivar_name = "@#{element_name}"
|
431
|
-
ivar = instance_variable_get(ivar_name)
|
432
|
-
return ivar if ivar
|
433
|
-
instance_variable_set(ivar_name, TestCentricity::FileField.new(element_name, self, locator, :section))
|
434
|
-
end
|
384
|
+
define_element(element_name, TestCentricity::FileField, locator)
|
435
385
|
end
|
436
386
|
|
437
387
|
def self.filefields(element_hash)
|
@@ -538,8 +488,13 @@ module TestCentricity
|
|
538
488
|
# @example
|
539
489
|
# section :search_form, SearchForm
|
540
490
|
#
|
541
|
-
def self.section(section_name,
|
542
|
-
|
491
|
+
def self.section(section_name, obj, locator = nil)
|
492
|
+
define_method(section_name) do
|
493
|
+
ivar_name = "@#{section_name}"
|
494
|
+
ivar = instance_variable_get(ivar_name)
|
495
|
+
return ivar if ivar
|
496
|
+
instance_variable_set(ivar_name, obj.new(section_name, self, "#{locator}", :section))
|
497
|
+
end
|
543
498
|
end
|
544
499
|
|
545
500
|
def self.sections(section_hash)
|
@@ -928,5 +883,13 @@ module TestCentricity
|
|
928
883
|
raise ObjectNotFoundError.new("Section object '#{get_name}' (#{get_locator}) not found") unless section
|
929
884
|
end
|
930
885
|
|
886
|
+
def self.define_element(element_name, obj, locator)
|
887
|
+
define_method(element_name) do
|
888
|
+
ivar_name = "@#{element_name}"
|
889
|
+
ivar = instance_variable_get(ivar_name)
|
890
|
+
return ivar if ivar
|
891
|
+
instance_variable_set(ivar_name, obj.new(element_name, self, locator, :section))
|
892
|
+
end
|
893
|
+
end
|
931
894
|
end
|
932
895
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testcentricity_web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- A.J. Mrozinski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|