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.
- data/ChangeLog +25 -0
- data/Rakefile +3 -3
- data/features/element.feature +232 -1
- data/features/frames.feature +1 -1
- data/features/html/modal.html +17 -0
- data/features/html/modal_1.html +38 -0
- data/features/html/modal_2.html +27 -0
- data/features/html/nested_elements.html +42 -0
- data/features/html/static_elements.html +1 -0
- data/features/modal_dialog.feature +15 -0
- data/features/nested_elements.feature +73 -0
- data/features/step_definitions/frames_steps.rb +1 -1
- data/features/step_definitions/modal_dialog_steps.rb +62 -0
- data/features/step_definitions/nested_elements_steps.rb +165 -0
- data/features/support/page.rb +1 -0
- data/features/support/url_helper.rb +8 -0
- data/lib/page-object.rb +26 -0
- data/lib/page-object/accessors.rb +36 -36
- data/lib/page-object/elements/button.rb +3 -3
- data/lib/page-object/elements/check_box.rb +7 -7
- data/lib/page-object/elements/element.rb +16 -10
- data/lib/page-object/elements/form.rb +7 -7
- data/lib/page-object/elements/image.rb +7 -7
- data/lib/page-object/elements/link.rb +3 -3
- data/lib/page-object/elements/ordered_list.rb +7 -7
- data/lib/page-object/elements/radio_button.rb +7 -7
- data/lib/page-object/elements/select_list.rb +7 -7
- data/lib/page-object/elements/table.rb +7 -7
- data/lib/page-object/elements/table_row.rb +7 -7
- data/lib/page-object/elements/text_area.rb +7 -7
- data/lib/page-object/elements/text_field.rb +7 -7
- data/lib/page-object/elements/unordered_list.rb +7 -7
- data/lib/page-object/nested_elements.rb +72 -0
- data/lib/page-object/platforms.rb +2 -2
- data/lib/page-object/platforms/selenium_webdriver.rb +17 -0
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/button.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/check_box.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/element.rb +1 -1
- data/lib/page-object/platforms/{watir → selenium_webdriver}/form.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/image.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/link.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/ordered_list.rb +2 -2
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/page_object.rb +59 -59
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/radio_button.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/select_list.rb +2 -2
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/table.rb +2 -2
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/table_row.rb +2 -2
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/text_area.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/text_field.rb +1 -1
- data/lib/page-object/platforms/{selenium → selenium_webdriver}/unordered_list.rb +2 -2
- data/lib/page-object/platforms/watir_webdriver.rb +17 -0
- data/lib/page-object/platforms/{watir → watir_webdriver}/check_box.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/element.rb +1 -1
- data/lib/page-object/platforms/{selenium → watir_webdriver}/form.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/image.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/ordered_list.rb +2 -2
- data/lib/page-object/platforms/watir_webdriver/page_object.rb +486 -0
- data/lib/page-object/platforms/{watir → watir_webdriver}/radio_button.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/select_list.rb +3 -3
- data/lib/page-object/platforms/{watir → watir_webdriver}/table.rb +2 -2
- data/lib/page-object/platforms/{watir → watir_webdriver}/table_row.rb +2 -2
- data/lib/page-object/platforms/{watir → watir_webdriver}/text_area.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/text_field.rb +1 -1
- data/lib/page-object/platforms/{watir → watir_webdriver}/unordered_list.rb +2 -2
- data/lib/page-object/version.rb +1 -1
- data/page-object.gemspec +1 -1
- data/spec/page-object/elements/button_spec.rb +1 -1
- data/spec/page-object/elements/check_box_spec.rb +1 -1
- data/spec/page-object/elements/element_spec.rb +9 -5
- data/spec/page-object/elements/form_spec.rb +2 -2
- data/spec/page-object/elements/image_spec.rb +4 -4
- data/spec/page-object/elements/link_spec.rb +1 -1
- data/spec/page-object/elements/nested_element_spec.rb +185 -0
- data/spec/page-object/elements/ordered_list_spec.rb +6 -6
- data/spec/page-object/elements/radio_button_spec.rb +1 -1
- data/spec/page-object/elements/select_list_spec.rb +5 -5
- data/spec/page-object/elements/table_row_spec.rb +6 -6
- data/spec/page-object/elements/table_spec.rb +2 -2
- data/spec/page-object/elements/text_area_spec.rb +1 -1
- data/spec/page-object/elements/text_field_spec.rb +1 -1
- data/spec/page-object/elements/unordered_list_spec.rb +6 -6
- data/spec/page-object/page-object_spec.rb +12 -2
- data/spec/page-object/platforms/{selenium → selenium_webdriver}/selenium_page_object_spec.rb +2 -2
- data/spec/page-object/platforms/selenium_webdriver_spec.rb +29 -0
- data/spec/page-object/platforms/{watir_spec.rb → watir_webdriver_spec.rb} +11 -6
- metadata +58 -39
- data/lib/page-object/platforms/selenium.rb +0 -16
- data/lib/page-object/platforms/watir.rb +0 -16
- data/lib/page-object/platforms/watir/page_object.rb +0 -482
- data/spec/page-object/platforms/selenium_spec.rb +0 -26
|
@@ -19,9 +19,9 @@ module PageObject
|
|
|
19
19
|
|
|
20
20
|
def include_platform_for platform
|
|
21
21
|
super
|
|
22
|
-
if platform[:platform] == :
|
|
23
|
-
require 'page-object/platforms/
|
|
24
|
-
self.class.send :include, PageObject::Platforms::
|
|
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] == :
|
|
15
|
-
require 'page-object/platforms/
|
|
16
|
-
self.class.send :include, PageObject::Platforms::
|
|
17
|
-
elsif platform[:platform] == :
|
|
18
|
-
require 'page-object/platforms/
|
|
19
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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::
|
|
7
|
-
# @see PageObject::Platforms::
|
|
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, :
|
|
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] == :
|
|
136
|
-
require 'page-object/platforms/
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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 :
|
|
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] == :
|
|
14
|
-
require 'page-object/platforms/
|
|
15
|
-
self.class.send :include, PageObject::Platforms::
|
|
16
|
-
elsif platform[:platform] == :
|
|
17
|
-
require 'page-object/platforms/
|
|
18
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
14
|
-
require 'page-object/platforms/
|
|
15
|
-
self.class.send :include, PageObject::Platforms::
|
|
16
|
-
elsif platform[:platform] == :
|
|
17
|
-
require 'page-object/platforms/
|
|
18
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
31
|
-
require 'page-object/platforms/
|
|
32
|
-
self.class.send :include, PageObject::Platforms::
|
|
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] == :
|
|
35
|
-
require 'page-object/platforms/
|
|
36
|
-
self.class.send :include, PageObject::Platforms::
|
|
37
|
-
elsif platform[:platform] == :
|
|
38
|
-
require 'page-object/platforms/
|
|
39
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
15
|
-
require 'page-object/platforms/
|
|
16
|
-
self.class.send :include, PageObject::Platforms::
|
|
17
|
-
elsif platform[:platform] == :
|
|
18
|
-
require 'page-object/platforms/
|
|
19
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
23
|
-
require 'page-object/platforms/
|
|
24
|
-
self.class.send :include, PageObject::Platforms::
|
|
25
|
-
elsif platform[:platform] == :
|
|
26
|
-
require 'page-object/platforms/
|
|
27
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
31
|
-
require 'page-object/platforms/
|
|
32
|
-
self.class.send :include, PageObject::Platforms::
|
|
33
|
-
elsif platform[:platform] == :
|
|
34
|
-
require 'page-object/platforms/
|
|
35
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
31
|
-
require 'page-object/platforms/
|
|
32
|
-
self.class.send :include, PageObject::Platforms::
|
|
33
|
-
elsif platform[:platform] == :
|
|
34
|
-
require 'page-object/platforms/
|
|
35
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
31
|
-
require 'page-object/platforms/
|
|
32
|
-
self.class.send :include, PageObject::Platforms::
|
|
33
|
-
elsif platform[:platform] == :
|
|
34
|
-
require 'page-object/platforms/
|
|
35
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
31
|
-
require 'page-object/platforms/
|
|
32
|
-
self.class.send :include, PageObject::Platforms::
|
|
33
|
-
elsif platform[:platform] == :
|
|
34
|
-
require 'page-object/platforms/
|
|
35
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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] == :
|
|
36
|
-
require 'page-object/platforms/
|
|
37
|
-
self.class.send :include, PageObject::Platforms::
|
|
38
|
-
elsif platform[:platform] == :
|
|
39
|
-
require 'page-object/platforms/
|
|
40
|
-
self.class.send :include, PageObject::Platforms::
|
|
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 :
|
|
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
|
|
@@ -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)
|