page-object 0.2.5 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +25 -0
- data/Rakefile +3 -3
- data/features/element.feature +232 -1
- data/features/frames.feature +1 -1
- data/features/html/modal.html +17 -0
- data/features/html/modal_1.html +38 -0
- data/features/html/modal_2.html +27 -0
- data/features/html/nested_elements.html +42 -0
- data/features/html/static_elements.html +1 -0
- data/features/modal_dialog.feature +15 -0
- data/features/nested_elements.feature +73 -0
- data/features/step_definitions/frames_steps.rb +1 -1
- data/features/step_definitions/modal_dialog_steps.rb +62 -0
- data/features/step_definitions/nested_elements_steps.rb +165 -0
- data/features/support/page.rb +1 -0
- data/features/support/url_helper.rb +8 -0
- data/lib/page-object.rb +26 -0
- data/lib/page-object/accessors.rb +36 -36
- data/lib/page-object/elements/button.rb +3 -3
- data/lib/page-object/elements/check_box.rb +7 -7
- data/lib/page-object/elements/element.rb +16 -10
- data/lib/page-object/elements/form.rb +7 -7
- data/lib/page-object/elements/image.rb +7 -7
- data/lib/page-object/elements/link.rb +3 -3
- data/lib/page-object/elements/ordered_list.rb +7 -7
- data/lib/page-object/elements/radio_button.rb +7 -7
- data/lib/page-object/elements/select_list.rb +7 -7
- data/lib/page-object/elements/table.rb +7 -7
- data/lib/page-object/elements/table_row.rb +7 -7
- data/lib/page-object/elements/text_area.rb +7 -7
- data/lib/page-object/elements/text_field.rb +7 -7
- data/lib/page-object/elements/unordered_list.rb +7 -7
- data/lib/page-object/nested_elements.rb +72 -0
- data/lib/page-object/platforms.rb +2 -2
- data/lib/page-object/platforms/selenium_webdriver.rb +17 -0
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/button.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/check_box.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/element.rb +1 -1
- data/lib/page-object/platforms/{watir → selenium_webdriver}/form.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/image.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/link.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/ordered_list.rb +2 -2
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/page_object.rb +59 -59
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/radio_button.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/select_list.rb +2 -2
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/table.rb +2 -2
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/table_row.rb +2 -2
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/text_area.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/text_field.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/unordered_list.rb +2 -2
- data/lib/page-object/platforms/watir_webdriver.rb +17 -0
- data/lib/page-object/platforms/{watir → watir_webdriver}/check_box.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/element.rb +1 -1
- data/lib/page-object/platforms/{selenium → watir_webdriver}/form.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/image.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/ordered_list.rb +2 -2
- data/lib/page-object/platforms/watir_webdriver/page_object.rb +486 -0
- data/lib/page-object/platforms/{watir → watir_webdriver}/radio_button.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/select_list.rb +3 -3
- data/lib/page-object/platforms/{watir → watir_webdriver}/table.rb +2 -2
- data/lib/page-object/platforms/{watir → watir_webdriver}/table_row.rb +2 -2
- data/lib/page-object/platforms/{watir → watir_webdriver}/text_area.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/text_field.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/unordered_list.rb +2 -2
- data/lib/page-object/version.rb +1 -1
- data/page-object.gemspec +1 -1
- data/spec/page-object/elements/button_spec.rb +1 -1
- data/spec/page-object/elements/check_box_spec.rb +1 -1
- data/spec/page-object/elements/element_spec.rb +9 -5
- data/spec/page-object/elements/form_spec.rb +2 -2
- data/spec/page-object/elements/image_spec.rb +4 -4
- data/spec/page-object/elements/link_spec.rb +1 -1
- data/spec/page-object/elements/nested_element_spec.rb +185 -0
- data/spec/page-object/elements/ordered_list_spec.rb +6 -6
- data/spec/page-object/elements/radio_button_spec.rb +1 -1
- data/spec/page-object/elements/select_list_spec.rb +5 -5
- data/spec/page-object/elements/table_row_spec.rb +6 -6
- data/spec/page-object/elements/table_spec.rb +2 -2
- data/spec/page-object/elements/text_area_spec.rb +1 -1
- data/spec/page-object/elements/text_field_spec.rb +1 -1
- data/spec/page-object/elements/unordered_list_spec.rb +6 -6
- data/spec/page-object/page-object_spec.rb +12 -2
- data/spec/page-object/platforms/{selenium → selenium_webdriver}/selenium_page_object_spec.rb +2 -2
- data/spec/page-object/platforms/selenium_webdriver_spec.rb +29 -0
- data/spec/page-object/platforms/{watir_spec.rb → watir_webdriver_spec.rb} +11 -6
- metadata +58 -39
- data/lib/page-object/platforms/selenium.rb +0 -16
- data/lib/page-object/platforms/watir.rb +0 -16
- data/lib/page-object/platforms/watir/page_object.rb +0 -482
- data/spec/page-object/platforms/selenium_spec.rb +0 -26
@@ -1,6 +1,6 @@
|
|
1
1
|
module PageObject
|
2
2
|
module Platforms
|
3
|
-
module
|
3
|
+
module SeleniumWebDriver
|
4
4
|
module OrderedList
|
5
5
|
|
6
6
|
#
|
@@ -11,7 +11,7 @@ module PageObject
|
|
11
11
|
#
|
12
12
|
def [](idx)
|
13
13
|
eles = list_items
|
14
|
-
Object::PageObject::Elements::ListItem.new(eles[idx], :platform => :
|
14
|
+
Object::PageObject::Elements::ListItem.new(eles[idx], :platform => :selenium_webdriver)
|
15
15
|
end
|
16
16
|
|
17
17
|
#
|
@@ -3,7 +3,7 @@ require 'page-object/core_ext/string'
|
|
3
3
|
|
4
4
|
module PageObject
|
5
5
|
module Platforms
|
6
|
-
module
|
6
|
+
module SeleniumWebDriver
|
7
7
|
|
8
8
|
#
|
9
9
|
# Selenium implementation of the page object platform driver. You should not use the
|
@@ -52,7 +52,7 @@ module PageObject
|
|
52
52
|
# See PageObject#wait_until
|
53
53
|
#
|
54
54
|
def wait_until(timeout, message = nil, &block)
|
55
|
-
wait =
|
55
|
+
wait = ::Selenium::WebDriver::Wait.new({:timeout => timeout, :message => message})
|
56
56
|
wait.until &block
|
57
57
|
end
|
58
58
|
|
@@ -94,13 +94,13 @@ module PageObject
|
|
94
94
|
# See PageObject#attach_to_window
|
95
95
|
#
|
96
96
|
def attach_to_window(identifier, &block)
|
97
|
-
|
97
|
+
value = identifier.values.first
|
98
|
+
key = identifier.keys.first
|
98
99
|
handles = @browser.window_handles
|
99
100
|
handles.each do |handle|
|
100
101
|
@browser.switch_to.window handle
|
101
|
-
if
|
102
|
-
|
103
|
-
elsif identifier.keys.first == :url and @browser.current_url == match
|
102
|
+
if (key == :title and value == @browser.title) or
|
103
|
+
(key == :url and value == @browser.current_url)
|
104
104
|
return @browser.switch_to.window handle, &block
|
105
105
|
end
|
106
106
|
end
|
@@ -138,7 +138,7 @@ module PageObject
|
|
138
138
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::TextField, 'input', :type => 'text')
|
139
139
|
switch_to_frame(frame_identifiers)
|
140
140
|
text = @browser.find_element(how, what).attribute('value')
|
141
|
-
@browser.switch_to.default_content
|
141
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
142
142
|
text
|
143
143
|
end
|
144
144
|
|
@@ -151,7 +151,7 @@ module PageObject
|
|
151
151
|
switch_to_frame(frame_identifiers)
|
152
152
|
@browser.find_element(how, what).clear
|
153
153
|
@browser.find_element(how, what).send_keys(value)
|
154
|
-
@browser.switch_to.default_content
|
154
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
155
155
|
end
|
156
156
|
|
157
157
|
#
|
@@ -162,8 +162,8 @@ module PageObject
|
|
162
162
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::TextField, 'input', :type => 'text')
|
163
163
|
switch_to_frame(frame_identifiers)
|
164
164
|
element = @browser.find_element(how, what)
|
165
|
-
@browser.switch_to.default_content
|
166
|
-
|
165
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
166
|
+
::PageObject::Elements::TextField.new(element, :platform => :selenium_webdriver)
|
167
167
|
end
|
168
168
|
|
169
169
|
#
|
@@ -174,7 +174,7 @@ module PageObject
|
|
174
174
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::HiddenField, 'input', :type => 'hidden')
|
175
175
|
switch_to_frame(frame_identifiers)
|
176
176
|
value = @browser.find_element(how, what).attribute('value')
|
177
|
-
@browser.switch_to.default_content
|
177
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
178
178
|
value
|
179
179
|
end
|
180
180
|
|
@@ -186,8 +186,8 @@ module PageObject
|
|
186
186
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::HiddenField, 'input', :type => 'hidden')
|
187
187
|
switch_to_frame(frame_identifiers)
|
188
188
|
element = @browser.find_element(how, what)
|
189
|
-
@browser.switch_to.default_content
|
190
|
-
Elements::HiddenField.new(element, :platform => :
|
189
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
190
|
+
Elements::HiddenField.new(element, :platform => :selenium_webdriver)
|
191
191
|
end
|
192
192
|
|
193
193
|
#
|
@@ -198,7 +198,7 @@ module PageObject
|
|
198
198
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::TextArea, 'textarea')
|
199
199
|
switch_to_frame(frame_identifiers)
|
200
200
|
@browser.find_element(how, what).send_keys(value)
|
201
|
-
@browser.switch_to.default_content
|
201
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
202
202
|
end
|
203
203
|
|
204
204
|
#
|
@@ -209,7 +209,7 @@ module PageObject
|
|
209
209
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::TextArea, 'textarea')
|
210
210
|
switch_to_frame(frame_identifiers)
|
211
211
|
value = @browser.find_element(how, what).attribute('value')
|
212
|
-
@browser.switch_to.default_content
|
212
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
213
213
|
value
|
214
214
|
end
|
215
215
|
|
@@ -221,8 +221,8 @@ module PageObject
|
|
221
221
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::TextArea, 'textarea')
|
222
222
|
switch_to_frame(frame_identifiers)
|
223
223
|
element = @browser.find_element(how, what)
|
224
|
-
@browser.switch_to.default_content
|
225
|
-
Elements::TextArea.new(element, :platform => :
|
224
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
225
|
+
Elements::TextArea.new(element, :platform => :selenium_webdriver)
|
226
226
|
end
|
227
227
|
|
228
228
|
#
|
@@ -233,7 +233,7 @@ module PageObject
|
|
233
233
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::SelectList, 'select')
|
234
234
|
switch_to_frame(frame_identifiers)
|
235
235
|
value = @browser.find_element(how, what).attribute('value')
|
236
|
-
@browser.switch_to.default_content
|
236
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
237
237
|
value
|
238
238
|
end
|
239
239
|
|
@@ -245,7 +245,7 @@ module PageObject
|
|
245
245
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::SelectList, 'select')
|
246
246
|
switch_to_frame(frame_identifiers)
|
247
247
|
@browser.find_element(how, what).send_keys(value)
|
248
|
-
@browser.switch_to.default_content
|
248
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
249
249
|
end
|
250
250
|
|
251
251
|
#
|
@@ -256,8 +256,8 @@ module PageObject
|
|
256
256
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::SelectList, 'select')
|
257
257
|
switch_to_frame(frame_identifiers)
|
258
258
|
element = @browser.find_element(how, what)
|
259
|
-
@browser.switch_to.default_content
|
260
|
-
Elements::SelectList.new(element, :platform => :
|
259
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
260
|
+
Elements::SelectList.new(element, :platform => :selenium_webdriver)
|
261
261
|
end
|
262
262
|
|
263
263
|
#
|
@@ -268,7 +268,7 @@ module PageObject
|
|
268
268
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Link, 'a')
|
269
269
|
switch_to_frame frame_identifiers
|
270
270
|
@browser.find_element(how, what).click
|
271
|
-
@browser.switch_to.default_content
|
271
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
272
272
|
end
|
273
273
|
|
274
274
|
#
|
@@ -279,8 +279,8 @@ module PageObject
|
|
279
279
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Link, 'a')
|
280
280
|
switch_to_frame(frame_identifiers)
|
281
281
|
element = @browser.find_element(how, what)
|
282
|
-
@browser.switch_to.default_content
|
283
|
-
Elements::Link.new(element, :platform => :
|
282
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
283
|
+
Elements::Link.new(element, :platform => :selenium_webdriver)
|
284
284
|
end
|
285
285
|
|
286
286
|
#
|
@@ -291,7 +291,7 @@ module PageObject
|
|
291
291
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::CheckBox, 'input', :type => 'checkbox')
|
292
292
|
switch_to_frame(frame_identifiers)
|
293
293
|
@browser.find_element(how, what).click unless @browser.find_element(how, what).selected?
|
294
|
-
@browser.switch_to.default_content
|
294
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
295
295
|
end
|
296
296
|
|
297
297
|
#
|
@@ -302,7 +302,7 @@ module PageObject
|
|
302
302
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::CheckBox, 'input', :type => 'checkbox')
|
303
303
|
switch_to_frame(frame_identifiers)
|
304
304
|
@browser.find_element(how, what).click if @browser.find_element(how, what).selected?
|
305
|
-
@browser.switch_to.default_content
|
305
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
306
306
|
end
|
307
307
|
|
308
308
|
#
|
@@ -313,7 +313,7 @@ module PageObject
|
|
313
313
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::CheckBox, 'input', :type => 'checkbox')
|
314
314
|
switch_to_frame(frame_identifiers)
|
315
315
|
value = @browser.find_element(how, what).selected?
|
316
|
-
@browser.switch_to.default_content
|
316
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
317
317
|
value
|
318
318
|
end
|
319
319
|
|
@@ -325,8 +325,8 @@ module PageObject
|
|
325
325
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::CheckBox, 'input', :type => 'checkbox')
|
326
326
|
switch_to_frame(frame_identifiers)
|
327
327
|
element = @browser.find_element(how, what)
|
328
|
-
@browser.switch_to.default_content
|
329
|
-
Elements::CheckBox.new(element, :platform => :
|
328
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
329
|
+
Elements::CheckBox.new(element, :platform => :selenium_webdriver)
|
330
330
|
end
|
331
331
|
|
332
332
|
#
|
@@ -337,7 +337,7 @@ module PageObject
|
|
337
337
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::RadioButton, 'input', :type => 'radio')
|
338
338
|
switch_to_frame(frame_identifiers)
|
339
339
|
@browser.find_element(how, what).click unless @browser.find_element(how, what).selected?
|
340
|
-
@browser.switch_to.default_content
|
340
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
341
341
|
end
|
342
342
|
|
343
343
|
#
|
@@ -348,7 +348,7 @@ module PageObject
|
|
348
348
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::RadioButton, 'input', :type => 'radio')
|
349
349
|
switch_to_frame(frame_identifiers)
|
350
350
|
@browser.find_element(how, what).click if @browser.find_element(how, what).selected?
|
351
|
-
@browser.switch_to.default_content
|
351
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
352
352
|
end
|
353
353
|
|
354
354
|
#
|
@@ -359,7 +359,7 @@ module PageObject
|
|
359
359
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::RadioButton, 'input', :type => 'radio')
|
360
360
|
switch_to_frame(frame_identifiers)
|
361
361
|
value = @browser.find_element(how, what).selected?
|
362
|
-
@browser.switch_to.default_content
|
362
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
363
363
|
value
|
364
364
|
end
|
365
365
|
|
@@ -371,8 +371,8 @@ module PageObject
|
|
371
371
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::RadioButton, 'input', :type => 'radio')
|
372
372
|
switch_to_frame(frame_identifiers)
|
373
373
|
element = @browser.find_element(how, what)
|
374
|
-
@browser.switch_to.default_content
|
375
|
-
|
374
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
375
|
+
::PageObject::Elements::RadioButton.new(element, :platform => :selenium_webdriver)
|
376
376
|
end
|
377
377
|
|
378
378
|
#
|
@@ -383,7 +383,7 @@ module PageObject
|
|
383
383
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Div, 'div')
|
384
384
|
switch_to_frame(frame_identifiers)
|
385
385
|
value = @browser.find_element(how, what).text
|
386
|
-
@browser.switch_to.default_content
|
386
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
387
387
|
value
|
388
388
|
end
|
389
389
|
|
@@ -395,8 +395,8 @@ module PageObject
|
|
395
395
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Div, 'div')
|
396
396
|
switch_to_frame(frame_identifiers)
|
397
397
|
element = @browser.find_element(how, what)
|
398
|
-
@browser.switch_to.default_content
|
399
|
-
|
398
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
399
|
+
::PageObject::Elements::Div.new(element, :platform => :selenium_webdriver)
|
400
400
|
end
|
401
401
|
|
402
402
|
#
|
@@ -407,7 +407,7 @@ module PageObject
|
|
407
407
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Span, 'span')
|
408
408
|
switch_to_frame(frame_identifiers)
|
409
409
|
value = @browser.find_element(how, what).text
|
410
|
-
@browser.switch_to.default_content
|
410
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
411
411
|
value
|
412
412
|
end
|
413
413
|
|
@@ -419,8 +419,8 @@ module PageObject
|
|
419
419
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Span, 'span')
|
420
420
|
switch_to_frame(frame_identifiers)
|
421
421
|
element = @browser.find_element(how, what)
|
422
|
-
@browser.switch_to.default_content
|
423
|
-
|
422
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
423
|
+
::PageObject::Elements::Span.new(element, :platform => :selenium_webdriver)
|
424
424
|
end
|
425
425
|
|
426
426
|
#
|
@@ -431,7 +431,7 @@ module PageObject
|
|
431
431
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Button, 'input', :type => 'submit')
|
432
432
|
switch_to_frame(frame_identifiers)
|
433
433
|
@browser.find_element(how, what).click
|
434
|
-
@browser.switch_to.default_content
|
434
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
435
435
|
end
|
436
436
|
|
437
437
|
#
|
@@ -442,8 +442,8 @@ module PageObject
|
|
442
442
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Button, 'input', :type => 'submit')
|
443
443
|
switch_to_frame(frame_identifiers)
|
444
444
|
element = @browser.find_element(how, what)
|
445
|
-
@browser.switch_to.default_content
|
446
|
-
|
445
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
446
|
+
::PageObject::Elements::Button.new(element, :platform => :selenium_webdriver)
|
447
447
|
end
|
448
448
|
|
449
449
|
#
|
@@ -454,8 +454,8 @@ module PageObject
|
|
454
454
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Table, 'table')
|
455
455
|
switch_to_frame(frame_identifiers)
|
456
456
|
element = @browser.find_element(how, what)
|
457
|
-
@browser.switch_to.default_content
|
458
|
-
|
457
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
458
|
+
::PageObject::Elements::Table.new(element, :platform => :selenium_webdriver)
|
459
459
|
end
|
460
460
|
|
461
461
|
#
|
@@ -466,7 +466,7 @@ module PageObject
|
|
466
466
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::TableCell, 'td')
|
467
467
|
switch_to_frame(frame_identifiers)
|
468
468
|
value = @browser.find_element(how, what).text
|
469
|
-
@browser.switch_to.default_content
|
469
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
470
470
|
value
|
471
471
|
end
|
472
472
|
|
@@ -478,8 +478,8 @@ module PageObject
|
|
478
478
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::TableCell, 'td')
|
479
479
|
switch_to_frame(frame_identifiers)
|
480
480
|
element = @browser.find_element(how, what)
|
481
|
-
@browser.switch_to.default_content
|
482
|
-
|
481
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
482
|
+
::PageObject::Elements::TableCell.new(element, :platform => :selenium_webdriver)
|
483
483
|
end
|
484
484
|
|
485
485
|
#
|
@@ -490,8 +490,8 @@ module PageObject
|
|
490
490
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Image, 'img')
|
491
491
|
switch_to_frame(frame_identifiers)
|
492
492
|
element = @browser.find_element(how, what)
|
493
|
-
@browser.switch_to.default_content
|
494
|
-
|
493
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
494
|
+
::PageObject::Elements::Image.new(element, :platform => :selenium_webdriver)
|
495
495
|
end
|
496
496
|
|
497
497
|
#
|
@@ -502,8 +502,8 @@ module PageObject
|
|
502
502
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::Form, 'form')
|
503
503
|
switch_to_frame(frame_identifiers)
|
504
504
|
element = @browser.find_element(how, what)
|
505
|
-
@browser.switch_to.default_content
|
506
|
-
|
505
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
506
|
+
::PageObject::Elements::Form.new(element, :platform => :selenium_webdriver)
|
507
507
|
end
|
508
508
|
|
509
509
|
#
|
@@ -526,8 +526,8 @@ module PageObject
|
|
526
526
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::ListItem, 'li')
|
527
527
|
switch_to_frame(frame_identifiers)
|
528
528
|
element = @browser.find_element(how, what)
|
529
|
-
@browser.switch_to.default_content
|
530
|
-
|
529
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
530
|
+
::PageObject::Elements::ListItem.new(element, :platform => :selenium_webdriver)
|
531
531
|
end
|
532
532
|
|
533
533
|
#
|
@@ -538,8 +538,8 @@ module PageObject
|
|
538
538
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::UnorderedList, 'ul')
|
539
539
|
switch_to_frame(frame_identifiers)
|
540
540
|
element = @browser.find_element(how, what)
|
541
|
-
@browser.switch_to.default_content
|
542
|
-
|
541
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
542
|
+
::PageObject::Elements::UnorderedList.new(element, :platform => :selenium_webdriver)
|
543
543
|
end
|
544
544
|
|
545
545
|
#
|
@@ -550,8 +550,8 @@ module PageObject
|
|
550
550
|
how, what, frame_identifiers = parse_identifiers(identifier, Elements::OrderedList, 'ol')
|
551
551
|
switch_to_frame(frame_identifiers)
|
552
552
|
element = @browser.find_element(how, what)
|
553
|
-
@browser.switch_to.default_content
|
554
|
-
|
553
|
+
@browser.switch_to.default_content unless frame_identifiers.nil?
|
554
|
+
::PageObject::Elements::OrderedList.new(element, :platform => :selenium_webdriver)
|
555
555
|
end
|
556
556
|
|
557
557
|
private
|
@@ -584,7 +584,7 @@ module PageObject
|
|
584
584
|
end
|
585
585
|
|
586
586
|
def switch_to_frame(frame_identifiers)
|
587
|
-
|
587
|
+
unless frame_identifiers.nil?
|
588
588
|
frame_identifiers.each do |frame_id|
|
589
589
|
value = frame_id.values.first
|
590
590
|
@browser.switch_to.frame(value)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module PageObject
|
2
2
|
module Platforms
|
3
|
-
module
|
3
|
+
module SeleniumWebDriver
|
4
4
|
module SelectList
|
5
5
|
|
6
6
|
#
|
@@ -28,7 +28,7 @@ module PageObject
|
|
28
28
|
options = @element.find_elements(:xpath, child_xpath)
|
29
29
|
elements = []
|
30
30
|
options.each do |opt|
|
31
|
-
elements << Object::PageObject::Elements::Option.new(opt, :platform => :
|
31
|
+
elements << Object::PageObject::Elements::Option.new(opt, :platform => :selenium_webdriver)
|
32
32
|
end
|
33
33
|
elements
|
34
34
|
end
|