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
@@ -19,9 +19,9 @@ module PageObject
19
19
 
20
20
  def include_platform_for platform
21
21
  super
22
- if platform[:platform] == :selenium
23
- require 'page-object/platforms/selenium/button'
24
- self.class.send :include, PageObject::Platforms::Selenium::Button
22
+ if platform[:platform] == :selenium_webdriver
23
+ require 'page-object/platforms/selenium_webdriver/button'
24
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::Button
25
25
  end
26
26
  end
27
27
  end
@@ -11,14 +11,14 @@ module PageObject
11
11
 
12
12
  def include_platform_for platform
13
13
  super
14
- if platform[:platform] == :watir
15
- require 'page-object/platforms/watir/check_box'
16
- self.class.send :include, PageObject::Platforms::Watir::CheckBox
17
- elsif platform[:platform] == :selenium
18
- require 'page-object/platforms/selenium/check_box'
19
- self.class.send :include, PageObject::Platforms::Selenium::CheckBox
14
+ if platform[:platform] == :watir_webdriver
15
+ require 'page-object/platforms/watir_webdriver/check_box'
16
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::CheckBox
17
+ elsif platform[:platform] == :selenium_webdriver
18
+ require 'page-object/platforms/selenium_webdriver/check_box'
19
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::CheckBox
20
20
  else
21
- raise ArgumentError, "expect platform to be :watir or :selenium"
21
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
22
22
  end
23
23
  end
24
24
  end
@@ -3,10 +3,12 @@ module PageObject
3
3
  #
4
4
  # Contains functionality that is common across all elements.
5
5
  #
6
- # @see PageObject::Platforms::WatirElement for the Watir version of all common methods
7
- # @see PageObject::Platforms::SeleniumElement for the Selenium version of all common methods
6
+ # @see PageObject::Platforms::WatirWebDriver::Element for the Watir version of all common methods
7
+ # @see PageObject::Platforms::SeleniumWebDriver::Element for the Selenium version of all common methods
8
8
  #
9
9
  class Element
10
+ include Object::PageObject::NestedElements
11
+
10
12
  attr_reader :element
11
13
 
12
14
  def initialize(element, platform)
@@ -124,7 +126,7 @@ module PageObject
124
126
  end
125
127
 
126
128
  def self.selenium_finders
127
- [:class, :id, :name, :xpath, :index]
129
+ [:class, :id, :index, :name, :xpath]
128
130
  end
129
131
 
130
132
  def self.selenium_mapping
@@ -132,14 +134,18 @@ module PageObject
132
134
  end
133
135
 
134
136
  def include_platform_for platform
135
- if platform[:platform] == :watir
136
- require 'page-object/platforms/watir/element'
137
- self.class.send :include, PageObject::Platforms::Watir::Element
138
- elsif platform[:platform] == :selenium
139
- require 'page-object/platforms/selenium/element'
140
- self.class.send :include, PageObject::Platforms::Selenium::Element
137
+ if platform[:platform] == :watir_webdriver
138
+ require 'page-object/platforms/watir_webdriver/element'
139
+ require 'page-object/platforms/watir_webdriver/page_object'
140
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::Element
141
+ @platform = PageObject::Platforms::WatirWebDriver::PageObject.new(@element)
142
+ elsif platform[:platform] == :selenium_webdriver
143
+ require 'page-object/platforms/selenium_webdriver/element'
144
+ require 'page-object/platforms/selenium_webdriver/page_object'
145
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::Element
146
+ @platform = PageObject::Platforms::SeleniumWebDriver::PageObject.new(@element)
141
147
  else
142
- raise ArgumentError, "expect platform to be :watir or :selenium"
148
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
143
149
  end
144
150
  end
145
151
  end
@@ -10,14 +10,14 @@ module PageObject
10
10
 
11
11
  def include_platform_for platform
12
12
  super
13
- if platform[:platform] == :watir
14
- require 'page-object/platforms/watir/form'
15
- self.class.send :include, PageObject::Platforms::Watir::Form
16
- elsif platform[:platform] == :selenium
17
- require 'page-object/platforms/selenium/form'
18
- self.class.send :include, PageObject::Platforms::Selenium::Form
13
+ if platform[:platform] == :watir_webdriver
14
+ require 'page-object/platforms/watir_webdriver/form'
15
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::Form
16
+ elsif platform[:platform] == :selenium_webdriver
17
+ require 'page-object/platforms/selenium_webdriver/form'
18
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::Form
19
19
  else
20
- raise ArgumentError, "expect platform to be :watir or :selenium"
20
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
21
21
  end
22
22
  end
23
23
  end
@@ -10,14 +10,14 @@ module PageObject
10
10
 
11
11
  def include_platform_for platform
12
12
  super
13
- if platform[:platform] == :watir
14
- require 'page-object/platforms/watir/image'
15
- self.class.send :include, PageObject::Platforms::Watir::Image
16
- elsif platform[:platform] == :selenium
17
- require 'page-object/platforms/selenium/image'
18
- self.class.send :include, PageObject::Platforms::Selenium::Image
13
+ if platform[:platform] == :watir_webdriver
14
+ require 'page-object/platforms/watir_webdriver/image'
15
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::Image
16
+ elsif platform[:platform] == :selenium_webdriver
17
+ require 'page-object/platforms/selenium_webdriver/image'
18
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::Image
19
19
  else
20
- raise ArgumentError, "expect platform to be :watir or :selenium"
20
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
21
21
  end
22
22
  end
23
23
 
@@ -27,9 +27,9 @@ module PageObject
27
27
 
28
28
  def include_platform_for platform
29
29
  super
30
- if platform[:platform] == :selenium
31
- require 'page-object/platforms/selenium/link'
32
- self.class.send :include, PageObject::Platforms::Selenium::Link
30
+ if platform[:platform] == :selenium_webdriver
31
+ require 'page-object/platforms/selenium_webdriver/link'
32
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::Link
33
33
  end
34
34
  end
35
35
  end
@@ -31,14 +31,14 @@ module PageObject
31
31
 
32
32
  def include_platform_for platform
33
33
  super
34
- if platform[:platform] == :watir
35
- require 'page-object/platforms/watir/ordered_list'
36
- self.class.send :include, PageObject::Platforms::Watir::OrderedList
37
- elsif platform[:platform] == :selenium
38
- require 'page-object/platforms/selenium/ordered_list'
39
- self.class.send :include, PageObject::Platforms::Selenium::OrderedList
34
+ if platform[:platform] == :watir_webdriver
35
+ require 'page-object/platforms/watir_webdriver/ordered_list'
36
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::OrderedList
37
+ elsif platform[:platform] == :selenium_webdriver
38
+ require 'page-object/platforms/selenium_webdriver/ordered_list'
39
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::OrderedList
40
40
  else
41
- raise ArgumentError, "expect platform to be :watir or :selenium"
41
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
42
42
  end
43
43
  end
44
44
 
@@ -11,14 +11,14 @@ module PageObject
11
11
 
12
12
  def include_platform_for platform
13
13
  super
14
- if platform[:platform] == :watir
15
- require 'page-object/platforms/watir/radio_button'
16
- self.class.send :include, PageObject::Platforms::Watir::RadioButton
17
- elsif platform[:platform] == :selenium
18
- require 'page-object/platforms/selenium/radio_button'
19
- self.class.send :include, PageObject::Platforms::Selenium::RadioButton
14
+ if platform[:platform] == :watir_webdriver
15
+ require 'page-object/platforms/watir_webdriver/radio_button'
16
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::RadioButton
17
+ elsif platform[:platform] == :selenium_webdriver
18
+ require 'page-object/platforms/selenium_webdriver/radio_button'
19
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::RadioButton
20
20
  else
21
- raise ArgumentError, "expect platform to be :watir or :selenium"
21
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
22
22
  end
23
23
  end
24
24
  end
@@ -19,14 +19,14 @@ module PageObject
19
19
 
20
20
  def include_platform_for platform
21
21
  super
22
- if platform[:platform] == :watir
23
- require 'page-object/platforms/watir/select_list'
24
- self.class.send :include, PageObject::Platforms::Watir::SelectList
25
- elsif platform[:platform] == :selenium
26
- require 'page-object/platforms/selenium/select_list'
27
- self.class.send :include, PageObject::Platforms::Selenium::SelectList
22
+ if platform[:platform] == :watir_webdriver
23
+ require 'page-object/platforms/watir_webdriver/select_list'
24
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::SelectList
25
+ elsif platform[:platform] == :selenium_webdriver
26
+ require 'page-object/platforms/selenium_webdriver/select_list'
27
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::SelectList
28
28
  else
29
- raise ArgumentError, "expect platform to be :watir or :selenium"
29
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
30
30
  end
31
31
  end
32
32
 
@@ -27,14 +27,14 @@ module PageObject
27
27
 
28
28
  def include_platform_for platform
29
29
  super
30
- if platform[:platform] == :watir
31
- require 'page-object/platforms/watir/table'
32
- self.class.send :include, PageObject::Platforms::Watir::Table
33
- elsif platform[:platform] == :selenium
34
- require 'page-object/platforms/selenium/table'
35
- self.class.send :include, PageObject::Platforms::Selenium::Table
30
+ if platform[:platform] == :watir_webdriver
31
+ require 'page-object/platforms/watir_webdriver/table'
32
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::Table
33
+ elsif platform[:platform] == :selenium_webdriver
34
+ require 'page-object/platforms/selenium_webdriver/table'
35
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::Table
36
36
  else
37
- raise ArgumentError, "expect platform to be :watir or :selenium"
37
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
38
38
  end
39
39
  end
40
40
  end
@@ -27,14 +27,14 @@ module PageObject
27
27
 
28
28
  def include_platform_for platform
29
29
  super
30
- if platform[:platform] == :watir
31
- require 'page-object/platforms/watir/table_row'
32
- self.class.send :include, PageObject::Platforms::Watir::TableRow
33
- elsif platform[:platform] == :selenium
34
- require 'page-object/platforms/selenium/table_row'
35
- self.class.send :include, PageObject::Platforms::Selenium::TableRow
30
+ if platform[:platform] == :watir_webdriver
31
+ require 'page-object/platforms/watir_webdriver/table_row'
32
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::TableRow
33
+ elsif platform[:platform] == :selenium_webdriver
34
+ require 'page-object/platforms/selenium_webdriver/table_row'
35
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::TableRow
36
36
  else
37
- raise ArgumentError, "expect platform to be :watir or :selenium"
37
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
38
38
  end
39
39
  end
40
40
  end
@@ -27,14 +27,14 @@ module PageObject
27
27
 
28
28
  def include_platform_for platform
29
29
  super
30
- if platform[:platform] == :watir
31
- require 'page-object/platforms/watir/text_area'
32
- self.class.send :include, PageObject::Platforms::Watir::TextArea
33
- elsif platform[:platform] == :selenium
34
- require 'page-object/platforms/selenium/text_area'
35
- self.class.send :include, PageObject::Platforms::Selenium::TextArea
30
+ if platform[:platform] == :watir_webdriver
31
+ require 'page-object/platforms/watir_webdriver/text_area'
32
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::TextArea
33
+ elsif platform[:platform] == :selenium_webdriver
34
+ require 'page-object/platforms/selenium_webdriver/text_area'
35
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::TextArea
36
36
  else
37
- raise ArgumentError, "expect platform to be :watir or :selenium"
37
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
38
38
  end
39
39
  end
40
40
  end
@@ -27,14 +27,14 @@ module PageObject
27
27
 
28
28
  def include_platform_for platform
29
29
  super
30
- if platform[:platform] == :watir
31
- require 'page-object/platforms/watir/text_field'
32
- self.class.send :include, PageObject::Platforms::Watir::TextField
33
- elsif platform[:platform] == :selenium
34
- require 'page-object/platforms/selenium/text_field'
35
- self.class.send :include, PageObject::Platforms::Selenium::TextField
30
+ if platform[:platform] == :watir_webdriver
31
+ require 'page-object/platforms/watir_webdriver/text_field'
32
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::TextField
33
+ elsif platform[:platform] == :selenium_webdriver
34
+ require 'page-object/platforms/selenium_webdriver/text_field'
35
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::TextField
36
36
  else
37
- raise ArgumentError, "expect platform to be :watir or :selenium"
37
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
38
38
  end
39
39
  end
40
40
  end
@@ -32,14 +32,14 @@ module PageObject
32
32
 
33
33
  def include_platform_for platform
34
34
  super
35
- if platform[:platform] == :watir
36
- require 'page-object/platforms/watir/unordered_list'
37
- self.class.send :include, PageObject::Platforms::Watir::UnorderedList
38
- elsif platform[:platform] == :selenium
39
- require 'page-object/platforms/selenium/unordered_list'
40
- self.class.send :include, PageObject::Platforms::Selenium::UnorderedList
35
+ if platform[:platform] == :watir_webdriver
36
+ require 'page-object/platforms/watir_webdriver/unordered_list'
37
+ self.class.send :include, PageObject::Platforms::WatirWebDriver::UnorderedList
38
+ elsif platform[:platform] == :selenium_webdriver
39
+ require 'page-object/platforms/selenium_webdriver/unordered_list'
40
+ self.class.send :include, PageObject::Platforms::SeleniumWebDriver::UnorderedList
41
41
  else
42
- raise ArgumentError, "expect platform to be :watir or :selenium"
42
+ raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
43
43
  end
44
44
  end
45
45
 
@@ -0,0 +1,72 @@
1
+ module PageObject
2
+ module NestedElements
3
+
4
+ def link_element(identifier={:index => 0})
5
+ @platform.link_for(identifier)
6
+ end
7
+
8
+ def button_element(identifier={:index => 0})
9
+ @platform.button_for(identifier)
10
+ end
11
+
12
+ def text_field_element(identifier={:index => 0})
13
+ @platform.text_field_for(identifier)
14
+ end
15
+
16
+ def hidden_field_element(identifier={:index => 0})
17
+ @platform.hidden_field_for(identifier)
18
+ end
19
+
20
+ def text_area_element(identifier={:index => 0})
21
+ @platform.text_area_for(identifier)
22
+ end
23
+
24
+ def select_list_element(identifier={:index => 0})
25
+ @platform.select_list_for(identifier)
26
+ end
27
+
28
+ def checkbox_element(identifier={:index => 0})
29
+ @platform.checkbox_for(identifier)
30
+ end
31
+
32
+ def radio_button_element(identifier={:index => 0})
33
+ @platform.radio_button_for(identifier)
34
+ end
35
+
36
+ def div_element(identifier={:index => 0})
37
+ @platform.div_for(identifier)
38
+ end
39
+
40
+ def span_element(identifier={:index => 0})
41
+ @platform.span_for(identifier)
42
+ end
43
+
44
+ def table_element(identifier={:index => 0})
45
+ @platform.table_for(identifier)
46
+ end
47
+
48
+ def cell_element(identifier={:index => 0})
49
+ @platform.cell_for(identifier)
50
+ end
51
+
52
+ def image_element(identifier={:index => 0})
53
+ @platform.image_for(identifier)
54
+ end
55
+
56
+ def form_element(identifier={:index => 0})
57
+ @platform.form_for(identifier)
58
+ end
59
+
60
+ def ordered_list_element(identifier={:index => 0})
61
+ @platform.ordered_list_for(identifier)
62
+ end
63
+
64
+ def unordered_list_element(identifier={:index => 0})
65
+ @platform.unordered_list_for(identifier)
66
+ end
67
+
68
+ def list_item_element(identifier={:index => 0})
69
+ @platform.list_item_for(identifier)
70
+ end
71
+ end
72
+ end
@@ -13,6 +13,6 @@ module PageObject
13
13
  end
14
14
  end
15
15
  end
16
- require 'page-object/platforms/watir'
17
- require 'page-object/platforms/selenium'
16
+ require 'page-object/platforms/watir_webdriver'
17
+ require 'page-object/platforms/selenium_webdriver'
18
18
 
@@ -0,0 +1,17 @@
1
+ module PageObject
2
+ module Platforms
3
+ module SeleniumWebDriver
4
+
5
+ def self.create_page_object(browser)
6
+ require 'page-object/platforms/selenium_webdriver/page_object'
7
+ SeleniumWebDriver::PageObject.new(browser)
8
+ end
9
+
10
+ def self.is_for?(browser)
11
+ browser.is_a? Object::Selenium::WebDriver::Driver
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ PageObject::Platforms.register(:selenium_webdriver, PageObject::Platforms::SeleniumWebDriver)
@@ -1,6 +1,6 @@
1
1
  module PageObject
2
2
  module Platforms
3
- module Selenium
3
+ module SeleniumWebDriver
4
4
  module Button
5
5
  #
6
6
  # Override PageObject::PLatforms::SeleniumElement#text because
@@ -1,6 +1,6 @@
1
1
  module PageObject
2
2
  module Platforms
3
- module Selenium
3
+ module SeleniumWebDriver
4
4
  module CheckBox
5
5
 
6
6
  #