page-object 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|