page-object 1.1.0 → 1.1.1
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.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/.gitignore +1 -0
- data/.travis.yml +7 -2
- data/ChangeLog +14 -1
- data/Gemfile +4 -2
- data/README.md +2 -0
- data/Rakefile +5 -1
- data/features/async.feature +3 -12
- data/features/audio.feature +10 -14
- data/features/element.feature +21 -0
- data/features/gxt_table_extension.feature +1 -2
- data/features/html/multi_elements.html +11 -10
- data/features/html/static_elements.html +3 -16
- data/features/html/widgets.html +20 -0
- data/features/italic.feature +21 -0
- data/features/multi_elements.feature +28 -22
- data/features/sample-app/public/audio_video.html +23 -0
- data/features/step_definitions/audio_steps.rb +6 -6
- data/features/step_definitions/element_steps.rb +28 -0
- data/features/step_definitions/gxt_table_steps.rb +1 -6
- data/features/step_definitions/italic_steps.rb +12 -0
- data/features/step_definitions/multi_elements_steps.rb +13 -0
- data/features/step_definitions/page_traversal_steps.rb +4 -0
- data/features/step_definitions/table_row_steps.rb +23 -0
- data/features/step_definitions/video_steps.rb +3 -3
- data/features/support/audio_video_page.rb +24 -0
- data/features/support/page.rb +20 -20
- data/features/support/url_helper.rb +4 -0
- data/features/table_row.feature +43 -0
- data/features/video.feature +1 -5
- data/lib/page-object.rb +4 -0
- data/lib/page-object/accessors.rb +88 -4
- data/lib/page-object/elements.rb +2 -1
- data/lib/page-object/elements/element.rb +5 -5
- data/lib/page-object/elements/italic.rb +11 -0
- data/lib/page-object/elements/ordered_list.rb +1 -1
- data/lib/page-object/elements/unordered_list.rb +1 -1
- data/lib/page-object/locator_generator.rb +2 -0
- data/lib/page-object/platforms/selenium_webdriver/element.rb +37 -0
- data/lib/page-object/platforms/selenium_webdriver/ordered_list.rb +10 -8
- data/lib/page-object/platforms/selenium_webdriver/page_object.rb +51 -1
- data/lib/page-object/platforms/selenium_webdriver/unordered_list.rb +7 -9
- data/lib/page-object/platforms/watir_webdriver/element.rb +45 -1
- data/lib/page-object/platforms/watir_webdriver/ordered_list.rb +9 -4
- data/lib/page-object/platforms/watir_webdriver/page_object.rb +81 -50
- data/lib/page-object/platforms/watir_webdriver/unordered_list.rb +11 -5
- data/lib/page-object/version.rb +1 -1
- data/lib/page-object/widgets.rb +1 -1
- data/page-object.gemspec +1 -0
- data/spec/page-object/element_locators_spec.rb +124 -80
- data/spec/page-object/elements/element_spec.rb +83 -1
- data/spec/page-object/elements/italic_spec.rb +29 -0
- data/spec/page-object/elements/media_spec.rb +63 -0
- data/spec/page-object/elements/ordered_list_spec.rb +6 -22
- data/spec/page-object/elements/selenium_element_spec.rb +41 -0
- data/spec/page-object/elements/unordered_list_spec.rb +4 -21
- data/spec/page-object/elements/video_spec.rb +27 -0
- data/spec/page-object/elements/watir_element_spec.rb +48 -0
- data/spec/page-object/selenium_accessors_spec.rb +28 -9
- data/spec/page-object/watir_accessors_spec.rb +57 -1
- data/spec/spec_helper.rb +3 -6
- metadata +39 -3
data/lib/page-object/elements.rb
CHANGED
@@ -20,7 +20,7 @@ module PageObject
|
|
20
20
|
return type_to_class[type.to_sym] if type
|
21
21
|
tag_to_class[tag_name.to_sym] || ::PageObject::Elements::Element
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -56,5 +56,6 @@ require 'page-object/elements/media'
|
|
56
56
|
require 'page-object/elements/audio'
|
57
57
|
require 'page-object/elements/video'
|
58
58
|
require 'page-object/elements/bold'
|
59
|
+
require 'page-object/elements/italic'
|
59
60
|
|
60
61
|
|
@@ -10,7 +10,7 @@ module PageObject
|
|
10
10
|
#
|
11
11
|
class Element
|
12
12
|
include ::PageObject::NestedElements
|
13
|
-
|
13
|
+
|
14
14
|
attr_reader :element
|
15
15
|
|
16
16
|
def initialize(element, platform)
|
@@ -40,14 +40,14 @@ module PageObject
|
|
40
40
|
def disabled?
|
41
41
|
not enabled?
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
#
|
45
45
|
# get the value of the given CSS property
|
46
46
|
#
|
47
47
|
def style(property)
|
48
48
|
element.style property
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
def inspect
|
52
52
|
element.inspect
|
53
53
|
end
|
@@ -97,7 +97,7 @@ module PageObject
|
|
97
97
|
return how, what
|
98
98
|
end
|
99
99
|
end
|
100
|
-
|
100
|
+
|
101
101
|
# @private
|
102
102
|
# delegate calls to driver element
|
103
103
|
def method_missing(*args, &block)
|
@@ -118,7 +118,7 @@ module PageObject
|
|
118
118
|
protected
|
119
119
|
|
120
120
|
def self.should_build_watir_xpath identifier
|
121
|
-
['table', 'span', 'div', 'td', 'li', 'ul', 'ol', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'label', 'area', 'canvas', 'audio', 'video', 'b'].include? identifier[:tag_name] and identifier[:name]
|
121
|
+
['table', 'span', 'div', 'td', 'li', 'ul', 'ol', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'label', 'area', 'canvas', 'audio', 'video', 'b', 'i'].include? identifier[:tag_name] and identifier[:name]
|
122
122
|
end
|
123
123
|
|
124
124
|
def self.build_xpath_for identifier
|
@@ -280,6 +280,43 @@ module PageObject
|
|
280
280
|
element.location_once_scrolled_into_view
|
281
281
|
end
|
282
282
|
|
283
|
+
#
|
284
|
+
# location of element (x, y)
|
285
|
+
#
|
286
|
+
def location
|
287
|
+
element.location
|
288
|
+
end
|
289
|
+
|
290
|
+
#
|
291
|
+
# size of element (width, height)
|
292
|
+
#
|
293
|
+
def size
|
294
|
+
element.size
|
295
|
+
end
|
296
|
+
|
297
|
+
#
|
298
|
+
# Get height of element
|
299
|
+
#
|
300
|
+
def height
|
301
|
+
element.size['height']
|
302
|
+
end
|
303
|
+
|
304
|
+
#
|
305
|
+
# Get width of element
|
306
|
+
#
|
307
|
+
def width
|
308
|
+
element.size['width']
|
309
|
+
end
|
310
|
+
|
311
|
+
#
|
312
|
+
# Get centre coordinates of element
|
313
|
+
#
|
314
|
+
def centre
|
315
|
+
location = element.location
|
316
|
+
size = element.size
|
317
|
+
{'y' => (location['y'] + (size['height']/2)), 'x' => (location['x'] + (size['width']/2))}
|
318
|
+
end
|
319
|
+
|
283
320
|
private
|
284
321
|
|
285
322
|
def bridge
|
@@ -10,7 +10,7 @@ module PageObject
|
|
10
10
|
# @return [PageObject::Elements::ListItem]
|
11
11
|
#
|
12
12
|
def [](idx)
|
13
|
-
children[idx]
|
13
|
+
Object::PageObject::Elements::ListItem.new(children[idx], :platform => :selenium_webdriver)
|
14
14
|
end
|
15
15
|
|
16
16
|
#
|
@@ -20,16 +20,18 @@ module PageObject
|
|
20
20
|
children.size
|
21
21
|
end
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
#
|
24
|
+
# Return the ListItem objects that are children of the OrderedList
|
25
|
+
#
|
26
|
+
def list_items
|
27
|
+
children.collect do |obj|
|
28
|
+
Object::PageObject::Elements::ListItem.new(obj, :platform => :selenium_webdriver)
|
28
29
|
end
|
29
|
-
items.find_all { |item| item.parent.element == element }
|
30
30
|
end
|
31
31
|
|
32
|
-
|
32
|
+
private
|
33
|
+
|
34
|
+
def children
|
33
35
|
element.find_elements(:xpath, child_xpath)
|
34
36
|
end
|
35
37
|
|
@@ -575,6 +575,31 @@ module PageObject
|
|
575
575
|
find_selenium_elements(identifier, Elements::TableCell, 'td')
|
576
576
|
end
|
577
577
|
|
578
|
+
#
|
579
|
+
# platform method to retrieve the text from a table row
|
580
|
+
# See PageObject::Accessors#row
|
581
|
+
#
|
582
|
+
def row_text_for(identifier)
|
583
|
+
process_selenium_call(identifier, Elements::TableRow, 'tr') do |how, what|
|
584
|
+
@browser.find_element(how, what).text
|
585
|
+
end
|
586
|
+
end
|
587
|
+
|
588
|
+
#
|
589
|
+
# platform method to retrieve a table row element
|
590
|
+
# See PageObject::Accessors#row
|
591
|
+
#
|
592
|
+
def row_for(identifier)
|
593
|
+
find_selenium_element(identifier, Elements::TableRow, 'tr')
|
594
|
+
end
|
595
|
+
|
596
|
+
#
|
597
|
+
# platform method to retrieve all table row elements
|
598
|
+
#
|
599
|
+
def rows_for(identifier)
|
600
|
+
find_selenium_elements(identifier, Elements::TableRow, 'tr')
|
601
|
+
end
|
602
|
+
|
578
603
|
#
|
579
604
|
# platform method to retrieve an image element
|
580
605
|
# See PageObject::Accessors#image
|
@@ -1030,7 +1055,7 @@ module PageObject
|
|
1030
1055
|
end
|
1031
1056
|
|
1032
1057
|
#
|
1033
|
-
# platform method to retrieve the
|
1058
|
+
# platform method to retrieve the b element
|
1034
1059
|
# See PageObject::Accessors#b
|
1035
1060
|
#
|
1036
1061
|
def b_for(identifier)
|
@@ -1044,6 +1069,31 @@ module PageObject
|
|
1044
1069
|
find_selenium_elements(identifier, Elements::Bold, 'b')
|
1045
1070
|
end
|
1046
1071
|
|
1072
|
+
#
|
1073
|
+
# platform method to retrieve the text from a i
|
1074
|
+
# See PageObject::Accessors#i
|
1075
|
+
#
|
1076
|
+
def i_text_for(identifier)
|
1077
|
+
process_selenium_call(identifier, Elements::Italic, 'i') do |how, what|
|
1078
|
+
@browser.find_element(how, what).text
|
1079
|
+
end
|
1080
|
+
end
|
1081
|
+
|
1082
|
+
#
|
1083
|
+
# platform method to retrieve the i element
|
1084
|
+
# See PageObject::Accessors#i
|
1085
|
+
#
|
1086
|
+
def i_for(identifier)
|
1087
|
+
find_selenium_element(identifier, Elements::Italic, 'i')
|
1088
|
+
end
|
1089
|
+
|
1090
|
+
#
|
1091
|
+
# platform method to retrieve all i elements
|
1092
|
+
#
|
1093
|
+
def is_for(identifier)
|
1094
|
+
find_selenium_elements(identifier, Elements::Italic, 'i')
|
1095
|
+
end
|
1096
|
+
|
1047
1097
|
private
|
1048
1098
|
|
1049
1099
|
def process_selenium_call(identifier, type, tag, other=nil)
|
@@ -10,7 +10,7 @@ module PageObject
|
|
10
10
|
# @return [PageObject::Elements::ListItem]
|
11
11
|
#
|
12
12
|
def [](idx)
|
13
|
-
children[idx]
|
13
|
+
Object::PageObject::Elements::ListItem.new(children[idx], :platform => :selenium_webdriver)
|
14
14
|
end
|
15
15
|
|
16
16
|
#
|
@@ -20,19 +20,17 @@ module PageObject
|
|
20
20
|
children.size
|
21
21
|
end
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
items = list_items.map do |item|
|
27
|
-
::PageObject::Elements::ListItem.new(item, :platform => :selenium_webdriver)
|
23
|
+
def list_items
|
24
|
+
children.collect do |obj|
|
25
|
+
Object::PageObject::Elements::ListItem.new(obj, :platform => :selenium_webdriver)
|
28
26
|
end
|
29
|
-
items.find_all { |item| item.parent.element == element }
|
30
27
|
end
|
31
28
|
|
32
|
-
|
29
|
+
private
|
30
|
+
|
31
|
+
def children
|
33
32
|
element.find_elements(:xpath, child_xpath)
|
34
33
|
end
|
35
|
-
|
36
34
|
end
|
37
35
|
end
|
38
36
|
end
|
@@ -150,7 +150,14 @@ module PageObject
|
|
150
150
|
def select_text(text)
|
151
151
|
element.select_text text
|
152
152
|
end
|
153
|
-
|
153
|
+
|
154
|
+
#
|
155
|
+
# Right click on an element
|
156
|
+
#
|
157
|
+
def right_click
|
158
|
+
element.right_click
|
159
|
+
end
|
160
|
+
|
154
161
|
#
|
155
162
|
# Waits until the element is present
|
156
163
|
#
|
@@ -243,6 +250,43 @@ module PageObject
|
|
243
250
|
def scroll_into_view
|
244
251
|
element.wd.location_once_scrolled_into_view
|
245
252
|
end
|
253
|
+
|
254
|
+
#
|
255
|
+
# location of element (x, y)
|
256
|
+
#
|
257
|
+
def location
|
258
|
+
element.wd.location
|
259
|
+
end
|
260
|
+
|
261
|
+
#
|
262
|
+
# size of element (width, height)
|
263
|
+
#
|
264
|
+
def size
|
265
|
+
element.wd.size
|
266
|
+
end
|
267
|
+
|
268
|
+
#
|
269
|
+
# Get height of element
|
270
|
+
#
|
271
|
+
def height
|
272
|
+
element.wd.size['height']
|
273
|
+
end
|
274
|
+
|
275
|
+
#
|
276
|
+
# Get width of element
|
277
|
+
#
|
278
|
+
def width
|
279
|
+
element.wd.size['width']
|
280
|
+
end
|
281
|
+
|
282
|
+
#
|
283
|
+
# Get centre coordinates of element
|
284
|
+
#
|
285
|
+
def centre
|
286
|
+
location = element.wd.location
|
287
|
+
size = element.wd.size
|
288
|
+
{'y' => (location['y'] + (size['height']/2)), 'x' => (location['x'] + (size['width']/2))}
|
289
|
+
end
|
246
290
|
end
|
247
291
|
end
|
248
292
|
end
|
@@ -20,13 +20,18 @@ module PageObject
|
|
20
20
|
children.size
|
21
21
|
end
|
22
22
|
|
23
|
+
#
|
24
|
+
# Return the ListItem objects that are children of the OrderedList
|
25
|
+
#
|
26
|
+
def list_items
|
27
|
+
children.collect do |obj|
|
28
|
+
Object::PageObject::Elements::ListItem.new(obj, :platform => :watir_webdriver)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
23
32
|
private
|
24
33
|
|
25
34
|
def children
|
26
|
-
list_items.find_all { |item| item.parent == element }
|
27
|
-
end
|
28
|
-
|
29
|
-
def list_items
|
30
35
|
element.ols(:xpath => child_xpath)
|
31
36
|
end
|
32
37
|
end
|
@@ -25,7 +25,7 @@ module PageObject
|
|
25
25
|
def navigate_to(url)
|
26
26
|
@browser.goto url
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
#
|
30
30
|
# platform method to get the current url
|
31
31
|
# See PageObject#current_url
|
@@ -118,7 +118,7 @@ module PageObject
|
|
118
118
|
def execute_script(script, *args)
|
119
119
|
@browser.execute_script(script, *args)
|
120
120
|
end
|
121
|
-
|
121
|
+
|
122
122
|
#
|
123
123
|
# platform method to handle attaching to a running window
|
124
124
|
# See PageObject#attach_to_window
|
@@ -132,7 +132,7 @@ module PageObject
|
|
132
132
|
element = browser.execute_script("return document.activeElement")
|
133
133
|
type = element.type.to_sym if element.tag_name.to_sym == :input
|
134
134
|
cls = ::PageObject::Elements.element_class_for(element.tag_name, type)
|
135
|
-
cls.new(element, :platform => :watir_webdriver)
|
135
|
+
cls.new(element, :platform => :watir_webdriver)
|
136
136
|
end
|
137
137
|
|
138
138
|
#
|
@@ -144,7 +144,7 @@ module PageObject
|
|
144
144
|
frame << {frame: identifier}
|
145
145
|
block.call(frame)
|
146
146
|
end
|
147
|
-
|
147
|
+
|
148
148
|
#
|
149
149
|
# platform method to switch to an iframe and execute a block
|
150
150
|
# See PageObject#in_frame
|
@@ -154,7 +154,7 @@ module PageObject
|
|
154
154
|
frame << {iframe: identifier}
|
155
155
|
block.call(frame)
|
156
156
|
end
|
157
|
-
|
157
|
+
|
158
158
|
#
|
159
159
|
# platform method to refresh the page
|
160
160
|
# See PageObject#refresh
|
@@ -162,7 +162,7 @@ module PageObject
|
|
162
162
|
def refresh
|
163
163
|
@browser.refresh
|
164
164
|
end
|
165
|
-
|
165
|
+
|
166
166
|
#
|
167
167
|
# platform method to go back to the previous page
|
168
168
|
# See PageObject#back
|
@@ -170,7 +170,7 @@ module PageObject
|
|
170
170
|
def back
|
171
171
|
@browser.back
|
172
172
|
end
|
173
|
-
|
173
|
+
|
174
174
|
#
|
175
175
|
# platform method to go forward to the next page
|
176
176
|
# See PageObject#forward
|
@@ -178,7 +178,7 @@ module PageObject
|
|
178
178
|
def forward
|
179
179
|
@browser.forward
|
180
180
|
end
|
181
|
-
|
181
|
+
|
182
182
|
#
|
183
183
|
# platform method to clear the cookies from the browser
|
184
184
|
# See PageObject#clear_cookies
|
@@ -210,7 +210,7 @@ module PageObject
|
|
210
210
|
def text_field_value_set(identifier, value)
|
211
211
|
process_watir_call("text_field(identifier).set(value)", Elements::TextField, identifier, value)
|
212
212
|
end
|
213
|
-
|
213
|
+
|
214
214
|
#
|
215
215
|
# platform method to retrieve a text field element
|
216
216
|
# See PageObject::Accessors#text_field
|
@@ -320,7 +320,7 @@ module PageObject
|
|
320
320
|
# See PageObject::Accessors#link
|
321
321
|
#
|
322
322
|
def click_link_for(identifier)
|
323
|
-
call =
|
323
|
+
call = "link(identifier)"
|
324
324
|
process_watir_call("#{call}.click if identifier", Elements::Link, identifier)
|
325
325
|
end
|
326
326
|
|
@@ -329,7 +329,7 @@ module PageObject
|
|
329
329
|
# see PageObject::Accessors#link
|
330
330
|
#
|
331
331
|
def link_for(identifier)
|
332
|
-
call =
|
332
|
+
call = "link(identifier)"
|
333
333
|
find_watir_element(call, Elements::Link, identifier)
|
334
334
|
end
|
335
335
|
|
@@ -337,7 +337,7 @@ module PageObject
|
|
337
337
|
# platform method to retrieve an array of link elements
|
338
338
|
#
|
339
339
|
def links_for(identifier)
|
340
|
-
call =
|
340
|
+
call = "links(identifier)"
|
341
341
|
find_watir_elements(call, Elements::Link, identifier)
|
342
342
|
end
|
343
343
|
|
@@ -462,7 +462,7 @@ module PageObject
|
|
462
462
|
# See PageObject::Accessors#button
|
463
463
|
#
|
464
464
|
def click_button_for(identifier)
|
465
|
-
call =
|
465
|
+
call = "button(identifier)"
|
466
466
|
process_watir_call("#{call}.click", Elements::Button, identifier)
|
467
467
|
end
|
468
468
|
|
@@ -471,7 +471,7 @@ module PageObject
|
|
471
471
|
# See PageObject::Accessors#button
|
472
472
|
#
|
473
473
|
def button_for(identifier)
|
474
|
-
call =
|
474
|
+
call = "button(identifier)"
|
475
475
|
find_watir_element(call, Elements::Button, identifier)
|
476
476
|
end
|
477
477
|
|
@@ -479,7 +479,7 @@ module PageObject
|
|
479
479
|
# platform method to retrieve an array of button elements
|
480
480
|
#
|
481
481
|
def buttons_for(identifier)
|
482
|
-
call =
|
482
|
+
call = "buttons(identifier)"
|
483
483
|
find_watir_elements(call, Elements::Button, identifier)
|
484
484
|
end
|
485
485
|
|
@@ -530,6 +530,30 @@ module PageObject
|
|
530
530
|
find_watir_elements("tds(identifier)", Elements::TableCell, identifier, 'td')
|
531
531
|
end
|
532
532
|
|
533
|
+
#
|
534
|
+
# platform method to retrieve the text from a table row
|
535
|
+
# See PageObject::Accessors#row
|
536
|
+
#
|
537
|
+
def row_text_for(identifier)
|
538
|
+
process_watir_call("tr(identifier).text", Elements::TableRow, identifier,
|
539
|
+
nil, 'tr')
|
540
|
+
end
|
541
|
+
|
542
|
+
#
|
543
|
+
# platform method to retrieve a table row element
|
544
|
+
# See PageObject::Accessors#row
|
545
|
+
#
|
546
|
+
def row_for(identifier)
|
547
|
+
find_watir_element("tr(identifier)", Elements::TableRow, identifier, 'tr')
|
548
|
+
end
|
549
|
+
|
550
|
+
#
|
551
|
+
# platform method to retrieve an array of table row elements
|
552
|
+
#
|
553
|
+
def rows_for(identifier)
|
554
|
+
find_watir_elements("trs(identifier)", Elements::TableRow, identifier, 'tr')
|
555
|
+
end
|
556
|
+
|
533
557
|
#
|
534
558
|
# platform method to retrieve an image element
|
535
559
|
# See PageObject::Accessors#image
|
@@ -621,7 +645,7 @@ module PageObject
|
|
621
645
|
def ordered_list_for(identifier)
|
622
646
|
find_watir_element("ol(identifier)", Elements::OrderedList, identifier, 'ol')
|
623
647
|
end
|
624
|
-
|
648
|
+
|
625
649
|
#
|
626
650
|
# platform method to retrieve an array of ordered lists
|
627
651
|
#
|
@@ -636,14 +660,14 @@ module PageObject
|
|
636
660
|
def h1_text_for(identifier)
|
637
661
|
process_watir_call("h1(identifier).text", Elements::Heading, identifier, nil, 'h1')
|
638
662
|
end
|
639
|
-
|
663
|
+
|
640
664
|
#
|
641
665
|
# platform method to retrieve the h1 element
|
642
666
|
# See PageObject::Accessors#h1
|
643
667
|
#
|
644
668
|
def h1_for(identifier)
|
645
669
|
find_watir_element("h1(identifier)", Elements::Heading, identifier, 'h1')
|
646
|
-
end
|
670
|
+
end
|
647
671
|
|
648
672
|
#
|
649
673
|
# platform method to retrieve an array of h1s
|
@@ -659,14 +683,14 @@ module PageObject
|
|
659
683
|
def h2_text_for(identifier)
|
660
684
|
process_watir_call("h2(identifier).text", Elements::Heading, identifier, nil, 'h2')
|
661
685
|
end
|
662
|
-
|
686
|
+
|
663
687
|
#
|
664
688
|
# platform method to retrieve the h2 element
|
665
689
|
# See PageObject::Accessors#h2
|
666
690
|
#
|
667
691
|
def h2_for(identifier)
|
668
692
|
find_watir_element("h2(identifier)", Elements::Heading, identifier, 'h2')
|
669
|
-
end
|
693
|
+
end
|
670
694
|
|
671
695
|
#
|
672
696
|
# platform method to retrieve an array of h2s
|
@@ -682,14 +706,14 @@ module PageObject
|
|
682
706
|
def h3_text_for(identifier)
|
683
707
|
process_watir_call("h3(identifier).text", Elements::Heading, identifier, nil, 'h3')
|
684
708
|
end
|
685
|
-
|
709
|
+
|
686
710
|
#
|
687
711
|
# platform method to retrieve the h3 element
|
688
712
|
# See PageObject::Accessors#h3
|
689
713
|
#
|
690
714
|
def h3_for(identifier)
|
691
715
|
find_watir_element("h3(identifier)", Elements::Heading, identifier, 'h3')
|
692
|
-
end
|
716
|
+
end
|
693
717
|
|
694
718
|
#
|
695
719
|
# platform method to retrieve an array of h3s
|
@@ -705,14 +729,14 @@ module PageObject
|
|
705
729
|
def h4_text_for(identifier)
|
706
730
|
process_watir_call("h4(identifier).text", Elements::Heading, identifier, nil, 'h4')
|
707
731
|
end
|
708
|
-
|
732
|
+
|
709
733
|
#
|
710
734
|
# platform method to retrieve the h4 element
|
711
735
|
# See PageObject::Accessors#h4
|
712
736
|
#
|
713
737
|
def h4_for(identifier)
|
714
738
|
find_watir_element("h4(identifier)", Elements::Heading, identifier, 'h4')
|
715
|
-
end
|
739
|
+
end
|
716
740
|
|
717
741
|
#
|
718
742
|
# platform method to retrieve an array of h4s
|
@@ -728,14 +752,14 @@ module PageObject
|
|
728
752
|
def h5_text_for(identifier)
|
729
753
|
process_watir_call("h5(identifier).text", Elements::Heading, identifier, nil, 'h5')
|
730
754
|
end
|
731
|
-
|
755
|
+
|
732
756
|
#
|
733
757
|
# platform method to retrieve the h5 element
|
734
758
|
# See PageObject::Accessors#h5
|
735
759
|
#
|
736
760
|
def h5_for(identifier)
|
737
761
|
find_watir_element("h5(identifier)", Elements::Heading, identifier, 'h5')
|
738
|
-
end
|
762
|
+
end
|
739
763
|
|
740
764
|
#
|
741
765
|
# platform method to retrieve an array of h5s
|
@@ -751,14 +775,14 @@ module PageObject
|
|
751
775
|
def h6_text_for(identifier)
|
752
776
|
process_watir_call("h6(identifier).text", Elements::Heading, identifier, nil, 'h6')
|
753
777
|
end
|
754
|
-
|
778
|
+
|
755
779
|
#
|
756
780
|
# platform method to retrieve the h6 element
|
757
781
|
# See PageObject::Accessors#h6
|
758
782
|
#
|
759
783
|
def h6_for(identifier)
|
760
784
|
find_watir_element("h6(identifier)", Elements::Heading, identifier, 'h6')
|
761
|
-
end
|
785
|
+
end
|
762
786
|
|
763
787
|
#
|
764
788
|
# platform method to retrieve an array of h6s
|
@@ -774,7 +798,7 @@ module PageObject
|
|
774
798
|
def paragraph_text_for(identifier)
|
775
799
|
process_watir_call("p(identifier).text", Elements::Paragraph, identifier, nil, 'p')
|
776
800
|
end
|
777
|
-
|
801
|
+
|
778
802
|
#
|
779
803
|
# platform method to retrieve the paragraph element
|
780
804
|
# See PageObject::Accessors#paragraph
|
@@ -939,7 +963,7 @@ module PageObject
|
|
939
963
|
def svg_for(identifier)
|
940
964
|
find_watir_element("element(identifier)", Elements::Element, identifier)
|
941
965
|
end
|
942
|
-
|
966
|
+
|
943
967
|
#
|
944
968
|
# platform method to return an array of svg elements
|
945
969
|
#
|
@@ -957,7 +981,7 @@ module PageObject
|
|
957
981
|
|
958
982
|
#
|
959
983
|
# platform method to retrieve the b element
|
960
|
-
# See PageObject::Accessors#
|
984
|
+
# See PageObject::Accessors#b
|
961
985
|
#
|
962
986
|
def b_for(identifier)
|
963
987
|
find_watir_element("b(identifier)", Elements::Bold, identifier, 'b')
|
@@ -969,7 +993,30 @@ module PageObject
|
|
969
993
|
def bs_for(identifier)
|
970
994
|
find_watir_elements("bs(identifier)", Elements::Bold, identifier, 'b')
|
971
995
|
end
|
972
|
-
|
996
|
+
|
997
|
+
#
|
998
|
+
# platform method to retrieve the text for a i
|
999
|
+
# See PageObject::Accessors#i
|
1000
|
+
#
|
1001
|
+
def i_text_for(identifier)
|
1002
|
+
process_watir_call("i(identifier).text", Elements::Italic, identifier, nil, 'i')
|
1003
|
+
end
|
1004
|
+
|
1005
|
+
#
|
1006
|
+
# platform method to retrieve the i element
|
1007
|
+
# See PageObject::Accessors#i
|
1008
|
+
#
|
1009
|
+
def i_for(identifier)
|
1010
|
+
find_watir_element("i(identifier)", Elements::Italic, identifier, 'i')
|
1011
|
+
end
|
1012
|
+
|
1013
|
+
#
|
1014
|
+
# platform method to retrieve an array of is
|
1015
|
+
#
|
1016
|
+
def is_for(identifier)
|
1017
|
+
find_watir_elements("is(identifier)", Elements::Italic, identifier, 'i')
|
1018
|
+
end
|
1019
|
+
|
973
1020
|
private
|
974
1021
|
|
975
1022
|
def find_watir_elements(the_call, type, identifier, tag_name=nil)
|
@@ -1040,23 +1087,7 @@ module PageObject
|
|
1040
1087
|
end
|
1041
1088
|
|
1042
1089
|
def switch_to_default_content(frame_identifiers)
|
1043
|
-
@browser.wd.switch_to.default_content unless frame_identifiers.nil?
|
1044
|
-
end
|
1045
|
-
|
1046
|
-
def css_element
|
1047
|
-
"element(identifier)"
|
1048
|
-
end
|
1049
|
-
|
1050
|
-
def css_elements
|
1051
|
-
"elements(identifier)"
|
1052
|
-
end
|
1053
|
-
|
1054
|
-
def call_for_watir_element(identifier, call)
|
1055
|
-
identifier[:css] ? "#{css_element}" : call
|
1056
|
-
end
|
1057
|
-
|
1058
|
-
def call_for_watir_elements(identifier, call)
|
1059
|
-
identifier[:css] ? "#{css_elements}" : call
|
1090
|
+
@browser.wd.switch_to.default_content unless frame_identifiers.nil?
|
1060
1091
|
end
|
1061
1092
|
|
1062
1093
|
def switch_to_frame(frame_identifiers)
|
@@ -1066,7 +1097,7 @@ module PageObject
|
|
1066
1097
|
value = frame_id.values.first
|
1067
1098
|
@browser.wd.switch_to.frame(value)
|
1068
1099
|
end
|
1069
|
-
end
|
1100
|
+
end
|
1070
1101
|
end
|
1071
1102
|
end
|
1072
1103
|
end
|