watir-webdriver 0.9.1 → 0.9.2
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/.gitignore +3 -0
- data/.travis.yml +7 -3
- data/CHANGES.md +6 -0
- data/Rakefile +17 -5
- data/lib/watir-webdriver.rb +16 -6
- data/lib/watir-webdriver/after_hooks.rb +2 -2
- data/lib/watir-webdriver/browser.rb +5 -5
- data/lib/watir-webdriver/cell_container.rb +4 -10
- data/lib/watir-webdriver/element_collection.rb +28 -7
- data/lib/watir-webdriver/elements/button.rb +0 -18
- data/lib/watir-webdriver/elements/cell.rb +17 -0
- data/lib/watir-webdriver/elements/checkbox.rb +0 -3
- data/lib/watir-webdriver/elements/element.rb +37 -10
- data/lib/watir-webdriver/elements/file_field.rb +0 -3
- data/lib/watir-webdriver/elements/hidden.rb +0 -3
- data/lib/watir-webdriver/elements/html_elements.rb +0 -219
- data/lib/watir-webdriver/elements/iframe.rb +29 -19
- data/lib/watir-webdriver/elements/row.rb +17 -0
- data/lib/watir-webdriver/elements/svg_elements.rb +0 -120
- data/lib/watir-webdriver/elements/table.rb +1 -1
- data/lib/watir-webdriver/elements/table_cell.rb +0 -28
- data/lib/watir-webdriver/elements/table_row.rb +1 -30
- data/lib/watir-webdriver/elements/text_area.rb +0 -17
- data/lib/watir-webdriver/elements/text_field.rb +2 -8
- data/lib/watir-webdriver/generator/base/visitor.rb +1 -10
- data/lib/watir-webdriver/locators.rb +22 -0
- data/lib/watir-webdriver/locators/button/locator.rb +38 -0
- data/lib/watir-webdriver/locators/button/selector_builder.rb +27 -0
- data/lib/watir-webdriver/locators/button/selector_builder/xpath.rb +29 -0
- data/lib/watir-webdriver/locators/button/validator.rb +14 -0
- data/lib/watir-webdriver/locators/cell/locator.rb +17 -0
- data/lib/watir-webdriver/locators/cell/selector_builder.rb +24 -0
- data/lib/watir-webdriver/locators/element/locator.rb +249 -0
- data/lib/watir-webdriver/locators/element/selector_builder.rb +147 -0
- data/lib/watir-webdriver/locators/element/selector_builder/css.rb +65 -0
- data/lib/watir-webdriver/locators/element/selector_builder/xpath.rb +72 -0
- data/lib/watir-webdriver/locators/element/validator.rb +22 -0
- data/lib/watir-webdriver/locators/row/locator.rb +17 -0
- data/lib/watir-webdriver/locators/row/selector_builder.rb +29 -0
- data/lib/watir-webdriver/locators/text_area/locator.rb +13 -0
- data/lib/watir-webdriver/locators/text_area/selector_builder.rb +22 -0
- data/lib/watir-webdriver/locators/text_field/locator.rb +42 -0
- data/lib/watir-webdriver/locators/text_field/selector_builder.rb +34 -0
- data/lib/watir-webdriver/locators/text_field/selector_builder/xpath.rb +19 -0
- data/lib/watir-webdriver/locators/text_field/validator.rb +20 -0
- data/lib/watir-webdriver/row_container.rb +3 -9
- data/lib/watir-webdriver/version.rb +1 -1
- data/lib/watir-webdriver/wait.rb +6 -3
- data/spec/always_locate_spec.rb +2 -1
- data/spec/element_locator_spec.rb +1 -1
- data/spec/element_spec.rb +8 -40
- data/spec/implementation.rb +52 -45
- data/spec/locator_spec_helper.rb +8 -2
- data/support/travis.sh +17 -6
- metadata +25 -10
- data/lib/watir-webdriver/locators/button_locator.rb +0 -85
- data/lib/watir-webdriver/locators/child_cell_locator.rb +0 -32
- data/lib/watir-webdriver/locators/child_row_locator.rb +0 -37
- data/lib/watir-webdriver/locators/element_locator.rb +0 -470
- data/lib/watir-webdriver/locators/text_area_locator.rb +0 -24
- data/lib/watir-webdriver/locators/text_field_locator.rb +0 -93
@@ -0,0 +1,19 @@
|
|
1
|
+
module Watir
|
2
|
+
module Locators
|
3
|
+
class TextField
|
4
|
+
class SelectorBuilder
|
5
|
+
class XPath < Element::SelectorBuilder::XPath
|
6
|
+
def lhs_for(building, key)
|
7
|
+
if building == :input && key == :text
|
8
|
+
"@value"
|
9
|
+
elsif building == :textarea && key == :value
|
10
|
+
"text()"
|
11
|
+
else
|
12
|
+
super
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Watir
|
2
|
+
module Locators
|
3
|
+
class TextField
|
4
|
+
class Validator < Element::Validator
|
5
|
+
VALID_TEXT_FIELD_TAGS = %w[input textarea]
|
6
|
+
|
7
|
+
def validate(element, selector)
|
8
|
+
element_tag_name = element.tag_name.downcase
|
9
|
+
|
10
|
+
if element.tag_name.downcase == 'textarea'
|
11
|
+
warn "Locating textareas with '#text_field' is deprecated. Please, use '#textarea' method instead."
|
12
|
+
end
|
13
|
+
return unless VALID_TEXT_FIELD_TAGS.include?(element_tag_name)
|
14
|
+
|
15
|
+
element
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -6,10 +6,7 @@ module Watir
|
|
6
6
|
#
|
7
7
|
|
8
8
|
def row(*args)
|
9
|
-
|
10
|
-
row.locator_class = ChildRowLocator
|
11
|
-
|
12
|
-
row
|
9
|
+
Row.new(self, extract_selector(args).merge(tag_name: "tr"))
|
13
10
|
end
|
14
11
|
|
15
12
|
#
|
@@ -17,10 +14,7 @@ module Watir
|
|
17
14
|
#
|
18
15
|
|
19
16
|
def rows(*args)
|
20
|
-
|
21
|
-
rows.locator_class = ChildRowLocator
|
22
|
-
|
23
|
-
rows
|
17
|
+
RowCollection.new(self, extract_selector(args).merge(tag_name: "tr"))
|
24
18
|
end
|
25
19
|
|
26
20
|
#
|
@@ -33,7 +27,7 @@ module Watir
|
|
33
27
|
assert_exists
|
34
28
|
|
35
29
|
rows.inject [] do |res, row|
|
36
|
-
res << row.cells.map
|
30
|
+
res << row.cells.map(&:text)
|
37
31
|
end
|
38
32
|
end
|
39
33
|
alias_method :to_a, :strings
|
data/lib/watir-webdriver/wait.rb
CHANGED
@@ -123,9 +123,12 @@ module Watir
|
|
123
123
|
#
|
124
124
|
|
125
125
|
class WhenPresentDecorator < BaseDecorator
|
126
|
-
|
127
|
-
|
128
|
-
|
126
|
+
def present?
|
127
|
+
Watir::Wait.until(@timeout, @message) { wait_until }
|
128
|
+
true
|
129
|
+
rescue Watir::Wait::TimeoutError
|
130
|
+
false
|
131
|
+
end
|
129
132
|
|
130
133
|
private
|
131
134
|
|
data/spec/always_locate_spec.rb
CHANGED
@@ -31,11 +31,12 @@ describe 'Watir' do
|
|
31
31
|
expect(element.exists?).to be true
|
32
32
|
|
33
33
|
browser.refresh
|
34
|
+
browser.div(id: "text").wait_until_present
|
34
35
|
|
35
36
|
if Watir.always_locate?
|
36
37
|
expect { element.text }.to_not raise_error
|
37
38
|
else
|
38
|
-
expect { element.text }.to raise_error
|
39
|
+
expect { element.text }.to raise_error Watir::Exception::UnknownObjectException
|
39
40
|
end
|
40
41
|
end
|
41
42
|
end
|
data/spec/element_spec.rb
CHANGED
@@ -52,9 +52,11 @@ describe Watir::Element do
|
|
52
52
|
describe "#reset!" do
|
53
53
|
it "successfully relocates collection elements after a reset!" do
|
54
54
|
browser.goto(WatirSpec.url_for("wait.html"))
|
55
|
-
element = browser.div(:
|
55
|
+
element = browser.div(id: 'foo')
|
56
56
|
expect(element).to exist
|
57
57
|
browser.refresh
|
58
|
+
browser.div(id: 'foo').wait_until_present
|
59
|
+
|
58
60
|
expect(element.exist?).to be false unless Watir.always_locate?
|
59
61
|
element.send :reset!
|
60
62
|
expect(element).to exist
|
@@ -66,46 +68,15 @@ describe Watir::Element do
|
|
66
68
|
browser.goto WatirSpec.url_for('removed_element.html')
|
67
69
|
end
|
68
70
|
|
69
|
-
it "does not propagate StaleElementReferenceErrors" do
|
70
|
-
button = browser.button(id: "remove-button")
|
71
|
-
element = browser.div(id: "text")
|
72
|
-
|
73
|
-
expect(element).to exist
|
74
|
-
button.click
|
75
|
-
expect(element).to_not exist
|
76
|
-
end
|
77
|
-
|
78
71
|
it "returns false when an element from a collection becomes stale" do
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
expect(text).to exist
|
83
|
-
button.click
|
84
|
-
expect(text).to_not exist
|
85
|
-
end
|
86
|
-
|
87
|
-
it "returns false when an element becomes stale" do
|
88
|
-
wd_element = browser.div(id: "text").wd
|
72
|
+
watir_element = browser.divs(id: "text").first
|
73
|
+
expect(watir_element).to exist
|
89
74
|
|
90
|
-
# simulate element going stale during lookup
|
91
|
-
allow(browser.driver).to receive(:find_element).with(:id, 'text') { wd_element }
|
92
75
|
browser.refresh
|
93
76
|
|
94
|
-
expect(
|
77
|
+
expect(watir_element).to_not exist
|
95
78
|
end
|
96
79
|
|
97
|
-
it "returns appropriate value when an ancestor element becomes stale" do
|
98
|
-
stale_element = browser.div(id: 'top').div(id: 'middle').div(id: 'bottom')
|
99
|
-
expect(stale_element.present?).to be true # look up and store @element for each element in hierarchy
|
100
|
-
|
101
|
-
grandparent = stale_element.instance_variable_get('@parent').instance_variable_get('@parent').instance_variable_get('@element')
|
102
|
-
|
103
|
-
# simulate element going stale during lookup
|
104
|
-
allow(grandparent).to receive('enabled?') { raise Selenium::WebDriver::Error::ObsoleteElementError }
|
105
|
-
|
106
|
-
browser.refresh
|
107
|
-
expect(stale_element.present?).to be Watir.always_locate?
|
108
|
-
end
|
109
80
|
end
|
110
81
|
|
111
82
|
describe "#element_call" do
|
@@ -125,17 +96,14 @@ describe Watir::Element do
|
|
125
96
|
if Watir.always_locate?
|
126
97
|
expect { watir_element.text }.to_not raise_error
|
127
98
|
else
|
128
|
-
expect { watir_element.text }.to raise_error
|
99
|
+
expect { watir_element.text }.to raise_error Watir::Exception::UnknownObjectException
|
129
100
|
end
|
130
101
|
end
|
131
102
|
|
132
103
|
end
|
133
104
|
|
134
105
|
describe "#hover" do
|
135
|
-
not_compliant_on
|
136
|
-
%i(webdriver internet_explorer),
|
137
|
-
%i(webdriver iphone),
|
138
|
-
%i(webdriver safari) do
|
106
|
+
not_compliant_on :internet_explorer, :iphone, :safari do
|
139
107
|
it "should hover over the element" do
|
140
108
|
browser.goto WatirSpec.url_for('hover.html')
|
141
109
|
link = browser.a
|
data/spec/implementation.rb
CHANGED
@@ -7,6 +7,7 @@ class ImplementationConfig
|
|
7
7
|
|
8
8
|
def configure
|
9
9
|
set_webdriver
|
10
|
+
start_remote_server if remote? && !ENV["REMOTE_SERVER_URL"]
|
10
11
|
set_browser_args
|
11
12
|
set_guard_proc
|
12
13
|
add_html_routes
|
@@ -16,6 +17,32 @@ class ImplementationConfig
|
|
16
17
|
|
17
18
|
private
|
18
19
|
|
20
|
+
def start_remote_server
|
21
|
+
require 'selenium/server'
|
22
|
+
|
23
|
+
@server ||= Selenium::Server.new(remote_server_jar,
|
24
|
+
:port => Selenium::WebDriver::PortProber.above(4444),
|
25
|
+
:log => !!$DEBUG,
|
26
|
+
:background => true,
|
27
|
+
:timeout => 60)
|
28
|
+
|
29
|
+
@server.start
|
30
|
+
at_exit { @server.stop }
|
31
|
+
end
|
32
|
+
|
33
|
+
def remote_server_jar
|
34
|
+
if File.exist?(ENV['REMOTE_SERVER_BINARY'] || '')
|
35
|
+
ENV['REMOTE_SERVER_BINARY']
|
36
|
+
elsif !Dir.glob('selenium-server-standalone*.jar').empty?
|
37
|
+
Dir.glob('selenium-server-standalone*.jar').first
|
38
|
+
else
|
39
|
+
Selenium::Server.download :latest
|
40
|
+
end
|
41
|
+
rescue SocketError
|
42
|
+
# not connected to internet
|
43
|
+
raise Watir::Exception::Error, "unable to find or download selenium-server-standalone jar"
|
44
|
+
end
|
45
|
+
|
19
46
|
def set_webdriver
|
20
47
|
@imp.name = :webdriver
|
21
48
|
@imp.browser_class = Watir::Browser
|
@@ -63,29 +90,27 @@ class ImplementationConfig
|
|
63
90
|
end
|
64
91
|
|
65
92
|
def set_guard_proc
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
:
|
72
|
-
matching_browser, # guard only applies to this browser
|
73
|
-
matching_browser_with_version, # guard only applies to this browser with specific version
|
74
|
-
[:webdriver, matching_browser], # guard only applies to this browser on webdriver
|
75
|
-
[:webdriver, matching_browser_with_version], # guard only applies to this browser with specific version on webdriver
|
76
|
-
[matching_browser, Selenium::WebDriver::Platform.os] # guard only applies to this browser with this OS
|
77
|
-
]
|
78
|
-
|
79
|
-
if native_events?
|
80
|
-
# guard only applies to this browser on webdriver with native events enabled
|
81
|
-
matching_guards << [:webdriver, matching_browser, :native_events]
|
82
|
-
matching_guards << [:webdriver, matching_browser_with_version, :native_events]
|
93
|
+
matching_guards = [:webdriver]
|
94
|
+
|
95
|
+
if remote?
|
96
|
+
matching_browser = remote_browser
|
97
|
+
matching_guards << :remote
|
98
|
+
matching_guards << [:remote, matching_browser]
|
83
99
|
else
|
84
|
-
|
85
|
-
matching_guards << [:webdriver, matching_browser, :synthesized_events]
|
86
|
-
matching_guards << [:webdriver, matching_browser_with_version, :synthesized_events]
|
100
|
+
matching_browser = browser
|
87
101
|
end
|
88
102
|
|
103
|
+
browser_instance = WatirSpec.new_browser
|
104
|
+
browser_version = browser_instance.driver.capabilities.version
|
105
|
+
|
106
|
+
matching_browser_with_version = "#{browser}#{browser_version}".to_sym
|
107
|
+
matching_guards << matching_browser_with_version if browser_version
|
108
|
+
matching_guards << [:webdriver, matching_browser_with_version]
|
109
|
+
|
110
|
+
matching_guards << matching_browser
|
111
|
+
matching_guards << [:webdriver, matching_browser]
|
112
|
+
matching_guards << [matching_browser, Selenium::WebDriver::Platform.os]
|
113
|
+
|
89
114
|
if !Selenium::WebDriver::Platform.linux? || ENV['DESKTOP_SESSION']
|
90
115
|
# some specs (i.e. Window#maximize) needs a window manager on linux
|
91
116
|
matching_guards << [:webdriver, matching_browser, :window_manager]
|
@@ -100,16 +125,12 @@ class ImplementationConfig
|
|
100
125
|
end
|
101
126
|
|
102
127
|
def firefox_args
|
103
|
-
|
104
|
-
profile.native_events = native_events?
|
105
|
-
|
106
|
-
[:firefox, {profile: profile}]
|
128
|
+
[:firefox, {}]
|
107
129
|
end
|
108
130
|
|
109
131
|
def chrome_args
|
110
132
|
opts = {
|
111
|
-
args: ["--disable-translate"]
|
112
|
-
native_events: native_events?
|
133
|
+
args: ["--disable-translate"]
|
113
134
|
}
|
114
135
|
|
115
136
|
if url = ENV['WATIR_WEBDRIVER_CHROME_SERVER']
|
@@ -132,7 +153,10 @@ class ImplementationConfig
|
|
132
153
|
end
|
133
154
|
|
134
155
|
def remote_args
|
135
|
-
|
156
|
+
url = ENV["REMOTE_SERVER_URL"] || "http://127.0.0.1:#{@server.port}/wd/hub"
|
157
|
+
remote_browser_name = ENV['REMOTE_BROWSER'].to_sym
|
158
|
+
caps = Selenium::WebDriver::Remote::Capabilities.send(remote_browser_name)
|
159
|
+
[:remote, {url: url, desired_capabilities: caps}]
|
136
160
|
end
|
137
161
|
|
138
162
|
def add_html_routes
|
@@ -147,24 +171,7 @@ class ImplementationConfig
|
|
147
171
|
end
|
148
172
|
|
149
173
|
def remote_browser
|
150
|
-
remote_browser
|
151
|
-
remote_browser.browser.name
|
152
|
-
ensure
|
153
|
-
remote_browser.close
|
154
|
-
end
|
155
|
-
|
156
|
-
def native_events?
|
157
|
-
if ENV['NATIVE_EVENTS'] == "true"
|
158
|
-
true
|
159
|
-
elsif ENV['NATIVE_EVENTS'] == "false" && !ie?
|
160
|
-
false
|
161
|
-
else
|
162
|
-
native_events_by_default?
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
|
-
def native_events_by_default?
|
167
|
-
Selenium::WebDriver::Platform.windows? && [:firefox, :internet_explorer].include?(browser)
|
174
|
+
@remote_browser ||= (ENV['REMOTE_BROWSER'] || :firefox).to_sym
|
168
175
|
end
|
169
176
|
|
170
177
|
class SelectorListener < Selenium::WebDriver::Support::AbstractEventListener
|
data/spec/locator_spec_helper.rb
CHANGED
@@ -1,13 +1,19 @@
|
|
1
1
|
require 'active_support/ordered_hash'
|
2
2
|
|
3
3
|
module LocatorSpecHelper
|
4
|
+
def browser
|
5
|
+
@browser ||= double(Watir::Browser, wd: driver)
|
6
|
+
end
|
7
|
+
|
4
8
|
def driver
|
5
9
|
@driver ||= double(Selenium::WebDriver::Driver)
|
6
10
|
end
|
7
11
|
|
8
12
|
def locator(selector, attrs)
|
9
13
|
attrs ||= Watir::HTMLElement.attributes
|
10
|
-
Watir::
|
14
|
+
element_validator = Watir::Locators::Element::Validator.new
|
15
|
+
selector_builder = Watir::Locators::Element::SelectorBuilder.new(driver, selector, attrs)
|
16
|
+
Watir::Locators::Element::Locator.new(browser, selector, selector_builder, element_validator)
|
11
17
|
end
|
12
18
|
|
13
19
|
def expect_one(*args)
|
@@ -31,7 +37,7 @@ module LocatorSpecHelper
|
|
31
37
|
el = double(Watir::Element, opts)
|
32
38
|
|
33
39
|
attrs.each do |key, value|
|
34
|
-
el.
|
40
|
+
allow(el).to receive(:attribute).with(key).and_return(value)
|
35
41
|
end if attrs
|
36
42
|
|
37
43
|
el
|
data/support/travis.sh
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
#!/bin/bash
|
2
2
|
|
3
3
|
set -e
|
4
4
|
set -x
|
@@ -6,19 +6,30 @@ set -x
|
|
6
6
|
sh -e /etc/init.d/xvfb start
|
7
7
|
git submodule update --init
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
if [[ "$RAKE_TASK" = "yard:doctest" ]]; then
|
10
|
+
mkdir ~/.yard
|
11
|
+
bundle exec yard config -a autoload_plugins yard-doctest
|
12
|
+
fi
|
11
13
|
|
12
14
|
if [[ "$RAKE_TASK" = "spec:chrome" ]]; then
|
13
|
-
|
14
|
-
|
15
|
-
|
15
|
+
# https://omahaproxy.appspot.com
|
16
|
+
# https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/
|
17
|
+
CHROME_REVISION=386257
|
16
18
|
curl -L -O "http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/${CHROME_REVISION}/chrome-linux.zip"
|
17
19
|
unzip chrome-linux.zip
|
18
20
|
|
21
|
+
CHROMEDRIVER_VERSION=$(curl -s http://chromedriver.storage.googleapis.com/LATEST_RELEASE)
|
19
22
|
curl -L -O "http://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip"
|
20
23
|
unzip chromedriver_linux64.zip
|
21
24
|
|
22
25
|
mv chromedriver chrome-linux/chromedriver
|
23
26
|
chmod +x chrome-linux/chromedriver
|
24
27
|
fi
|
28
|
+
|
29
|
+
if [[ "$RAKE_TASK" = "spec:phantomjs" ]]; then
|
30
|
+
curl -L -O "https://bintray.com/artifact/download/tfortner/phantomjs-clone/p/phantomjs"
|
31
|
+
chmod +x phantomjs
|
32
|
+
|
33
|
+
mv phantomjs travis-phantomjs/phantomjs
|
34
|
+
phantomjs --version
|
35
|
+
fi
|
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.9.
|
4
|
+
version: 0.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jari Bakken
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -214,6 +214,7 @@ files:
|
|
214
214
|
- lib/watir-webdriver/element_collection.rb
|
215
215
|
- lib/watir-webdriver/elements/area.rb
|
216
216
|
- lib/watir-webdriver/elements/button.rb
|
217
|
+
- lib/watir-webdriver/elements/cell.rb
|
217
218
|
- lib/watir-webdriver/elements/checkbox.rb
|
218
219
|
- lib/watir-webdriver/elements/dlist.rb
|
219
220
|
- lib/watir-webdriver/elements/element.rb
|
@@ -228,6 +229,7 @@ files:
|
|
228
229
|
- lib/watir-webdriver/elements/link.rb
|
229
230
|
- lib/watir-webdriver/elements/option.rb
|
230
231
|
- lib/watir-webdriver/elements/radio.rb
|
232
|
+
- lib/watir-webdriver/elements/row.rb
|
231
233
|
- lib/watir-webdriver/elements/select.rb
|
232
234
|
- lib/watir-webdriver/elements/svg_elements.rb
|
233
235
|
- lib/watir-webdriver/elements/table.rb
|
@@ -256,12 +258,26 @@ files:
|
|
256
258
|
- lib/watir-webdriver/generator/svg/spec_extractor.rb
|
257
259
|
- lib/watir-webdriver/generator/svg/visitor.rb
|
258
260
|
- lib/watir-webdriver/has_window.rb
|
259
|
-
- lib/watir-webdriver/locators
|
260
|
-
- lib/watir-webdriver/locators/
|
261
|
-
- lib/watir-webdriver/locators/
|
262
|
-
- lib/watir-webdriver/locators/
|
263
|
-
- lib/watir-webdriver/locators/
|
264
|
-
- lib/watir-webdriver/locators/
|
261
|
+
- lib/watir-webdriver/locators.rb
|
262
|
+
- lib/watir-webdriver/locators/button/locator.rb
|
263
|
+
- lib/watir-webdriver/locators/button/selector_builder.rb
|
264
|
+
- lib/watir-webdriver/locators/button/selector_builder/xpath.rb
|
265
|
+
- lib/watir-webdriver/locators/button/validator.rb
|
266
|
+
- lib/watir-webdriver/locators/cell/locator.rb
|
267
|
+
- lib/watir-webdriver/locators/cell/selector_builder.rb
|
268
|
+
- lib/watir-webdriver/locators/element/locator.rb
|
269
|
+
- lib/watir-webdriver/locators/element/selector_builder.rb
|
270
|
+
- lib/watir-webdriver/locators/element/selector_builder/css.rb
|
271
|
+
- lib/watir-webdriver/locators/element/selector_builder/xpath.rb
|
272
|
+
- lib/watir-webdriver/locators/element/validator.rb
|
273
|
+
- lib/watir-webdriver/locators/row/locator.rb
|
274
|
+
- lib/watir-webdriver/locators/row/selector_builder.rb
|
275
|
+
- lib/watir-webdriver/locators/text_area/locator.rb
|
276
|
+
- lib/watir-webdriver/locators/text_area/selector_builder.rb
|
277
|
+
- lib/watir-webdriver/locators/text_field/locator.rb
|
278
|
+
- lib/watir-webdriver/locators/text_field/selector_builder.rb
|
279
|
+
- lib/watir-webdriver/locators/text_field/selector_builder/xpath.rb
|
280
|
+
- lib/watir-webdriver/locators/text_field/validator.rb
|
265
281
|
- lib/watir-webdriver/row_container.rb
|
266
282
|
- lib/watir-webdriver/screenshot.rb
|
267
283
|
- lib/watir-webdriver/user_editable.rb
|
@@ -305,7 +321,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
305
321
|
version: '0'
|
306
322
|
requirements: []
|
307
323
|
rubyforge_project: watir-webdriver
|
308
|
-
rubygems_version: 2.4.
|
324
|
+
rubygems_version: 2.4.5.1
|
309
325
|
signing_key:
|
310
326
|
specification_version: 4
|
311
327
|
summary: Watir on WebDriver
|
@@ -321,4 +337,3 @@ test_files:
|
|
321
337
|
- spec/locator_spec_helper.rb
|
322
338
|
- spec/spec_helper.rb
|
323
339
|
- spec/special_chars_spec.rb
|
324
|
-
has_rdoc:
|