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.
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