page-object 0.5.5 → 0.6
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 +9 -0
- data/Gemfile +4 -0
- data/Guardfile +21 -0
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/cucumber.yml +1 -2
- data/features/html/multi_elements.html +136 -0
- data/features/multi_elements.feature +175 -0
- data/features/step_definitions/multi_elements_steps.rb +297 -0
- data/features/support/url_helper.rb +4 -0
- data/lib/page-object/accessors.rb +1 -1
- data/lib/page-object/element_locators.rb +382 -1
- data/lib/page-object/nested_elements.rb +96 -0
- data/lib/page-object/page_factory.rb +89 -1
- data/lib/page-object/platforms/selenium_webdriver/page_object.rb +299 -250
- data/lib/page-object/platforms/watir_webdriver/page_object.rb +247 -198
- data/lib/page-object/version.rb +1 -1
- data/page-object.gemspec +1 -1
- data/spec/page-object/element_locators_spec.rb +590 -143
- data/spec/page-object/page_factory_spec.rb +65 -8
- metadata +20 -13
data/lib/page-object/version.rb
CHANGED
data/page-object.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
22
|
s.add_dependency 'watir-webdriver', '>= 0.4.1'
|
23
|
-
s.add_dependency 'selenium-webdriver', '>= 2.
|
23
|
+
s.add_dependency 'selenium-webdriver', '>= 2.16.0'
|
24
24
|
|
25
25
|
s.add_development_dependency 'rspec', '>= 2.6.0'
|
26
26
|
s.add_development_dependency 'cucumber', '>= 1.1.0'
|
@@ -6,156 +6,603 @@ end
|
|
6
6
|
|
7
7
|
|
8
8
|
describe PageObject::ElementLocators do
|
9
|
-
let(:watir_browser) { mock_watir_browser }
|
10
|
-
let(:watir_page_object) { ElementLocatorsTestPageObject.new(watir_browser) }
|
11
|
-
|
12
|
-
it "should find a button element" do
|
13
|
-
watir_browser.should_receive(:button).with(:id => 'blah').and_return(watir_browser)
|
14
|
-
element = watir_page_object.button_element(:id => 'blah')
|
15
|
-
element.should be_instance_of PageObject::Elements::Button
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should find a text field element" do
|
19
|
-
watir_browser.should_receive(:text_field).with(:id => 'blah').and_return(watir_browser)
|
20
|
-
element = watir_page_object.text_field_element(:id => 'blah')
|
21
|
-
element.should be_instance_of PageObject::Elements::TextField
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should find a hidden field element" do
|
25
|
-
watir_browser.should_receive(:hidden).with(:id => 'blah').and_return(watir_browser)
|
26
|
-
element = watir_page_object.hidden_field_element(:id => 'blah')
|
27
|
-
element.should be_instance_of PageObject::Elements::HiddenField
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should find a text area element" do
|
31
|
-
watir_browser.should_receive(:textarea).with(:id => 'blah').and_return(watir_browser)
|
32
|
-
element = watir_page_object.text_area_element(:id => 'blah')
|
33
|
-
element.should be_instance_of PageObject::Elements::TextArea
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should find a select list element" do
|
37
|
-
watir_browser.should_receive(:select_list).with(:id => 'blah').and_return(watir_browser)
|
38
|
-
element = watir_page_object.select_list_element(:id => 'blah')
|
39
|
-
element.should be_instance_of PageObject::Elements::SelectList
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should find a link element" do
|
43
|
-
watir_browser.should_receive(:link).with(:id => 'blah').and_return(watir_browser)
|
44
|
-
element = watir_page_object.link_element(:id => 'blah')
|
45
|
-
element.should be_instance_of PageObject::Elements::Link
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should find a check box" do
|
49
|
-
watir_browser.should_receive(:checkbox).with(:id => 'blah').and_return(watir_browser)
|
50
|
-
element = watir_page_object.checkbox_element(:id => 'blah')
|
51
|
-
element.should be_instance_of PageObject::Elements::CheckBox
|
52
|
-
end
|
53
|
-
|
54
|
-
it "should find a radio button" do
|
55
|
-
watir_browser.should_receive(:radio).with(:id => 'blah').and_return(watir_browser)
|
56
|
-
element = watir_page_object.radio_button_element(:id => 'blah')
|
57
|
-
element.should be_instance_of PageObject::Elements::RadioButton
|
58
|
-
end
|
59
|
-
|
60
|
-
it "should find a div" do
|
61
|
-
watir_browser.should_receive(:div).with(:id => 'blah').and_return(watir_browser)
|
62
|
-
element = watir_page_object.div_element(:id => 'blah')
|
63
|
-
element.should be_instance_of PageObject::Elements::Div
|
64
|
-
end
|
65
|
-
|
66
|
-
it "should find a span" do
|
67
|
-
watir_browser.should_receive(:span).with(:id => 'blah').and_return(watir_browser)
|
68
|
-
element = watir_page_object.span_element(:id => 'blah')
|
69
|
-
element.should be_instance_of PageObject::Elements::Span
|
70
|
-
end
|
71
|
-
|
72
|
-
it "should find a table" do
|
73
|
-
watir_browser.should_receive(:table).with(:id => 'blah').and_return(watir_browser)
|
74
|
-
element = watir_page_object.table_element(:id => 'blah')
|
75
|
-
element.should be_instance_of PageObject::Elements::Table
|
76
|
-
end
|
77
|
-
|
78
|
-
it "should find a table cell" do
|
79
|
-
watir_browser.should_receive(:td).with(:id => 'blah').and_return(watir_browser)
|
80
|
-
element = watir_page_object.cell_element(:id => 'blah')
|
81
|
-
element.should be_instance_of PageObject::Elements::TableCell
|
82
|
-
end
|
83
|
-
|
84
|
-
it "should find an image" do
|
85
|
-
watir_browser.should_receive(:image).with(:id => 'blah').and_return(watir_browser)
|
86
|
-
element = watir_page_object.image_element(:id => 'blah')
|
87
|
-
element.should be_instance_of PageObject::Elements::Image
|
88
|
-
end
|
89
|
-
|
90
|
-
it "should find a form" do
|
91
|
-
watir_browser.should_receive(:form).with(:id => 'blah').and_return(watir_browser)
|
92
|
-
element = watir_page_object.form_element(:id => 'blah')
|
93
|
-
element.should be_instance_of PageObject::Elements::Form
|
94
|
-
end
|
95
|
-
|
96
|
-
it "should find a list item" do
|
97
|
-
watir_browser.should_receive(:li).with(:id => 'blah').and_return(watir_browser)
|
98
|
-
element = watir_page_object.list_item_element(:id => 'blah')
|
99
|
-
element.should be_instance_of PageObject::Elements::ListItem
|
100
|
-
end
|
101
|
-
|
102
|
-
it "should find an unordered list" do
|
103
|
-
watir_browser.should_receive(:ul).with(:id => 'blah').and_return(watir_browser)
|
104
|
-
element = watir_page_object.unordered_list_element(:id => 'blah')
|
105
|
-
element.should be_instance_of PageObject::Elements::UnorderedList
|
106
|
-
end
|
107
|
-
|
108
|
-
it "should find an ordered list" do
|
109
|
-
watir_browser.should_receive(:ol).with(:id => 'blah').and_return(watir_browser)
|
110
|
-
element = watir_page_object.ordered_list_element(:id => 'blah')
|
111
|
-
element.should be_instance_of PageObject::Elements::OrderedList
|
112
|
-
end
|
113
|
-
|
114
|
-
it "should find a h1 element" do
|
115
|
-
watir_browser.should_receive(:h1).with(:id => 'blah').and_return(watir_browser)
|
116
|
-
element = watir_page_object.h1_element(:id => 'blah')
|
117
|
-
element.should be_instance_of PageObject::Elements::Heading
|
118
|
-
end
|
119
9
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
10
|
+
context "when using Watir" do
|
11
|
+
let(:watir_browser) { mock_watir_browser }
|
12
|
+
let(:watir_page_object) { ElementLocatorsTestPageObject.new(watir_browser) }
|
13
|
+
|
14
|
+
it "should find a button element" do
|
15
|
+
watir_browser.should_receive(:button).with(:id => 'blah').and_return(watir_browser)
|
16
|
+
element = watir_page_object.button_element(:id => 'blah')
|
17
|
+
element.should be_instance_of PageObject::Elements::Button
|
18
|
+
end
|
125
19
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
20
|
+
it "should find all button elements" do
|
21
|
+
watir_browser.should_receive(:buttons).with(:id => 'blah').and_return([watir_browser])
|
22
|
+
elements = watir_page_object.button_elements(:id => 'blah')
|
23
|
+
elements[0].should be_instance_of PageObject::Elements::Button
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should find a text field element" do
|
27
|
+
watir_browser.should_receive(:text_field).with(:id => 'blah').and_return(watir_browser)
|
28
|
+
element = watir_page_object.text_field_element(:id => 'blah')
|
29
|
+
element.should be_instance_of PageObject::Elements::TextField
|
30
|
+
end
|
131
31
|
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
32
|
+
it "should find all text field elements" do
|
33
|
+
watir_browser.should_receive(:text_fields).with(:id => 'blah').and_return([watir_browser])
|
34
|
+
elements = watir_page_object.text_field_elements(:id => 'blah')
|
35
|
+
elements[0].should be_instance_of PageObject::Elements::TextField
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should find a hidden field element" do
|
39
|
+
watir_browser.should_receive(:hidden).with(:id => 'blah').and_return(watir_browser)
|
40
|
+
element = watir_page_object.hidden_field_element(:id => 'blah')
|
41
|
+
element.should be_instance_of PageObject::Elements::HiddenField
|
42
|
+
end
|
137
43
|
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
44
|
+
it "should find all hidden field elements" do
|
45
|
+
watir_browser.should_receive(:hiddens).with(:id => 'blah').and_return([watir_browser])
|
46
|
+
elements = watir_page_object.hidden_field_elements(:id => 'blah')
|
47
|
+
elements[0].should be_instance_of(PageObject::Elements::HiddenField)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should find a text area element" do
|
51
|
+
watir_browser.should_receive(:textarea).with(:id => 'blah').and_return(watir_browser)
|
52
|
+
element = watir_page_object.text_area_element(:id => 'blah')
|
53
|
+
element.should be_instance_of PageObject::Elements::TextArea
|
54
|
+
end
|
143
55
|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
56
|
+
it "should find all text area elements" do
|
57
|
+
watir_browser.should_receive(:textareas).with(:id => 'blah').and_return([watir_browser])
|
58
|
+
elements = watir_page_object.text_area_elements(:id => 'blah')
|
59
|
+
elements[0].should be_instance_of PageObject::Elements::TextArea
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should find a select list element" do
|
63
|
+
watir_browser.should_receive(:select_list).with(:id => 'blah').and_return(watir_browser)
|
64
|
+
element = watir_page_object.select_list_element(:id => 'blah')
|
65
|
+
element.should be_instance_of PageObject::Elements::SelectList
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should find all select list elements" do
|
69
|
+
watir_browser.should_receive(:select_lists).with(:id => 'blah').and_return([watir_browser])
|
70
|
+
elements = watir_page_object.select_list_elements(:id => 'blah')
|
71
|
+
elements[0].should be_instance_of PageObject::Elements::SelectList
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should find a link element" do
|
75
|
+
watir_browser.should_receive(:link).with(:id => 'blah').and_return(watir_browser)
|
76
|
+
element = watir_page_object.link_element(:id => 'blah')
|
77
|
+
element.should be_instance_of PageObject::Elements::Link
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should find all link elements" do
|
81
|
+
watir_browser.should_receive(:links).with(:id => 'blah').and_return([watir_browser])
|
82
|
+
elements = watir_page_object.link_elements(:id => 'blah')
|
83
|
+
elements[0].should be_instance_of PageObject::Elements::Link
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should find a check box" do
|
87
|
+
watir_browser.should_receive(:checkbox).with(:id => 'blah').and_return(watir_browser)
|
88
|
+
element = watir_page_object.checkbox_element(:id => 'blah')
|
89
|
+
element.should be_instance_of PageObject::Elements::CheckBox
|
90
|
+
end
|
91
|
+
|
92
|
+
it "should find all check box elements" do
|
93
|
+
watir_browser.should_receive(:checkboxes).with(:id => 'blah').and_return([watir_browser])
|
94
|
+
elements = watir_page_object.checkbox_elements(:id => 'blah')
|
95
|
+
elements[0].should be_instance_of PageObject::Elements::CheckBox
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should find a radio button" do
|
99
|
+
watir_browser.should_receive(:radio).with(:id => 'blah').and_return(watir_browser)
|
100
|
+
element = watir_page_object.radio_button_element(:id => 'blah')
|
101
|
+
element.should be_instance_of PageObject::Elements::RadioButton
|
102
|
+
end
|
103
|
+
|
104
|
+
it "should find all radio buttons" do
|
105
|
+
watir_browser.should_receive(:radios).with(:id => 'blah').and_return([watir_browser])
|
106
|
+
elements = watir_page_object.radio_button_elements(:id => 'blah')
|
107
|
+
elements[0].should be_instance_of PageObject::Elements::RadioButton
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should find a div" do
|
111
|
+
watir_browser.should_receive(:div).with(:id => 'blah').and_return(watir_browser)
|
112
|
+
element = watir_page_object.div_element(:id => 'blah')
|
113
|
+
element.should be_instance_of PageObject::Elements::Div
|
114
|
+
end
|
115
|
+
|
116
|
+
it "should find all div elements" do
|
117
|
+
watir_browser.should_receive(:divs).with(:id => 'blah').and_return([watir_browser])
|
118
|
+
elements = watir_page_object.div_elements(:id => 'blah')
|
119
|
+
elements[0].should be_instance_of PageObject::Elements::Div
|
120
|
+
end
|
121
|
+
|
122
|
+
it "should find a span" do
|
123
|
+
watir_browser.should_receive(:span).with(:id => 'blah').and_return(watir_browser)
|
124
|
+
element = watir_page_object.span_element(:id => 'blah')
|
125
|
+
element.should be_instance_of PageObject::Elements::Span
|
126
|
+
end
|
127
|
+
|
128
|
+
it "should find all span elements" do
|
129
|
+
watir_browser.should_receive(:spans).with(:id => 'blah').and_return([watir_browser])
|
130
|
+
elements = watir_page_object.span_elements(:id => 'blah')
|
131
|
+
elements[0].should be_instance_of PageObject::Elements::Span
|
132
|
+
end
|
133
|
+
|
134
|
+
it "should find a table" do
|
135
|
+
watir_browser.should_receive(:table).with(:id => 'blah').and_return(watir_browser)
|
136
|
+
element = watir_page_object.table_element(:id => 'blah')
|
137
|
+
element.should be_instance_of PageObject::Elements::Table
|
138
|
+
end
|
139
|
+
|
140
|
+
it "should find all table elements" do
|
141
|
+
watir_browser.should_receive(:tables).with(:id => 'blah').and_return([watir_browser])
|
142
|
+
elements = watir_page_object.table_elements(:id => 'blah')
|
143
|
+
elements[0].should be_instance_of PageObject::Elements::Table
|
144
|
+
end
|
145
|
+
|
146
|
+
it "should find a table cell" do
|
147
|
+
watir_browser.should_receive(:td).with(:id => 'blah').and_return(watir_browser)
|
148
|
+
element = watir_page_object.cell_element(:id => 'blah')
|
149
|
+
element.should be_instance_of PageObject::Elements::TableCell
|
150
|
+
end
|
151
|
+
|
152
|
+
it "should find all table cells" do
|
153
|
+
watir_browser.should_receive(:tds).with(:id => 'blah').and_return([watir_browser])
|
154
|
+
elements = watir_page_object.cell_elements(:id => 'blah')
|
155
|
+
elements[0].should be_instance_of PageObject::Elements::TableCell
|
156
|
+
end
|
157
|
+
|
158
|
+
it "should find an image" do
|
159
|
+
watir_browser.should_receive(:image).with(:id => 'blah').and_return(watir_browser)
|
160
|
+
element = watir_page_object.image_element(:id => 'blah')
|
161
|
+
element.should be_instance_of PageObject::Elements::Image
|
162
|
+
end
|
163
|
+
|
164
|
+
it "should find all images" do
|
165
|
+
watir_browser.should_receive(:images).with(:id => 'blah').and_return([watir_browser])
|
166
|
+
elements = watir_page_object.image_elements(:id => 'blah')
|
167
|
+
elements[0].should be_instance_of PageObject::Elements::Image
|
168
|
+
end
|
169
|
+
|
170
|
+
it "should find a form" do
|
171
|
+
watir_browser.should_receive(:form).with(:id => 'blah').and_return(watir_browser)
|
172
|
+
element = watir_page_object.form_element(:id => 'blah')
|
173
|
+
element.should be_instance_of PageObject::Elements::Form
|
174
|
+
end
|
175
|
+
|
176
|
+
it "should find all forms" do
|
177
|
+
watir_browser.should_receive(:forms).with(:id => 'blah').and_return([watir_browser])
|
178
|
+
elements = watir_page_object.form_elements(:id => 'blah')
|
179
|
+
elements[0].should be_instance_of PageObject::Elements::Form
|
180
|
+
end
|
181
|
+
|
182
|
+
it "should find a list item" do
|
183
|
+
watir_browser.should_receive(:li).with(:id => 'blah').and_return(watir_browser)
|
184
|
+
element = watir_page_object.list_item_element(:id => 'blah')
|
185
|
+
element.should be_instance_of PageObject::Elements::ListItem
|
186
|
+
end
|
187
|
+
|
188
|
+
it "should find all list items" do
|
189
|
+
watir_browser.should_receive(:lis).with(:id => 'blah').and_return([watir_browser])
|
190
|
+
elements = watir_page_object.list_item_elements(:id => 'blah')
|
191
|
+
elements[0].should be_instance_of PageObject::Elements::ListItem
|
192
|
+
end
|
193
|
+
|
194
|
+
it "should find an unordered list" do
|
195
|
+
watir_browser.should_receive(:ul).with(:id => 'blah').and_return(watir_browser)
|
196
|
+
element = watir_page_object.unordered_list_element(:id => 'blah')
|
197
|
+
element.should be_instance_of PageObject::Elements::UnorderedList
|
198
|
+
end
|
199
|
+
|
200
|
+
it "should find all unordered lists" do
|
201
|
+
watir_browser.should_receive(:uls).with(:id => 'blah').and_return([watir_browser])
|
202
|
+
elements = watir_page_object.unordered_list_elements(:id => 'blah')
|
203
|
+
elements[0].should be_instance_of PageObject::Elements::UnorderedList
|
204
|
+
end
|
205
|
+
|
206
|
+
it "should find an ordered list" do
|
207
|
+
watir_browser.should_receive(:ol).with(:id => 'blah').and_return(watir_browser)
|
208
|
+
element = watir_page_object.ordered_list_element(:id => 'blah')
|
209
|
+
element.should be_instance_of PageObject::Elements::OrderedList
|
210
|
+
end
|
211
|
+
|
212
|
+
it "should find all ordered lists" do
|
213
|
+
watir_browser.should_receive(:ols).with(:id => 'blah').and_return([watir_browser])
|
214
|
+
elements = watir_page_object.ordered_list_elements(:id => 'blah')
|
215
|
+
elements[0].should be_instance_of PageObject::Elements::OrderedList
|
216
|
+
end
|
217
|
+
|
218
|
+
it "should find a h1 element" do
|
219
|
+
watir_browser.should_receive(:h1).with(:id => 'blah').and_return(watir_browser)
|
220
|
+
element = watir_page_object.h1_element(:id => 'blah')
|
221
|
+
element.should be_instance_of PageObject::Elements::Heading
|
222
|
+
end
|
223
|
+
|
224
|
+
it "shoudl find all h1 elements" do
|
225
|
+
watir_browser.should_receive(:h1s).with(:id => 'blah').and_return([watir_browser])
|
226
|
+
elements = watir_page_object.h1_elements(:id => 'blah')
|
227
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
228
|
+
end
|
229
|
+
|
230
|
+
it "should find a h2 element" do
|
231
|
+
watir_browser.should_receive(:h2).with(:id => 'blah').and_return(watir_browser)
|
232
|
+
element = watir_page_object.h2_element(:id => 'blah')
|
233
|
+
element.should be_instance_of PageObject::Elements::Heading
|
234
|
+
end
|
235
|
+
|
236
|
+
it "should find all h2 elements" do
|
237
|
+
watir_browser.should_receive(:h2s).with(:id => 'blah').and_return([watir_browser])
|
238
|
+
elements = watir_page_object.h2_elements(:id => 'blah')
|
239
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
240
|
+
end
|
241
|
+
|
242
|
+
it "should find a h3 element" do
|
243
|
+
watir_browser.should_receive(:h3).with(:id => 'blah').and_return(watir_browser)
|
244
|
+
element = watir_page_object.h3_element(:id => 'blah')
|
245
|
+
element.should be_instance_of PageObject::Elements::Heading
|
246
|
+
end
|
247
|
+
|
248
|
+
it "should find all h3 elements" do
|
249
|
+
watir_browser.should_receive(:h3s).with(:id => 'blah').and_return([watir_browser])
|
250
|
+
elements = watir_page_object.h3_elements(:id => 'blah')
|
251
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
252
|
+
end
|
253
|
+
|
254
|
+
it "should find a h4 element" do
|
255
|
+
watir_browser.should_receive(:h4).with(:id => 'blah').and_return(watir_browser)
|
256
|
+
element = watir_page_object.h4_element(:id => 'blah')
|
257
|
+
element.should be_instance_of PageObject::Elements::Heading
|
258
|
+
end
|
149
259
|
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
260
|
+
it "should find all h4 elements" do
|
261
|
+
watir_browser.should_receive(:h4s).with(:id => 'blah').and_return([watir_browser])
|
262
|
+
elements = watir_page_object.h4_elements(:id => 'blah')
|
263
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
264
|
+
end
|
265
|
+
|
266
|
+
it "should find a h5 element" do
|
267
|
+
watir_browser.should_receive(:h5).with(:id => 'blah').and_return(watir_browser)
|
268
|
+
element = watir_page_object.h5_element(:id => 'blah')
|
269
|
+
element.should be_instance_of PageObject::Elements::Heading
|
270
|
+
end
|
271
|
+
|
272
|
+
it "should find all h5 elements" do
|
273
|
+
watir_browser.should_receive(:h5s).with(:id => 'blah').and_return([watir_browser])
|
274
|
+
elements = watir_page_object.h5_elements(:id => 'blah')
|
275
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
276
|
+
end
|
277
|
+
|
278
|
+
it "should find a h6 element" do
|
279
|
+
watir_browser.should_receive(:h6).with(:id => 'blah').and_return(watir_browser)
|
280
|
+
element = watir_page_object.h6_element(:id => 'blah')
|
281
|
+
element.should be_instance_of PageObject::Elements::Heading
|
282
|
+
end
|
283
|
+
|
284
|
+
it "should find all h6 elements" do
|
285
|
+
watir_browser.should_receive(:h6s).with(:id => 'blah').and_return([watir_browser])
|
286
|
+
elements = watir_page_object.h6_elements(:id => 'blah')
|
287
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
288
|
+
end
|
289
|
+
|
290
|
+
it "should find a paragraph element" do
|
291
|
+
watir_browser.should_receive(:p).with(:id => 'blah').and_return(watir_browser)
|
292
|
+
element = watir_page_object.paragraph_element(:id => 'blah')
|
293
|
+
element.should be_instance_of PageObject::Elements::Paragraph
|
294
|
+
end
|
295
|
+
|
296
|
+
it "should find all paragraph elements" do
|
297
|
+
watir_browser.should_receive(:ps).with(:id => 'blah').and_return([watir_browser])
|
298
|
+
elements = watir_page_object.paragraph_elements(:id => 'blah')
|
299
|
+
elements[0].should be_instance_of PageObject::Elements::Paragraph
|
300
|
+
end
|
301
|
+
|
302
|
+
it "should find a file field element" do
|
303
|
+
watir_browser.should_receive(:file_field).with(:id => 'blah').and_return(watir_browser)
|
304
|
+
element = watir_page_object.file_field_element(:id => 'blah')
|
305
|
+
element.should be_instance_of PageObject::Elements::FileField
|
306
|
+
end
|
154
307
|
end
|
155
308
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
309
|
+
context "when using Selenium" do
|
310
|
+
let(:selenium_browser) { mock_selenium_browser }
|
311
|
+
let(:selenium_page_object) { ElementLocatorsTestPageObject.new(selenium_browser) }
|
312
|
+
|
313
|
+
it "should find a button element" do
|
314
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
315
|
+
element = selenium_page_object.button_element(:id => 'blah')
|
316
|
+
element.should be_instance_of PageObject::Elements::Button
|
317
|
+
end
|
318
|
+
|
319
|
+
it "should find all button elements" do
|
320
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
321
|
+
elements = selenium_page_object.button_elements(:id => 'blah')
|
322
|
+
elements[0].should be_instance_of PageObject::Elements::Button
|
323
|
+
end
|
324
|
+
|
325
|
+
it "should find a text field element" do
|
326
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
327
|
+
element = selenium_page_object.text_field_element(:id => 'blah')
|
328
|
+
element.should be_instance_of PageObject::Elements::TextField
|
329
|
+
end
|
330
|
+
|
331
|
+
it "should find all text field elements" do
|
332
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
333
|
+
elements = selenium_page_object.text_field_elements(:id => 'blah')
|
334
|
+
elements[0].should be_instance_of PageObject::Elements::TextField
|
335
|
+
end
|
336
|
+
|
337
|
+
it "should find a hidden field element" do
|
338
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
339
|
+
element = selenium_page_object.hidden_field_element(:id => 'blah')
|
340
|
+
element.should be_instance_of PageObject::Elements::HiddenField
|
341
|
+
end
|
342
|
+
|
343
|
+
it "should find all hidden field elements" do
|
344
|
+
selenium_browser.should_receive(:find_elements).with(:id, "blah").and_return([selenium_browser])
|
345
|
+
elements = selenium_page_object.hidden_field_elements(:id => 'blah')
|
346
|
+
elements[0].should be_instance_of PageObject::Elements::HiddenField
|
347
|
+
|
348
|
+
end
|
349
|
+
|
350
|
+
it "should find a text area element" do
|
351
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
352
|
+
element = selenium_page_object.text_area_element(:id => 'blah')
|
353
|
+
element.should be_instance_of PageObject::Elements::TextArea
|
354
|
+
end
|
355
|
+
|
356
|
+
it "should find all text area elements" do
|
357
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
358
|
+
elements = selenium_page_object.text_area_elements(:id => 'blah')
|
359
|
+
elements[0].should be_instance_of PageObject::Elements::TextArea
|
360
|
+
end
|
361
|
+
|
362
|
+
it "should find a select list element" do
|
363
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
364
|
+
element = selenium_page_object.select_list_element(:id => 'blah')
|
365
|
+
element.should be_instance_of PageObject::Elements::SelectList
|
366
|
+
end
|
367
|
+
|
368
|
+
it "should find all select list elements" do
|
369
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
370
|
+
elements = selenium_page_object.select_list_elements(:id => 'blah')
|
371
|
+
elements[0].should be_instance_of PageObject::Elements::SelectList
|
372
|
+
end
|
373
|
+
|
374
|
+
it "should find a link element" do
|
375
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
376
|
+
element = selenium_page_object.link_element(:id => 'blah')
|
377
|
+
element.should be_instance_of PageObject::Elements::Link
|
378
|
+
end
|
379
|
+
|
380
|
+
it "should find all link elements" do
|
381
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
382
|
+
elements = selenium_page_object.link_elements(:id => 'blah')
|
383
|
+
elements[0].should be_instance_of PageObject::Elements::Link
|
384
|
+
end
|
385
|
+
|
386
|
+
it "should find a check box" do
|
387
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
388
|
+
element = selenium_page_object.checkbox_element(:id => 'blah')
|
389
|
+
element.should be_instance_of PageObject::Elements::CheckBox
|
390
|
+
end
|
391
|
+
|
392
|
+
it "should find all checkbox elements" do
|
393
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
394
|
+
elements = selenium_page_object.checkbox_elements(:id => 'blah')
|
395
|
+
elements[0].should be_instance_of PageObject::Elements::CheckBox
|
396
|
+
end
|
397
|
+
|
398
|
+
it "should find a radio button" do
|
399
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
400
|
+
element = selenium_page_object.radio_button_element(:id => 'blah')
|
401
|
+
element.should be_instance_of PageObject::Elements::RadioButton
|
402
|
+
end
|
403
|
+
|
404
|
+
it "should find all radio button elements" do
|
405
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
406
|
+
elements = selenium_page_object.radio_button_elements(:id => 'blah')
|
407
|
+
elements[0].should be_instance_of PageObject::Elements::RadioButton
|
408
|
+
end
|
409
|
+
|
410
|
+
it "should find a div" do
|
411
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
412
|
+
element = selenium_page_object.div_element(:id => 'blah')
|
413
|
+
element.should be_instance_of PageObject::Elements::Div
|
414
|
+
end
|
415
|
+
|
416
|
+
it "should find all div elements" do
|
417
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
418
|
+
elements = selenium_page_object.div_elements(:id => 'blah')
|
419
|
+
elements[0].should be_instance_of PageObject::Elements::Div
|
420
|
+
end
|
421
|
+
|
422
|
+
it "should find a span" do
|
423
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
424
|
+
element = selenium_page_object.span_element(:id => 'blah')
|
425
|
+
element.should be_instance_of PageObject::Elements::Span
|
426
|
+
end
|
427
|
+
|
428
|
+
it "should find all span elements" do
|
429
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
430
|
+
elements = selenium_page_object.span_elements(:id => 'blah')
|
431
|
+
elements[0].should be_instance_of PageObject::Elements::Span
|
432
|
+
end
|
433
|
+
|
434
|
+
it "should find a table" do
|
435
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
436
|
+
element = selenium_page_object.table_element(:id => 'blah')
|
437
|
+
element.should be_instance_of PageObject::Elements::Table
|
438
|
+
end
|
439
|
+
|
440
|
+
it "should find all table elements" do
|
441
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
442
|
+
elements = selenium_page_object.table_elements(:id => 'blah')
|
443
|
+
elements[0].should be_instance_of PageObject::Elements::Table
|
444
|
+
end
|
445
|
+
|
446
|
+
it "should find a table cell" do
|
447
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
448
|
+
element = selenium_page_object.cell_element(:id => 'blah')
|
449
|
+
element.should be_instance_of PageObject::Elements::TableCell
|
450
|
+
end
|
451
|
+
|
452
|
+
it "should find all table cell elements" do
|
453
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
454
|
+
elements = selenium_page_object.cell_elements(:id => 'blah')
|
455
|
+
elements[0].should be_instance_of PageObject::Elements::TableCell
|
456
|
+
end
|
457
|
+
|
458
|
+
it "should find an image" do
|
459
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
460
|
+
element = selenium_page_object.image_element(:id => 'blah')
|
461
|
+
element.should be_instance_of PageObject::Elements::Image
|
462
|
+
end
|
463
|
+
|
464
|
+
it "should find all image elements" do
|
465
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
466
|
+
elements = selenium_page_object.image_elements(:id => 'blah')
|
467
|
+
elements[0].should be_instance_of PageObject::Elements::Image
|
468
|
+
end
|
469
|
+
|
470
|
+
it "should find a form" do
|
471
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
472
|
+
element = selenium_page_object.form_element(:id => 'blah')
|
473
|
+
element.should be_instance_of PageObject::Elements::Form
|
474
|
+
end
|
475
|
+
|
476
|
+
it "should find all forms" do
|
477
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
478
|
+
elements = selenium_page_object.form_elements(:id => 'blah')
|
479
|
+
elements[0].should be_instance_of PageObject::Elements::Form
|
480
|
+
end
|
481
|
+
|
482
|
+
it "should find a list item" do
|
483
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
484
|
+
element = selenium_page_object.list_item_element(:id => 'blah')
|
485
|
+
element.should be_instance_of PageObject::Elements::ListItem
|
486
|
+
end
|
487
|
+
|
488
|
+
it "should find all list items" do
|
489
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
490
|
+
element = selenium_page_object.list_item_elements(:id => 'blah')
|
491
|
+
element[0].should be_instance_of PageObject::Elements::ListItem
|
492
|
+
end
|
493
|
+
|
494
|
+
it "should find an unordered list" do
|
495
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
496
|
+
element = selenium_page_object.unordered_list_element(:id => 'blah')
|
497
|
+
element.should be_instance_of PageObject::Elements::UnorderedList
|
498
|
+
end
|
499
|
+
|
500
|
+
it "should find all unordered lists" do
|
501
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
502
|
+
elements = selenium_page_object.unordered_list_elements(:id => 'blah')
|
503
|
+
elements[0].should be_instance_of PageObject::Elements::UnorderedList
|
504
|
+
end
|
505
|
+
|
506
|
+
it "should find an ordered list" do
|
507
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
508
|
+
element = selenium_page_object.ordered_list_element(:id => 'blah')
|
509
|
+
element.should be_instance_of PageObject::Elements::OrderedList
|
510
|
+
end
|
511
|
+
|
512
|
+
it "should find all orderd list elements" do
|
513
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
514
|
+
elements = selenium_page_object.ordered_list_elements(:id => 'blah')
|
515
|
+
elements[0].should be_instance_of PageObject::Elements::OrderedList
|
516
|
+
end
|
517
|
+
|
518
|
+
it "should find a h1 element" do
|
519
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
520
|
+
element = selenium_page_object.h1_element(:id => 'blah')
|
521
|
+
element.should be_instance_of PageObject::Elements::Heading
|
522
|
+
end
|
523
|
+
|
524
|
+
it "should find all h1 elements" do
|
525
|
+
selenium_browser.should_receive(:find_elements).with(:id, "blah").and_return([selenium_browser])
|
526
|
+
elements = selenium_page_object.h1_elements(:id => 'blah')
|
527
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
528
|
+
end
|
529
|
+
|
530
|
+
it "should find a h2 element" do
|
531
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
532
|
+
element = selenium_page_object.h2_element(:id => 'blah')
|
533
|
+
element.should be_instance_of PageObject::Elements::Heading
|
534
|
+
end
|
535
|
+
|
536
|
+
it "should find all h2 elements" do
|
537
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
538
|
+
elements = selenium_page_object.h2_elements(:id => 'blah')
|
539
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
540
|
+
end
|
541
|
+
|
542
|
+
it "should find a h3 element" do
|
543
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
544
|
+
element = selenium_page_object.h3_element(:id => 'blah')
|
545
|
+
element.should be_instance_of PageObject::Elements::Heading
|
546
|
+
end
|
547
|
+
|
548
|
+
it "should find all h3 elements" do
|
549
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
550
|
+
elements = selenium_page_object.h3_elements(:id => 'blah')
|
551
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
552
|
+
end
|
553
|
+
|
554
|
+
it "should find a h4 element" do
|
555
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
556
|
+
element = selenium_page_object.h4_element(:id => 'blah')
|
557
|
+
element.should be_instance_of PageObject::Elements::Heading
|
558
|
+
end
|
559
|
+
|
560
|
+
it "should find all h4 elements" do
|
561
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
562
|
+
elements = selenium_page_object.h4_elements(:id => 'blah')
|
563
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
564
|
+
end
|
565
|
+
|
566
|
+
it "should find a h5 element" do
|
567
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
568
|
+
element = selenium_page_object.h5_element(:id => 'blah')
|
569
|
+
element.should be_instance_of PageObject::Elements::Heading
|
570
|
+
end
|
571
|
+
|
572
|
+
it "should find all h5 elements" do
|
573
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
574
|
+
elements = selenium_page_object.h5_elements(:id => 'blah')
|
575
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
576
|
+
end
|
577
|
+
|
578
|
+
it "should find a h6 element" do
|
579
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
580
|
+
element = selenium_page_object.h6_element(:id => 'blah')
|
581
|
+
element.should be_instance_of PageObject::Elements::Heading
|
582
|
+
end
|
583
|
+
|
584
|
+
it "should find all h6 elements" do
|
585
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
586
|
+
elements = selenium_page_object.h6_elements(:id => 'blah')
|
587
|
+
elements[0].should be_instance_of PageObject::Elements::Heading
|
588
|
+
end
|
589
|
+
|
590
|
+
it "should find a paragraph element" do
|
591
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
592
|
+
element = selenium_page_object.paragraph_element(:id => 'blah')
|
593
|
+
element.should be_instance_of PageObject::Elements::Paragraph
|
594
|
+
end
|
595
|
+
|
596
|
+
it "should find all paragraph elements" do
|
597
|
+
selenium_browser.should_receive(:find_elements).with(:id, 'blah').and_return([selenium_browser])
|
598
|
+
elements = selenium_page_object.paragraph_elements(:id => 'blah')
|
599
|
+
elements[0].should be_instance_of PageObject::Elements::Paragraph
|
600
|
+
end
|
601
|
+
|
602
|
+
it "should find a file field element" do
|
603
|
+
selenium_browser.should_receive(:find_element).with(:id, 'blah').and_return(selenium_browser)
|
604
|
+
element = selenium_page_object.file_field_element(:id => 'blah')
|
605
|
+
element.should be_instance_of PageObject::Elements::FileField
|
606
|
+
end
|
160
607
|
end
|
161
608
|
end
|