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
@@ -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
  #