watir-webdriver 0.6.10 → 0.6.11
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/CHANGES.md +5 -0
- data/README.md +1 -1
- data/lib/watir-webdriver/elements/button.rb +2 -4
- data/lib/watir-webdriver/elements/element.rb +9 -3
- data/lib/watir-webdriver/elements/iframe.rb +1 -1
- data/lib/watir-webdriver/locators/element_locator.rb +1 -1
- data/lib/watir-webdriver/version.rb +1 -1
- data/spec/element_spec.rb +23 -1
- 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: f701ec966d5fba22ef3505c0df91d8db1581b04e
|
4
|
+
data.tar.gz: c5002bc487ed49c06385469e0b531b23ecd6b11b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad1194e189f237e24d3ff125332b038ca9361ed427d5dd51c15c61da29c9d7da24cd5a3df8303434d1eeea4f0d622e82a7d8932dd1510966a4763e2878a19047
|
7
|
+
data.tar.gz: 79f65f913cc04a54ed1a5f25a4717bbed04ba1a3529679c9647a40d752491f17cdb96b24254584def0a78b6af1b6ece720e602b5111317fe4fb71ede41540e06
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
### 0.6.11 (2014-09-23)
|
2
|
+
|
3
|
+
* Fix namespacing issue (#265, thanks @titusfortner)
|
4
|
+
* Fix handling of elements that go stale during lookup (#271, thanks @titusfortner)
|
5
|
+
|
1
6
|
### 0.6.10 (2014-06-10)
|
2
7
|
|
3
8
|
* Changed the way attributes are generated and documented (see #28 and #215)
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@ watir-webdriver
|
|
2
2
|
===============
|
3
3
|
|
4
4
|
Watir implementation built on WebDriver's Ruby bindings.
|
5
|
-
See http://rubyforge.org/pipermail/wtr-development/2009-October/001313.html
|
5
|
+
See https://web.archive.org/web/20140518221755/http://rubyforge.org/pipermail/wtr-development/2009-October/001313.html
|
6
6
|
|
7
7
|
[](http://badge.fury.io/rb/watir-webdriver)
|
8
8
|
[](https://travis-ci.org/watir/watir-webdriver)
|
@@ -49,11 +49,9 @@ module Watir
|
|
49
49
|
|
50
50
|
private
|
51
51
|
|
52
|
-
def
|
53
|
-
|
54
|
-
ButtonLocator.new(@parent.wd, @selector, self.class.attribute_list).locate
|
52
|
+
def locator_class
|
53
|
+
ButtonLocator
|
55
54
|
end
|
56
|
-
|
57
55
|
end # Button
|
58
56
|
|
59
57
|
class ButtonCollection < ElementCollection
|
@@ -502,10 +502,16 @@ module Watir
|
|
502
502
|
return
|
503
503
|
end
|
504
504
|
|
505
|
-
@element =
|
505
|
+
@element = @selector[:element]
|
506
506
|
|
507
|
-
|
508
|
-
|
507
|
+
if @element
|
508
|
+
assert_not_stale
|
509
|
+
else
|
510
|
+
@element = locate
|
511
|
+
|
512
|
+
unless @element
|
513
|
+
raise UnknownObjectException, "unable to locate element, using #{selector_string}"
|
514
|
+
end
|
509
515
|
end
|
510
516
|
end
|
511
517
|
|
@@ -139,7 +139,7 @@ module Watir
|
|
139
139
|
def switch!
|
140
140
|
@driver.switch_to.frame @element
|
141
141
|
rescue Selenium::WebDriver::Error::NoSuchFrameError => e
|
142
|
-
raise UnknownFrameException, e.message
|
142
|
+
raise Exception::UnknownFrameException, e.message
|
143
143
|
end
|
144
144
|
|
145
145
|
end # FramedDriver
|
@@ -39,7 +39,7 @@ module Watir
|
|
39
39
|
# It is also used to alter behavior of methods locating more than one type of element
|
40
40
|
# (e.g. text_field locates both input and textarea)
|
41
41
|
validate_element(element) if element
|
42
|
-
rescue Selenium::WebDriver::Error::NoSuchElementError
|
42
|
+
rescue Selenium::WebDriver::Error::NoSuchElementError, Selenium::WebDriver::Error::ObsoleteElementError
|
43
43
|
nil
|
44
44
|
end
|
45
45
|
|
data/spec/element_spec.rb
CHANGED
@@ -31,9 +31,11 @@ describe Watir::Element do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
describe "#exists?" do
|
34
|
-
|
34
|
+
before do
|
35
35
|
browser.goto WatirSpec.url_for('removed_element.html', :needs_server => true)
|
36
|
+
end
|
36
37
|
|
38
|
+
it "should not propagate ObsoleteElementErrors" do
|
37
39
|
button = browser.button(:id => "remove-button")
|
38
40
|
element = browser.div(:id => "text")
|
39
41
|
|
@@ -41,6 +43,26 @@ describe Watir::Element do
|
|
41
43
|
button.click
|
42
44
|
expect(element).to_not exist
|
43
45
|
end
|
46
|
+
|
47
|
+
it "should determine if element constructed with WebDriver element is stale" do
|
48
|
+
button = browser.button(:id => "remove-button")
|
49
|
+
text = browser.element(:element, browser.div(:id => "text").wd)
|
50
|
+
|
51
|
+
expect(text).to exist
|
52
|
+
button.click
|
53
|
+
expect(text).to_not exist
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should handle element that becomes stale during lookup" do
|
57
|
+
wd_element = browser.div(:id => "text").wd
|
58
|
+
|
59
|
+
# simulate element going stale during lookup
|
60
|
+
allow(browser.driver).to receive(:find_element).with(:id, 'text') { wd_element }
|
61
|
+
browser.refresh
|
62
|
+
|
63
|
+
expect(browser.div(:id, 'text')).to_not exist
|
64
|
+
end
|
65
|
+
|
44
66
|
end
|
45
67
|
|
46
68
|
describe "#hover" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jari Bakken
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|