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.
- 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
@@ -1,6 +1,6 @@
|
|
1
1
|
module PageObject
|
2
2
|
module Platforms
|
3
|
-
module
|
3
|
+
module WatirWebDriver
|
4
4
|
module SelectList
|
5
5
|
|
6
6
|
#
|
@@ -10,7 +10,7 @@ module PageObject
|
|
10
10
|
# @return [PageObject::Elements::Option]
|
11
11
|
#
|
12
12
|
def [](idx)
|
13
|
-
PageObject::Elements::Option.new(options[idx], :platform => :
|
13
|
+
Object::PageObject::Elements::Option.new(options[idx], :platform => :watir_webdriver)
|
14
14
|
end
|
15
15
|
|
16
16
|
#
|
@@ -29,7 +29,7 @@ module PageObject
|
|
29
29
|
elements = []
|
30
30
|
options = @element.wd.find_elements(:xpath, child_xpath)
|
31
31
|
options.each do |opt|
|
32
|
-
elements << PageObject::Elements::Option.new(opt, :platform => :
|
32
|
+
elements << Object::PageObject::Elements::Option.new(opt, :platform => :watir_webdriver)
|
33
33
|
end
|
34
34
|
elements
|
35
35
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module PageObject
|
2
2
|
module Platforms
|
3
|
-
module
|
3
|
+
module WatirWebDriver
|
4
4
|
|
5
5
|
module Table
|
6
6
|
|
@@ -11,7 +11,7 @@ module PageObject
|
|
11
11
|
# @return [PageObject::Elements::TableRow]
|
12
12
|
#
|
13
13
|
def [](idx)
|
14
|
-
PageObject::Elements::TableRow.new(@element[idx], :platform => :
|
14
|
+
Object::PageObject::Elements::TableRow.new(@element[idx], :platform => :watir_webdriver)
|
15
15
|
end
|
16
16
|
|
17
17
|
#
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module PageObject
|
2
2
|
module Platforms
|
3
|
-
module
|
3
|
+
module WatirWebDriver
|
4
4
|
module TableRow
|
5
5
|
|
6
6
|
#
|
@@ -8,7 +8,7 @@ module PageObject
|
|
8
8
|
# is zero based.
|
9
9
|
#
|
10
10
|
def [](idx)
|
11
|
-
PageObject::Elements::TableCell.new(element[idx], :platform => :
|
11
|
+
Object::PageObject::Elements::TableCell.new(element[idx], :platform => :watir_webdriver)
|
12
12
|
end
|
13
13
|
|
14
14
|
#
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module PageObject
|
2
2
|
module Platforms
|
3
|
-
module
|
3
|
+
module WatirWebDriver
|
4
4
|
module UnorderedList
|
5
5
|
|
6
6
|
#
|
@@ -11,7 +11,7 @@ module PageObject
|
|
11
11
|
#
|
12
12
|
def [](idx)
|
13
13
|
eles = list_items
|
14
|
-
PageObject::Elements::ListItem.new(eles[idx], :platform => :
|
14
|
+
Object::PageObject::Elements::ListItem.new(eles[idx], :platform => :watir_webdriver)
|
15
15
|
end
|
16
16
|
|
17
17
|
#
|
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.3.2'
|
23
|
-
s.add_dependency 'selenium-webdriver', '>= 2.
|
23
|
+
s.add_dependency 'selenium-webdriver', '>= 2.5.0'
|
24
24
|
|
25
25
|
s.add_development_dependency 'rspec', '>= 2.6.0'
|
26
26
|
s.add_development_dependency 'cucumber', '>= 1.0.0'
|
@@ -25,7 +25,7 @@ describe PageObject::Elements::Button do
|
|
25
25
|
|
26
26
|
context "for selenium" do
|
27
27
|
it "should return error when asked for its' text" do
|
28
|
-
button = PageObject::Elements::Button.new(button_element, :platform => :
|
28
|
+
button = PageObject::Elements::Button.new(button_element, :platform => :selenium_webdriver)
|
29
29
|
lambda { button.text }.should raise_error
|
30
30
|
end
|
31
31
|
end
|
@@ -21,7 +21,7 @@ describe PageObject::Elements::CheckBox do
|
|
21
21
|
|
22
22
|
describe "interface" do
|
23
23
|
let(:check_box) { double('check_box') }
|
24
|
-
let(:selenium_cb) { PageObject::Elements::CheckBox.new(check_box, :platform => :
|
24
|
+
let(:selenium_cb) { PageObject::Elements::CheckBox.new(check_box, :platform => :selenium_webdriver) }
|
25
25
|
|
26
26
|
|
27
27
|
context "for selenium" do
|
@@ -3,14 +3,12 @@ require 'page-object/elements'
|
|
3
3
|
|
4
4
|
|
5
5
|
describe PageObject::Elements::Element do
|
6
|
-
let(:watir_driver) { double('watir') }
|
7
|
-
let(:selenium_driver) { double('selenium') }
|
8
|
-
let(:watir_element) { PageObject::Elements::Element.new(watir_driver, :platform => :watir) }
|
9
|
-
let(:selenium_element) { PageObject::Elements::Element.new(selenium_driver, :platform => :selenium) }
|
10
6
|
let(:element) { PageObject::Elements::Element }
|
11
7
|
|
12
8
|
context "when handling unknown requests" do
|
13
9
|
it "should delegate to the driver element" do
|
10
|
+
watir_driver = double('watir')
|
11
|
+
watir_element = PageObject::Elements::Element.new(watir_driver, :platform => :watir_webdriver)
|
14
12
|
watir_driver.should_receive(:do_this)
|
15
13
|
watir_element.do_this
|
16
14
|
end
|
@@ -90,6 +88,9 @@ describe PageObject::Elements::Element do
|
|
90
88
|
end
|
91
89
|
|
92
90
|
context "when using Watir" do
|
91
|
+
let(:watir_driver) { double('watir_element_driver') }
|
92
|
+
let(:watir_element) { PageObject::Elements::Element.new(watir_driver, :platform => :watir_webdriver) }
|
93
|
+
|
93
94
|
it "should know when it is visible" do
|
94
95
|
watir_driver.should_receive(:present?).and_return(true)
|
95
96
|
watir_element.visible?.should == true
|
@@ -183,6 +184,9 @@ describe PageObject::Elements::Element do
|
|
183
184
|
end
|
184
185
|
|
185
186
|
context "when using Selenium" do
|
187
|
+
let(:selenium_driver) { double('selenium') }
|
188
|
+
let(:selenium_element) { PageObject::Elements::Element.new(selenium_driver, :platform => :selenium_webdriver) }
|
189
|
+
|
186
190
|
it "should know when it is visible" do
|
187
191
|
selenium_driver.should_receive(:displayed?).and_return(true)
|
188
192
|
selenium_element.visible?.should == true
|
@@ -198,7 +202,7 @@ describe PageObject::Elements::Element do
|
|
198
202
|
end
|
199
203
|
|
200
204
|
it "should know when it does not exist" do
|
201
|
-
selenium_element = PageObject::Elements::Element.new(nil, :platform => :
|
205
|
+
selenium_element = PageObject::Elements::Element.new(nil, :platform => :selenium_webdriver)
|
202
206
|
selenium_element.exists?.should == false
|
203
207
|
end
|
204
208
|
|
@@ -7,7 +7,7 @@ describe PageObject::Elements::Form do
|
|
7
7
|
|
8
8
|
context "for watir" do
|
9
9
|
it "should submit a form" do
|
10
|
-
form = PageObject::Elements::Form.new(form_element, :platform => :
|
10
|
+
form = PageObject::Elements::Form.new(form_element, :platform => :watir_webdriver)
|
11
11
|
form_element.should_receive(:submit)
|
12
12
|
form.submit
|
13
13
|
end
|
@@ -15,7 +15,7 @@ describe PageObject::Elements::Form do
|
|
15
15
|
|
16
16
|
context "for selenium" do
|
17
17
|
it "should submit a form" do
|
18
|
-
form = PageObject::Elements::Form.new(form_element, :platform => :
|
18
|
+
form = PageObject::Elements::Form.new(form_element, :platform => :selenium_webdriver)
|
19
19
|
form_element.should_receive(:submit)
|
20
20
|
form.submit
|
21
21
|
end
|
@@ -29,13 +29,13 @@ describe PageObject::Elements::Image do
|
|
29
29
|
|
30
30
|
context "for watir" do
|
31
31
|
it "should know the images width" do
|
32
|
-
image = PageObject::Elements::Image.new(image_element, :platform => :
|
32
|
+
image = PageObject::Elements::Image.new(image_element, :platform => :watir_webdriver)
|
33
33
|
image_element.should_receive(:width).and_return(100)
|
34
34
|
image.width.should == 100
|
35
35
|
end
|
36
36
|
|
37
37
|
it "should know the images height" do
|
38
|
-
image = PageObject::Elements::Image.new(image_element, :platform => :
|
38
|
+
image = PageObject::Elements::Image.new(image_element, :platform => :watir_webdriver)
|
39
39
|
image_element.should_receive(:height).and_return(120)
|
40
40
|
image.height.should == 120
|
41
41
|
end
|
@@ -44,7 +44,7 @@ describe PageObject::Elements::Image do
|
|
44
44
|
context "for selenium" do
|
45
45
|
it "should know the images width" do
|
46
46
|
dim = double('dimension')
|
47
|
-
image = PageObject::Elements::Image.new(image_element, :platform => :
|
47
|
+
image = PageObject::Elements::Image.new(image_element, :platform => :selenium_webdriver)
|
48
48
|
image_element.should_receive(:size).and_return(dim)
|
49
49
|
dim.should_receive(:width).and_return(100)
|
50
50
|
image.width.should == 100
|
@@ -52,7 +52,7 @@ describe PageObject::Elements::Image do
|
|
52
52
|
|
53
53
|
it "should know the images height" do
|
54
54
|
dim = double('dimension')
|
55
|
-
image = PageObject::Elements::Image.new(image_element, :platform => :
|
55
|
+
image = PageObject::Elements::Image.new(image_element, :platform => :selenium_webdriver)
|
56
56
|
image_element.should_receive(:size).and_return(dim)
|
57
57
|
dim.should_receive(:height).and_return(120)
|
58
58
|
image.height.should == 120
|
@@ -37,7 +37,7 @@ describe PageObject::Elements::Link do
|
|
37
37
|
|
38
38
|
context "for selenium" do
|
39
39
|
it "should return error when asked for its' value" do
|
40
|
-
link = PageObject::Elements::Link.new(link_element, :platform => :
|
40
|
+
link = PageObject::Elements::Link.new(link_element, :platform => :selenium_webdriver)
|
41
41
|
lambda { link.value }.should raise_error
|
42
42
|
end
|
43
43
|
end
|
@@ -0,0 +1,185 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'page-object/elements'
|
3
|
+
|
4
|
+
|
5
|
+
describe "Element with nested elements" do
|
6
|
+
let(:watir_driver) { double('watir') }
|
7
|
+
let(:watir_element) { PageObject::Elements::Element.new(watir_driver, :platform => :watir_webdriver) }
|
8
|
+
let(:selenium_driver) { double('selenium') }
|
9
|
+
let(:selenium_element) { PageObject::Elements::Element.new(selenium_driver, :platform => :selenium_webdriver) }
|
10
|
+
|
11
|
+
|
12
|
+
context "in Watir" do
|
13
|
+
it "should find nested links" do
|
14
|
+
watir_driver.should_receive(:link).with(:id => 'blah').and_return(watir_driver)
|
15
|
+
watir_element.link_element(:id => 'blah')
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should find nested buttons" do
|
19
|
+
watir_driver.should_receive(:button).with(:id => 'blah').and_return(watir_driver)
|
20
|
+
watir_element.button_element(:id => 'blah')
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should find nested text fields" do
|
24
|
+
watir_driver.should_receive(:text_field).with(:id => 'blah').and_return(watir_driver)
|
25
|
+
watir_element.text_field_element(:id => 'blah')
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should find nested hidden fields" do
|
29
|
+
watir_driver.should_receive(:hidden).and_return(watir_driver)
|
30
|
+
watir_element.hidden_field_element
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should find nested text areas" do
|
34
|
+
watir_driver.should_receive(:textarea).and_return(watir_driver)
|
35
|
+
watir_element.text_area_element
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should find a nested select list" do
|
39
|
+
watir_driver.should_receive(:select_list).and_return(watir_driver)
|
40
|
+
watir_element.select_list_element
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should find a nested checkbox" do
|
44
|
+
watir_driver.should_receive(:checkbox).and_return(watir_driver)
|
45
|
+
watir_element.checkbox_element
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should find a nested radio button" do
|
49
|
+
watir_driver.should_receive(:radio).and_return(watir_driver)
|
50
|
+
watir_element.radio_button_element
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should find a nested div" do
|
54
|
+
watir_driver.should_receive(:div).and_return(watir_driver)
|
55
|
+
watir_element.div_element
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should find a nested span" do
|
59
|
+
watir_driver.should_receive(:span).and_return(watir_driver)
|
60
|
+
watir_element.span_element
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should find a nested table" do
|
64
|
+
watir_driver.should_receive(:table).and_return(watir_driver)
|
65
|
+
watir_element.table_element
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should find a nested cell" do
|
69
|
+
watir_driver.should_receive(:td).and_return(watir_driver)
|
70
|
+
watir_element.cell_element
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should find a nested image" do
|
74
|
+
watir_driver.should_receive(:image).and_return(watir_driver)
|
75
|
+
watir_element.image_element
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should find a nested form" do
|
79
|
+
watir_driver.should_receive(:form).and_return(watir_driver)
|
80
|
+
watir_element.form_element
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should find an ordered list" do
|
84
|
+
watir_driver.should_receive(:ol).and_return(watir_driver)
|
85
|
+
watir_element.ordered_list_element
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should find an unordered list" do
|
89
|
+
watir_driver.should_receive(:ul).and_return(watir_driver)
|
90
|
+
watir_element.unordered_list_element
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should find a list item" do
|
94
|
+
watir_driver.should_receive(:li).and_return(watir_driver)
|
95
|
+
watir_element.list_item_element
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
context "in Selenium" do
|
100
|
+
it "should find nested links" do
|
101
|
+
selenium_driver.should_receive(:find_element).with(:id, 'blah').and_return(selenium_driver)
|
102
|
+
selenium_element.link_element(:id => 'blah')
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should find nested buttons" do
|
106
|
+
selenium_driver.should_receive(:find_element).with(:id, 'blah').and_return(selenium_driver)
|
107
|
+
selenium_element.button_element(:id => 'blah')
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should find nested text fields" do
|
111
|
+
selenium_driver.should_receive(:find_element).with(:id, 'blah').and_return(selenium_driver)
|
112
|
+
selenium_element.text_field_element(:id => 'blah')
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should find nested hidden fields" do
|
116
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
117
|
+
selenium_element.hidden_field_element
|
118
|
+
end
|
119
|
+
|
120
|
+
it "should find nested text areas" do
|
121
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
122
|
+
selenium_element.text_area_element
|
123
|
+
end
|
124
|
+
|
125
|
+
it "should find a nested select list" do
|
126
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
127
|
+
selenium_element.select_list_element
|
128
|
+
end
|
129
|
+
|
130
|
+
it "should find a nested checkbox" do
|
131
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
132
|
+
selenium_element.checkbox_element
|
133
|
+
end
|
134
|
+
|
135
|
+
it "should find a nested radio button" do
|
136
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
137
|
+
selenium_element.radio_button_element
|
138
|
+
end
|
139
|
+
|
140
|
+
it "should find a nested div" do
|
141
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
142
|
+
selenium_element.div_element
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should find a nested span" do
|
146
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
147
|
+
selenium_element.span_element
|
148
|
+
end
|
149
|
+
|
150
|
+
it "should find a nested table" do
|
151
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
152
|
+
selenium_element.table_element
|
153
|
+
end
|
154
|
+
|
155
|
+
it "should find a nested cell" do
|
156
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
157
|
+
selenium_element.cell_element
|
158
|
+
end
|
159
|
+
|
160
|
+
it "should find a nested image" do
|
161
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
162
|
+
selenium_element.image_element
|
163
|
+
end
|
164
|
+
|
165
|
+
it "should find a nested form" do
|
166
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
167
|
+
selenium_element.form_element
|
168
|
+
end
|
169
|
+
|
170
|
+
it "should find an ordered list" do
|
171
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
172
|
+
selenium_element.ordered_list_element
|
173
|
+
end
|
174
|
+
|
175
|
+
it "should find an unordered list" do
|
176
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
177
|
+
selenium_element.unordered_list_element
|
178
|
+
end
|
179
|
+
|
180
|
+
it "should find a nested list item" do
|
181
|
+
selenium_driver.should_receive(:find_element).and_return(selenium_driver)
|
182
|
+
selenium_element.list_item_element
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
@@ -25,7 +25,7 @@ describe PageObject::Elements::OrderedList do
|
|
25
25
|
|
26
26
|
context "for watir" do
|
27
27
|
it "should return a list item when indexed" do
|
28
|
-
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :
|
28
|
+
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :watir_webdriver)
|
29
29
|
ol_element.stub(:wd).and_return(ol_element)
|
30
30
|
ol_element.should_receive(:find_elements).with(:xpath, ".//child::li").and_return(ol_element)
|
31
31
|
ol_element.stub(:[]).and_return(ol_element)
|
@@ -33,7 +33,7 @@ describe PageObject::Elements::OrderedList do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it "should know how many list items it contains" do
|
36
|
-
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :
|
36
|
+
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :watir_webdriver)
|
37
37
|
ol_element.stub(:wd).and_return(ol_element)
|
38
38
|
ol_element.should_receive(:find_elements).with(:xpath, ".//child::li").and_return(ol_element)
|
39
39
|
ol_element.stub(:[]).and_return(ol_element)
|
@@ -42,7 +42,7 @@ describe PageObject::Elements::OrderedList do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should iterate over the list items" do
|
45
|
-
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :
|
45
|
+
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :watir_webdriver)
|
46
46
|
ol.should_receive(:items).and_return(5)
|
47
47
|
ol.stub(:[])
|
48
48
|
count = 0
|
@@ -53,21 +53,21 @@ describe PageObject::Elements::OrderedList do
|
|
53
53
|
|
54
54
|
context "for selenium" do
|
55
55
|
it "should return a list item when indexed" do
|
56
|
-
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :
|
56
|
+
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :selenium_webdriver)
|
57
57
|
ol_element.should_receive(:find_elements).with(:xpath, ".//child::li").and_return(ol_element)
|
58
58
|
ol_element.should_receive(:[]).and_return(ol_element)
|
59
59
|
ol[1].should be_instance_of PageObject::Elements::ListItem
|
60
60
|
end
|
61
61
|
|
62
62
|
it "should know how many list items it contains" do
|
63
|
-
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :
|
63
|
+
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :selenium_webdriver)
|
64
64
|
ol_element.should_receive(:find_elements).with(:xpath, ".//child::li").and_return(ol_element)
|
65
65
|
ol_element.should_receive(:size).and_return(5)
|
66
66
|
ol.items.should == 5
|
67
67
|
end
|
68
68
|
|
69
69
|
it "should iterate over the list items" do
|
70
|
-
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :
|
70
|
+
ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :selenium_webdriver)
|
71
71
|
ol.should_receive(:items).and_return(5)
|
72
72
|
ol.stub(:[])
|
73
73
|
count = 0
|