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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d99d09f16e9acf9273fb006c4b220fd4fc183ee
4
- data.tar.gz: f64ca53d0038cbbb1f378f80460aa115d1cb99cb
3
+ metadata.gz: 99fb61ab3a7bfa09aaacd069e7d46ea2e5f1cf1b
4
+ data.tar.gz: cf166a2f78d4aeffdbe569646f039a2c24482388
5
5
  SHA512:
6
- metadata.gz: dbc0ba082ee8e1f608eb3da5f99aff88385ed6478acacf76e5006cddce7c54add05fae79b9693cf824cb963c8ec0735f0cc85df088c4b220a0cbc0d759e68f5a
7
- data.tar.gz: f9b311df8b4ad828e2a93a4e5fae3a298418f0a1ebc2f869d57c262f31feb9c1ede839dd6389f739b94d7fff257d309830427b2919175130c703f4a7039fe2fc
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
 
@@ -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.compact.max
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
- DEFAULT_MOVE_DURATION = 0.25 # 250 milliseconds
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: DEFAULT_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: DEFAULT_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: DEFAULT_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
- local_file = @file_detector.call(keys)
367
- keys = upload(local_file) if local_file
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
- local_file = @file_detector.call(keys)
364
- keys = [upload(local_file)] if local_file
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
@@ -17,6 +17,6 @@
17
17
 
18
18
  module Selenium
19
19
  module WebDriver
20
- VERSION = '3.13.1'.freeze
20
+ VERSION = '3.14.0'.freeze
21
21
  end # WebDriver
22
22
  end # Selenium
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.13.1
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-07-20 00:00:00.000000000 Z
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