watir-webdriver 0.6.10 → 0.6.11
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Gem Version](https://badge.fury.io/rb/watir-webdriver.png)](http://badge.fury.io/rb/watir-webdriver)
|
8
8
|
[![Build Status](https://travis-ci.org/watir/watir-webdriver.png?branch=master)](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
|