selenium-webdriver 3.13.1 → 3.14.0
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 +16 -0
- data/lib/selenium/server.rb +4 -2
- data/lib/selenium/webdriver/common/error.rb +2 -1
- data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +12 -4
- data/lib/selenium/webdriver/remote/oss/bridge.rb +6 -2
- data/lib/selenium/webdriver/remote/w3c/bridge.rb +6 -2
- data/lib/selenium/webdriver/version.rb +1 -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: 99fb61ab3a7bfa09aaacd069e7d46ea2e5f1cf1b
|
4
|
+
data.tar.gz: cf166a2f78d4aeffdbe569646f039a2c24482388
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba21477cc153e278d022992de88e2d7d8cd9bea097f2bb10be903a78275455a5ac67dd402007702a903436abf46178c022c5790e102e872cc70a1ead1804e674
|
7
|
+
data.tar.gz: 8cbfcc76c933a6f5b085765ecc1bc2b10ea800a1b4e9b24dcd6baf14cf6ab1f337a147c6c22e4b96331310f0fad6382fe9965daf5cc8e1a06c33d8bc874344f9
|
data/CHANGES
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
3.14.0 (2018-08-03)
|
2
|
+
===================
|
3
|
+
|
4
|
+
Ruby:
|
5
|
+
* Allow to customize default duration of movement of pointer actions using
|
6
|
+
Driver#action#default_move_duration= (thanks @prakharrr)
|
7
|
+
* Fixed an accidentally removed Selenium::WebDriver::Error::TimeoutError (thanks @twalpole)
|
8
|
+
|
9
|
+
Server:
|
10
|
+
* Fixed an issue when Server.latest couldn't parse the version
|
11
|
+
|
12
|
+
Remote:
|
13
|
+
* Added support for uploading multiple files by passing them as a string
|
14
|
+
separated by \n to Element#send_keys. Please, note that not all the drivers
|
15
|
+
have multiple file upload implemented (tested to work in ChromeDriver).
|
16
|
+
|
1
17
|
3.13.1 (2018-07-20)
|
2
18
|
===================
|
3
19
|
|
data/lib/selenium/server.rb
CHANGED
@@ -112,9 +112,11 @@ module Selenium
|
|
112
112
|
def latest
|
113
113
|
require 'rexml/document'
|
114
114
|
net_http.start('selenium-release.storage.googleapis.com') do |http|
|
115
|
-
REXML::Document.new(http.get('/').body).root.get_elements('//Contents/Key').map do |e|
|
115
|
+
versions = REXML::Document.new(http.get('/').body).root.get_elements('//Contents/Key').map do |e|
|
116
116
|
e.text[/selenium-server-standalone-(\d+\.\d+\.\d+)\.jar/, 1]
|
117
|
-
end
|
117
|
+
end
|
118
|
+
|
119
|
+
versions.compact.map { |version| Gem::Version.new(version) }.max.version
|
118
120
|
end
|
119
121
|
end
|
120
122
|
|
@@ -32,7 +32,7 @@ module Selenium
|
|
32
32
|
ERRORS.fetch(code)
|
33
33
|
when String
|
34
34
|
klass_name = code.split(' ').map(&:capitalize).join.sub(/Error$/, '')
|
35
|
-
const_get("#{klass_name}Error")
|
35
|
+
const_get("#{klass_name}Error", false)
|
36
36
|
end
|
37
37
|
rescue KeyError, NameError
|
38
38
|
WebDriverError
|
@@ -264,6 +264,7 @@ module Selenium
|
|
264
264
|
|
265
265
|
# Aliases for OSS dialect.
|
266
266
|
ScriptTimeoutError = ScriptTimeOutError
|
267
|
+
TimeoutError = TimeOutError
|
267
268
|
NoAlertOpenError = NoAlertPresentError
|
268
269
|
|
269
270
|
# Aliases for backwards compatibility.
|
@@ -18,7 +18,15 @@
|
|
18
18
|
module Selenium
|
19
19
|
module WebDriver
|
20
20
|
module PointerActions
|
21
|
-
|
21
|
+
attr_writer :default_move_duration
|
22
|
+
|
23
|
+
#
|
24
|
+
# The overridable duration for movement used by methods in this module
|
25
|
+
#
|
26
|
+
|
27
|
+
def default_move_duration
|
28
|
+
@default_move_duration ||= 0.25 # 250 milliseconds
|
29
|
+
end
|
22
30
|
|
23
31
|
#
|
24
32
|
# Presses (without releasing) at the current location of the PointerInput device. This is equivalent to:
|
@@ -98,7 +106,7 @@ module Selenium
|
|
98
106
|
left = 0
|
99
107
|
top = 0
|
100
108
|
end
|
101
|
-
pointer.create_pointer_move(duration:
|
109
|
+
pointer.create_pointer_move(duration: default_move_duration,
|
102
110
|
x: left,
|
103
111
|
y: top,
|
104
112
|
element: element)
|
@@ -125,7 +133,7 @@ module Selenium
|
|
125
133
|
|
126
134
|
def move_by(right_by, down_by, device: nil)
|
127
135
|
pointer = get_pointer(device)
|
128
|
-
pointer.create_pointer_move(duration:
|
136
|
+
pointer.create_pointer_move(duration: default_move_duration,
|
129
137
|
x: Integer(right_by),
|
130
138
|
y: Integer(down_by),
|
131
139
|
origin: Interactions::PointerMove::POINTER)
|
@@ -152,7 +160,7 @@ module Selenium
|
|
152
160
|
|
153
161
|
def move_to_location(x, y, device: nil)
|
154
162
|
pointer = get_pointer(device)
|
155
|
-
pointer.create_pointer_move(duration:
|
163
|
+
pointer.create_pointer_move(duration: default_move_duration,
|
156
164
|
x: Integer(x),
|
157
165
|
y: Integer(y),
|
158
166
|
origin: Interactions::PointerMove::VIEWPORT)
|
@@ -362,9 +362,13 @@ module Selenium
|
|
362
362
|
end
|
363
363
|
|
364
364
|
def send_keys_to_element(element, keys)
|
365
|
+
# TODO: rework file detectors before Selenium 4.0
|
365
366
|
if @file_detector
|
366
|
-
|
367
|
-
|
367
|
+
local_files = keys.first.split("\n").map { |key| @file_detector.call(Array(key)) }.compact
|
368
|
+
if local_files.any?
|
369
|
+
keys = local_files.map { |local_file| upload(local_file) }
|
370
|
+
keys = keys.join("\n")
|
371
|
+
end
|
368
372
|
end
|
369
373
|
|
370
374
|
execute :send_keys_to_element, {id: element}, {value: Array(keys)}
|
@@ -359,9 +359,13 @@ module Selenium
|
|
359
359
|
end
|
360
360
|
|
361
361
|
def send_keys_to_element(element, keys)
|
362
|
+
# TODO: rework file detectors before Selenium 4.0
|
362
363
|
if @file_detector
|
363
|
-
|
364
|
-
|
364
|
+
local_files = keys.first.split("\n").map { |key| @file_detector.call(Array(key)) }.compact
|
365
|
+
if local_files.any?
|
366
|
+
keys = local_files.map { |local_file| upload(local_file) }
|
367
|
+
keys = Array(keys.join("\n"))
|
368
|
+
end
|
365
369
|
end
|
366
370
|
|
367
371
|
# Keep .split(//) for backward compatibility for now
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Rodionov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-08-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|