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