selenium-webdriver 3.13.1 → 3.14.0

Sign up to get free protection for your applications and to get access to all the features.
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