gridium 1.0.25 → 1.0.26
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/lib/element.rb +20 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c1e455704eb16cbaa41dc2b5c57292be5df9366
|
4
|
+
data.tar.gz: 9dd5f0f17283d420d28b33daee281e2bbafe6ae5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee7d951178c72bfabb80e29a54e3b9d365619554e1c39c36766de08124ed0e51e06f70e58e1a255ad139861e368782fbe8610b55bb7bac3faa33531630a6f63f
|
7
|
+
data.tar.gz: 47b30b89aceca4377ea1d25b80458315aae5c1e349d2380087247c781c330f650c7eefeb49049615b81d9029f73aa77109ce2d2db78fd0e47cb83b8c2f5cb295
|
data/lib/element.rb
CHANGED
@@ -6,7 +6,7 @@ class Element
|
|
6
6
|
attr_reader :name, :by, :locator
|
7
7
|
|
8
8
|
|
9
|
-
def initialize(name, by, locator)
|
9
|
+
def initialize(name, by, locator, opts = {})
|
10
10
|
@name = name
|
11
11
|
@by = by
|
12
12
|
@locator = locator
|
@@ -18,6 +18,9 @@ class Element
|
|
18
18
|
# selenium web element
|
19
19
|
@element = nil
|
20
20
|
|
21
|
+
# should always be driver unless getting an element's child
|
22
|
+
@parent ||= (opts[:parent] || @driver)
|
23
|
+
|
21
24
|
#how long to wait between clearing an input and sending keys to it
|
22
25
|
@text_padding_time = 0.15
|
23
26
|
end
|
@@ -32,7 +35,7 @@ class Element
|
|
32
35
|
if Gridium.config.visible_elements_only
|
33
36
|
wait.until { @element = displayed_element }
|
34
37
|
else
|
35
|
-
wait.until { @element = @
|
38
|
+
wait.until { @element = @parent.find_element(@by, @locator); Log.debug("Finding element #{self}..."); @element.enabled? }
|
36
39
|
end
|
37
40
|
|
38
41
|
end
|
@@ -47,7 +50,7 @@ class Element
|
|
47
50
|
found_element = nil
|
48
51
|
#Found an issue where the element would go stale after it's found
|
49
52
|
begin
|
50
|
-
elements = @
|
53
|
+
elements = @parent.find_elements(@by, @locator)
|
51
54
|
elements.each do |element|
|
52
55
|
if element.displayed? #removed check for element.enabled
|
53
56
|
found_element = element; #this will always return the last displayed element
|
@@ -90,6 +93,12 @@ class Element
|
|
90
93
|
element.attribute(name)
|
91
94
|
end
|
92
95
|
|
96
|
+
def css_value(name)
|
97
|
+
element.css_value(name)
|
98
|
+
end
|
99
|
+
|
100
|
+
|
101
|
+
|
93
102
|
def present?
|
94
103
|
return element.enabled?
|
95
104
|
rescue StandardError => error
|
@@ -166,10 +175,15 @@ class Element
|
|
166
175
|
|
167
176
|
|
168
177
|
|
178
|
+
|
169
179
|
def location
|
170
180
|
element.location
|
171
181
|
end
|
172
182
|
|
183
|
+
def location_once_scrolled_into_view
|
184
|
+
element.location_once_scrolled_into_view
|
185
|
+
end
|
186
|
+
|
173
187
|
def hover_over
|
174
188
|
Log.debug("Hovering over element (#{self.to_s})...")
|
175
189
|
# @driver.mouse.move_to(element) # Note: Doesn't work with Selenium 2.42 bindings for Firefox v31
|
@@ -254,7 +268,7 @@ class Element
|
|
254
268
|
#
|
255
269
|
def find_element(by, locator)
|
256
270
|
Log.debug('Finding element...')
|
257
|
-
|
271
|
+
Element.new("Child of #{@name}", by, locator, parent: @element)
|
258
272
|
end
|
259
273
|
|
260
274
|
#
|
@@ -266,7 +280,8 @@ class Element
|
|
266
280
|
# @return [Array] elements
|
267
281
|
#
|
268
282
|
def find_elements(by, locator)
|
269
|
-
element.find_elements(by, locator)
|
283
|
+
elements = element.find_elements(by, locator)
|
284
|
+
elements.map {|_| Element.new("Child of #{@name}", by, locator, parent: @element)}
|
270
285
|
end
|
271
286
|
|
272
287
|
def save_element_screenshot
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gridium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seth Urban
|
@@ -187,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
187
|
version: '0'
|
188
188
|
requirements: []
|
189
189
|
rubyforge_project:
|
190
|
-
rubygems_version: 2.6.
|
190
|
+
rubygems_version: 2.6.11
|
191
191
|
signing_key:
|
192
192
|
specification_version: 4
|
193
193
|
summary: This Gem is used to make building Selenium Tests without Capybara Easier.
|