page-object 0.2.5 → 0.3.0

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 (90) hide show
  1. data/ChangeLog +25 -0
  2. data/Rakefile +3 -3
  3. data/features/element.feature +232 -1
  4. data/features/frames.feature +1 -1
  5. data/features/html/modal.html +17 -0
  6. data/features/html/modal_1.html +38 -0
  7. data/features/html/modal_2.html +27 -0
  8. data/features/html/nested_elements.html +42 -0
  9. data/features/html/static_elements.html +1 -0
  10. data/features/modal_dialog.feature +15 -0
  11. data/features/nested_elements.feature +73 -0
  12. data/features/step_definitions/frames_steps.rb +1 -1
  13. data/features/step_definitions/modal_dialog_steps.rb +62 -0
  14. data/features/step_definitions/nested_elements_steps.rb +165 -0
  15. data/features/support/page.rb +1 -0
  16. data/features/support/url_helper.rb +8 -0
  17. data/lib/page-object.rb +26 -0
  18. data/lib/page-object/accessors.rb +36 -36
  19. data/lib/page-object/elements/button.rb +3 -3
  20. data/lib/page-object/elements/check_box.rb +7 -7
  21. data/lib/page-object/elements/element.rb +16 -10
  22. data/lib/page-object/elements/form.rb +7 -7
  23. data/lib/page-object/elements/image.rb +7 -7
  24. data/lib/page-object/elements/link.rb +3 -3
  25. data/lib/page-object/elements/ordered_list.rb +7 -7
  26. data/lib/page-object/elements/radio_button.rb +7 -7
  27. data/lib/page-object/elements/select_list.rb +7 -7
  28. data/lib/page-object/elements/table.rb +7 -7
  29. data/lib/page-object/elements/table_row.rb +7 -7
  30. data/lib/page-object/elements/text_area.rb +7 -7
  31. data/lib/page-object/elements/text_field.rb +7 -7
  32. data/lib/page-object/elements/unordered_list.rb +7 -7
  33. data/lib/page-object/nested_elements.rb +72 -0
  34. data/lib/page-object/platforms.rb +2 -2
  35. data/lib/page-object/platforms/selenium_webdriver.rb +17 -0
  36. data/lib/page-object/platforms/{selenium → selenium_webdriver}/button.rb +1 -1
  37. data/lib/page-object/platforms/{selenium → selenium_webdriver}/check_box.rb +1 -1
  38. data/lib/page-object/platforms/{selenium → selenium_webdriver}/element.rb +1 -1
  39. data/lib/page-object/platforms/{watir → selenium_webdriver}/form.rb +1 -1
  40. data/lib/page-object/platforms/{selenium → selenium_webdriver}/image.rb +1 -1
  41. data/lib/page-object/platforms/{selenium → selenium_webdriver}/link.rb +1 -1
  42. data/lib/page-object/platforms/{selenium → selenium_webdriver}/ordered_list.rb +2 -2
  43. data/lib/page-object/platforms/{selenium → selenium_webdriver}/page_object.rb +59 -59
  44. data/lib/page-object/platforms/{selenium → selenium_webdriver}/radio_button.rb +1 -1
  45. data/lib/page-object/platforms/{selenium → selenium_webdriver}/select_list.rb +2 -2
  46. data/lib/page-object/platforms/{selenium → selenium_webdriver}/table.rb +2 -2
  47. data/lib/page-object/platforms/{selenium → selenium_webdriver}/table_row.rb +2 -2
  48. data/lib/page-object/platforms/{selenium → selenium_webdriver}/text_area.rb +1 -1
  49. data/lib/page-object/platforms/{selenium → selenium_webdriver}/text_field.rb +1 -1
  50. data/lib/page-object/platforms/{selenium → selenium_webdriver}/unordered_list.rb +2 -2
  51. data/lib/page-object/platforms/watir_webdriver.rb +17 -0
  52. data/lib/page-object/platforms/{watir → watir_webdriver}/check_box.rb +1 -1
  53. data/lib/page-object/platforms/{watir → watir_webdriver}/element.rb +1 -1
  54. data/lib/page-object/platforms/{selenium → watir_webdriver}/form.rb +1 -1
  55. data/lib/page-object/platforms/{watir → watir_webdriver}/image.rb +1 -1
  56. data/lib/page-object/platforms/{watir → watir_webdriver}/ordered_list.rb +2 -2
  57. data/lib/page-object/platforms/watir_webdriver/page_object.rb +486 -0
  58. data/lib/page-object/platforms/{watir → watir_webdriver}/radio_button.rb +1 -1
  59. data/lib/page-object/platforms/{watir → watir_webdriver}/select_list.rb +3 -3
  60. data/lib/page-object/platforms/{watir → watir_webdriver}/table.rb +2 -2
  61. data/lib/page-object/platforms/{watir → watir_webdriver}/table_row.rb +2 -2
  62. data/lib/page-object/platforms/{watir → watir_webdriver}/text_area.rb +1 -1
  63. data/lib/page-object/platforms/{watir → watir_webdriver}/text_field.rb +1 -1
  64. data/lib/page-object/platforms/{watir → watir_webdriver}/unordered_list.rb +2 -2
  65. data/lib/page-object/version.rb +1 -1
  66. data/page-object.gemspec +1 -1
  67. data/spec/page-object/elements/button_spec.rb +1 -1
  68. data/spec/page-object/elements/check_box_spec.rb +1 -1
  69. data/spec/page-object/elements/element_spec.rb +9 -5
  70. data/spec/page-object/elements/form_spec.rb +2 -2
  71. data/spec/page-object/elements/image_spec.rb +4 -4
  72. data/spec/page-object/elements/link_spec.rb +1 -1
  73. data/spec/page-object/elements/nested_element_spec.rb +185 -0
  74. data/spec/page-object/elements/ordered_list_spec.rb +6 -6
  75. data/spec/page-object/elements/radio_button_spec.rb +1 -1
  76. data/spec/page-object/elements/select_list_spec.rb +5 -5
  77. data/spec/page-object/elements/table_row_spec.rb +6 -6
  78. data/spec/page-object/elements/table_spec.rb +2 -2
  79. data/spec/page-object/elements/text_area_spec.rb +1 -1
  80. data/spec/page-object/elements/text_field_spec.rb +1 -1
  81. data/spec/page-object/elements/unordered_list_spec.rb +6 -6
  82. data/spec/page-object/page-object_spec.rb +12 -2
  83. data/spec/page-object/platforms/{selenium → selenium_webdriver}/selenium_page_object_spec.rb +2 -2
  84. data/spec/page-object/platforms/selenium_webdriver_spec.rb +29 -0
  85. data/spec/page-object/platforms/{watir_spec.rb → watir_webdriver_spec.rb} +11 -6
  86. metadata +58 -39
  87. data/lib/page-object/platforms/selenium.rb +0 -16
  88. data/lib/page-object/platforms/watir.rb +0 -16
  89. data/lib/page-object/platforms/watir/page_object.rb +0 -482
  90. data/spec/page-object/platforms/selenium_spec.rb +0 -26
@@ -3,7 +3,7 @@ module PageObject
3
3
  #
4
4
  # Selenium implementation of the common functionality found across all elements
5
5
  #
6
- module Selenium
6
+ module SeleniumWebDriver
7
7
  module Element
8
8
 
9
9
  #
@@ -1,6 +1,6 @@
1
1
  module PageObject
2
2
  module Platforms
3
- module Watir
3
+ module SeleniumWebDriver
4
4
  module Form
5
5
 
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module PageObject
2
2
  module Platforms
3
- module Selenium
3
+ module SeleniumWebDriver
4
4
  module Image
5
5
 
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module PageObject
2
2
  module Platforms
3
- module Selenium
3
+ module SeleniumWebDriver
4
4
  module Link
5
5
  #
6
6
  # Override PageObject::PLatforms::SeleniumElement#value because
@@ -1,6 +1,6 @@
1
1
  module PageObject
2
2
  module Platforms
3
- module Selenium
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 => :selenium)
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 Selenium
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 = Object::Selenium::WebDriver::Wait.new({:timeout => timeout, :message => message})
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
- match = identifier.values.first
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 identifier.keys.first == :title and @browser.title == match
102
- return @browser.switch_to.window handle, &block
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
- Object::PageObject::Elements::TextField.new(element, :platform => :selenium)
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 => :selenium)
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 => :selenium)
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 => :selenium)
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 => :selenium)
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 => :selenium)
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
- Object::PageObject::Elements::RadioButton.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::Div.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::Span.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::Button.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::Table.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::TableCell.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::Image.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::Form.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::ListItem.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::UnorderedList.new(element, :platform => :selenium)
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
- Object::PageObject::Elements::OrderedList.new(element, :platform => :selenium)
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
- if not frame_identifiers.nil?
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 Selenium
3
+ module SeleniumWebDriver
4
4
  module RadioButton
5
5
 
6
6
  #
@@ -1,6 +1,6 @@
1
1
  module PageObject
2
2
  module Platforms
3
- module Selenium
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 => :selenium)
31
+ elements << Object::PageObject::Elements::Option.new(opt, :platform => :selenium_webdriver)
32
32
  end
33
33
  elements
34
34
  end