page-object 2.2.2 → 2.2.3
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/ChangeLog +11 -0
- data/lib/page-object/elements/element.rb +61 -4
- data/lib/page-object/elements/ordered_list.rb +1 -3
- data/lib/page-object/elements/unordered_list.rb +1 -3
- data/lib/page-object/page_populator.rb +1 -3
- data/lib/page-object/version.rb +1 -1
- data/page-object.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 869bfee3bb2a4b6e040dbdd45149231a865c3b95
|
4
|
+
data.tar.gz: d24b805051142ebb5be29b6093071d5f6373341c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1831c81fe896bca1747c266502d57bcd9659a8da13bd28ee6731eb79506e588e0cd7634ee7851274bedf362a7618036a947094a2e0c5acee8abbaff18e3f167c
|
7
|
+
data.tar.gz: 99b52bce53230897b097ea66a0748fb3d8f26d3991605980792718b969265223b38e5235512d03ab54c511b26b68ee73e89b8a99d9d7a2b5df21b8612f9aedd3
|
data/ChangeLog
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
Version 2.2.3 / 2017-9-30
|
2
|
+
* Enhancements
|
3
|
+
* Added the preceding_sibling method to Element
|
4
|
+
* Added the following_sibling method to Element
|
5
|
+
* Added the siblings method to Element
|
6
|
+
* Added the children method to Element
|
7
|
+
* Added the preceding_siblings method to Element
|
8
|
+
* Added the following_siblings method to Element
|
9
|
+
* Fixes
|
10
|
+
* Fixed issue that occurred when things were moved around in Watir 6.8
|
11
|
+
|
1
12
|
Version 2.2.2 / 2017-9-25
|
2
13
|
* Fixes
|
3
14
|
* Fixed issue when using text for table index with special characters (Thanks Jason Phebus)
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'page-object/nested_elements'
|
2
|
-
require 'watir/extensions/select_text'
|
3
2
|
|
4
3
|
module PageObject
|
5
4
|
module Elements
|
@@ -70,9 +69,59 @@ module PageObject
|
|
70
69
|
#
|
71
70
|
def parent(opt = {})
|
72
71
|
parent = element.parent(opt)
|
73
|
-
|
74
|
-
|
75
|
-
|
72
|
+
pageobject_wrapper(parent)
|
73
|
+
end
|
74
|
+
|
75
|
+
#
|
76
|
+
# Return the element that exists at the same level of the DOM
|
77
|
+
# immediately prior to this element
|
78
|
+
#
|
79
|
+
def preceding_sibling(opt = {})
|
80
|
+
sibling = element.preceding_sibling(opt)
|
81
|
+
pageobject_wrapper(sibling)
|
82
|
+
end
|
83
|
+
|
84
|
+
#
|
85
|
+
# Return the element that exists at the same level of the DOM
|
86
|
+
# immediately after this element
|
87
|
+
#
|
88
|
+
def following_sibling(opt={})
|
89
|
+
sibling = element.following_sibling(opt)
|
90
|
+
pageobject_wrapper(sibling)
|
91
|
+
end
|
92
|
+
|
93
|
+
#
|
94
|
+
# Return all elements that are direct children of this element's parent
|
95
|
+
#
|
96
|
+
def siblings(opt={})
|
97
|
+
siblings = element.siblings(opt)
|
98
|
+
siblings.collect {|sibling| pageobject_wrapper(sibling)}
|
99
|
+
end
|
100
|
+
|
101
|
+
#
|
102
|
+
# Return all elements that are children of this element
|
103
|
+
#
|
104
|
+
def children(opt={})
|
105
|
+
children = element.children(opt)
|
106
|
+
children.collect {|child| pageobject_wrapper(child)}
|
107
|
+
end
|
108
|
+
|
109
|
+
#
|
110
|
+
# Return all elements that exist at the same level of the DOM
|
111
|
+
# immediately prior to this element
|
112
|
+
#
|
113
|
+
def preceding_siblings(opt={})
|
114
|
+
siblings = element.preceding_siblings(opt)
|
115
|
+
siblings.collect {|sibling| pageobject_wrapper(sibling)}
|
116
|
+
end
|
117
|
+
|
118
|
+
#
|
119
|
+
# Return all elements that exist at the same level of the DOM
|
120
|
+
# immediately after this element
|
121
|
+
#
|
122
|
+
def following_siblings(opt={})
|
123
|
+
siblings = element.following_siblings(opt)
|
124
|
+
siblings.collect {|sibling| pageobject_wrapper(sibling)}
|
76
125
|
end
|
77
126
|
|
78
127
|
#
|
@@ -142,6 +191,14 @@ module PageObject
|
|
142
191
|
element.respond_to?(m) || super
|
143
192
|
end
|
144
193
|
|
194
|
+
protected
|
195
|
+
|
196
|
+
def pageobject_wrapper(watir_object)
|
197
|
+
type = element.type if watir_object.tag_name.to_sym == :input
|
198
|
+
cls = ::PageObject::Elements.element_class_for(watir_object.tag_name, type)
|
199
|
+
cls.new(watir_object.to_subtype)
|
200
|
+
end
|
201
|
+
|
145
202
|
private
|
146
203
|
|
147
204
|
def timed_loop(timeout)
|
@@ -34,9 +34,7 @@ module PageObject
|
|
34
34
|
# Return Array of ListItem objects that are children of the OrderedList
|
35
35
|
#
|
36
36
|
def list_items
|
37
|
-
@list_items ||= children(tag_name: 'li')
|
38
|
-
Object::PageObject::Elements::ListItem.new(obj)
|
39
|
-
end
|
37
|
+
@list_items ||= children(tag_name: 'li')
|
40
38
|
end
|
41
39
|
end
|
42
40
|
|
@@ -33,9 +33,7 @@ module PageObject
|
|
33
33
|
# Return Array of ListItem objects that are children of the UnorderedList
|
34
34
|
#
|
35
35
|
def list_items
|
36
|
-
@list_items ||= children(tag_name: 'li')
|
37
|
-
Object::PageObject::Elements::ListItem.new(obj)
|
38
|
-
end
|
36
|
+
@list_items ||= children(tag_name: 'li')
|
39
37
|
end
|
40
38
|
end
|
41
39
|
|
@@ -59,9 +59,7 @@ module PageObject
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def populate_select_list(key, value)
|
62
|
-
|
63
|
-
return select_element.select(value) if select_element.include?(value)
|
64
|
-
select_element.select_value(value)
|
62
|
+
self.send "#{key}=", value
|
65
63
|
end
|
66
64
|
|
67
65
|
def is_text?(key)
|
data/lib/page-object/version.rb
CHANGED
data/page-object.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(pkg|spec|features|coverage)/}) }
|
18
18
|
s.require_paths = ["lib"]
|
19
19
|
|
20
|
-
s.add_dependency 'watir', '~> 6.
|
20
|
+
s.add_dependency 'watir', '~> 6.8'
|
21
21
|
s.add_dependency 'selenium-webdriver', '~> 3.0'
|
22
22
|
s.add_dependency 'page_navigation', '>= 0.10'
|
23
23
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: page-object
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Morgan
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-08-
|
12
|
+
date: 2017-08-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: watir
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '6.
|
20
|
+
version: '6.8'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '6.
|
27
|
+
version: '6.8'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: selenium-webdriver
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -244,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
244
244
|
version: '0'
|
245
245
|
requirements: []
|
246
246
|
rubyforge_project:
|
247
|
-
rubygems_version: 2.
|
247
|
+
rubygems_version: 2.6.11
|
248
248
|
signing_key:
|
249
249
|
specification_version: 4
|
250
250
|
summary: Page Object DSL for browser testing
|