selenium-webdriver 2.53.3 → 3.142.7

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.
Files changed (162) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +665 -8
  3. data/Gemfile +2 -0
  4. data/LICENSE +1 -1
  5. data/README.md +2 -3
  6. data/lib/selenium/server.rb +76 -73
  7. data/lib/selenium/webdriver/atoms/getAttribute.js +7 -0
  8. data/lib/selenium/webdriver/atoms/isDisplayed.js +102 -0
  9. data/lib/selenium/webdriver/{phantomjs.rb → atoms.rb} +10 -14
  10. data/lib/selenium/webdriver/chrome/bridge.rb +30 -101
  11. data/lib/selenium/webdriver/chrome/driver.rb +127 -0
  12. data/lib/selenium/webdriver/chrome/options.rb +190 -0
  13. data/lib/selenium/webdriver/chrome/profile.rb +21 -20
  14. data/lib/selenium/webdriver/chrome/service.rb +26 -93
  15. data/lib/selenium/webdriver/chrome.rb +15 -6
  16. data/lib/selenium/webdriver/common/action_builder.rb +52 -58
  17. data/lib/selenium/webdriver/common/alert.rb +7 -15
  18. data/lib/selenium/webdriver/common/bridge_helper.rb +18 -22
  19. data/lib/selenium/webdriver/common/driver.rb +72 -72
  20. data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +45 -0
  21. data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +50 -0
  22. data/lib/selenium/webdriver/common/driver_extensions/{has_input_devices.rb → has_debugger.rb} +11 -27
  23. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +6 -10
  24. data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +51 -0
  25. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +7 -8
  26. data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +51 -0
  27. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +2 -4
  28. data/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +2 -4
  29. data/lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb +3 -5
  30. data/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +2 -5
  31. data/lib/selenium/webdriver/common/driver_extensions/rotatable.rb +6 -9
  32. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +9 -7
  33. data/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +3 -8
  34. data/lib/selenium/webdriver/common/element.rb +59 -39
  35. data/lib/selenium/webdriver/common/error.rb +259 -104
  36. data/lib/selenium/webdriver/common/file_reaper.rb +6 -14
  37. data/lib/selenium/webdriver/common/html5/local_storage.rb +8 -10
  38. data/lib/selenium/webdriver/common/html5/session_storage.rb +8 -10
  39. data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +8 -16
  40. data/lib/selenium/webdriver/common/interactions/input_device.rb +54 -0
  41. data/lib/selenium/webdriver/common/interactions/interaction.rb +53 -0
  42. data/lib/selenium/webdriver/{safari/browser.rb → common/interactions/interactions.rb} +17 -14
  43. data/lib/selenium/webdriver/common/interactions/key_actions.rb +145 -0
  44. data/lib/selenium/webdriver/common/interactions/key_input.rb +66 -0
  45. data/lib/selenium/webdriver/{android.rb → common/interactions/none_input.rb} +14 -6
  46. data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +363 -0
  47. data/lib/selenium/webdriver/common/interactions/pointer_input.rb +139 -0
  48. data/lib/selenium/webdriver/common/keyboard.rb +10 -14
  49. data/lib/selenium/webdriver/common/keys.rb +102 -82
  50. data/lib/selenium/webdriver/common/log_entry.rb +7 -8
  51. data/lib/selenium/webdriver/common/logger.rb +115 -0
  52. data/lib/selenium/webdriver/common/logs.rb +4 -6
  53. data/lib/selenium/webdriver/common/manager.rb +177 -0
  54. data/lib/selenium/webdriver/common/mouse.rb +12 -14
  55. data/lib/selenium/webdriver/common/navigation.rb +4 -6
  56. data/lib/selenium/webdriver/common/options.rb +26 -127
  57. data/lib/selenium/webdriver/common/platform.rb +75 -101
  58. data/lib/selenium/webdriver/common/port_prober.rb +7 -19
  59. data/lib/selenium/webdriver/common/profile_helper.rb +8 -11
  60. data/lib/selenium/webdriver/common/proxy.rb +68 -74
  61. data/lib/selenium/webdriver/common/search_context.rb +28 -37
  62. data/lib/selenium/webdriver/common/service.rb +219 -0
  63. data/lib/selenium/webdriver/common/socket_lock.rb +15 -16
  64. data/lib/selenium/webdriver/common/socket_poller.rb +30 -28
  65. data/lib/selenium/webdriver/common/target_locator.rb +16 -18
  66. data/lib/selenium/webdriver/common/timeouts.rb +6 -8
  67. data/lib/selenium/webdriver/common/touch_action_builder.rb +5 -10
  68. data/lib/selenium/webdriver/common/touch_screen.rb +22 -23
  69. data/lib/selenium/webdriver/common/w3c_action_builder.rb +212 -0
  70. data/lib/selenium/webdriver/common/w3c_manager.rb +45 -0
  71. data/lib/selenium/webdriver/common/wait.rb +17 -16
  72. data/lib/selenium/webdriver/common/window.rb +50 -17
  73. data/lib/selenium/webdriver/common/zipper.rb +9 -13
  74. data/lib/selenium/webdriver/common.rb +21 -7
  75. data/lib/selenium/webdriver/edge/bridge.rb +34 -63
  76. data/lib/selenium/webdriver/edge/driver.rb +66 -0
  77. data/lib/selenium/webdriver/edge/options.rb +80 -0
  78. data/lib/selenium/webdriver/edge/service.rb +23 -95
  79. data/lib/selenium/webdriver/edge.rb +13 -13
  80. data/lib/selenium/webdriver/firefox/binary.rb +45 -60
  81. data/lib/selenium/webdriver/firefox/driver.rb +50 -0
  82. data/lib/selenium/webdriver/firefox/extension/prefs.json +3 -12
  83. data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
  84. data/lib/selenium/webdriver/firefox/extension.rb +20 -10
  85. data/lib/selenium/webdriver/firefox/launcher.rb +16 -22
  86. data/lib/selenium/webdriver/firefox/legacy/driver.rb +83 -0
  87. data/lib/selenium/webdriver/firefox/marionette/bridge.rb +49 -0
  88. data/lib/selenium/webdriver/firefox/marionette/driver.rb +90 -0
  89. data/lib/selenium/webdriver/firefox/options.rb +162 -0
  90. data/lib/selenium/webdriver/firefox/profile.rb +47 -48
  91. data/lib/selenium/webdriver/firefox/profiles_ini.rb +11 -18
  92. data/lib/selenium/webdriver/firefox/service.rb +24 -95
  93. data/lib/selenium/webdriver/firefox/util.rb +2 -4
  94. data/lib/selenium/webdriver/firefox.rb +27 -12
  95. data/lib/selenium/webdriver/ie/driver.rb +85 -0
  96. data/lib/selenium/webdriver/ie/options.rb +138 -0
  97. data/lib/selenium/webdriver/ie/service.rb +54 -0
  98. data/lib/selenium/webdriver/ie.rb +12 -10
  99. data/lib/selenium/webdriver/remote/bridge.rb +100 -564
  100. data/lib/selenium/webdriver/remote/capabilities.rb +98 -100
  101. data/lib/selenium/webdriver/remote/driver.rb +51 -0
  102. data/lib/selenium/webdriver/remote/http/common.rb +34 -22
  103. data/lib/selenium/webdriver/remote/http/curb.rb +13 -14
  104. data/lib/selenium/webdriver/remote/http/default.rb +62 -43
  105. data/lib/selenium/webdriver/remote/http/persistent.rb +12 -9
  106. data/lib/selenium/webdriver/remote/oss/bridge.rb +594 -0
  107. data/lib/selenium/webdriver/remote/oss/commands.rb +223 -0
  108. data/lib/selenium/webdriver/remote/response.rb +48 -28
  109. data/lib/selenium/webdriver/remote/server_error.rb +3 -5
  110. data/lib/selenium/webdriver/remote/w3c/bridge.rb +605 -0
  111. data/lib/selenium/webdriver/remote/w3c/capabilities.rb +310 -0
  112. data/lib/selenium/webdriver/remote/w3c/commands.rb +157 -0
  113. data/lib/selenium/webdriver/remote.rb +10 -16
  114. data/lib/selenium/webdriver/safari/bridge.rb +17 -101
  115. data/lib/selenium/webdriver/{firefox/w3c_bridge.rb → safari/driver.rb} +27 -25
  116. data/lib/selenium/webdriver/safari/options.rb +29 -31
  117. data/lib/selenium/webdriver/safari/service.rb +38 -0
  118. data/lib/selenium/webdriver/safari.rb +27 -27
  119. data/lib/selenium/webdriver/support/abstract_event_listener.rb +19 -4
  120. data/lib/selenium/webdriver/support/block_event_listener.rb +3 -5
  121. data/lib/selenium/webdriver/support/color.rb +60 -43
  122. data/lib/selenium/webdriver/support/escaper.rb +43 -0
  123. data/lib/selenium/webdriver/support/event_firing_bridge.rb +39 -41
  124. data/lib/selenium/webdriver/support/select.rb +45 -97
  125. data/lib/selenium/webdriver/support.rb +3 -2
  126. data/lib/selenium/webdriver/{iphone.rb → version.rb} +3 -7
  127. data/lib/selenium/webdriver.rb +36 -23
  128. data/lib/selenium-webdriver.rb +2 -2
  129. data/selenium-webdriver.gemspec +42 -29
  130. metadata +331 -262
  131. data/lib/selenium/client/base.rb +0 -151
  132. data/lib/selenium/client/driver.rb +0 -29
  133. data/lib/selenium/client/errors.rb +0 -28
  134. data/lib/selenium/client/extensions.rb +0 -132
  135. data/lib/selenium/client/idiomatic.rb +0 -507
  136. data/lib/selenium/client/javascript_expression_builder.rb +0 -135
  137. data/lib/selenium/client/javascript_frameworks/jquery.rb +0 -32
  138. data/lib/selenium/client/javascript_frameworks/prototype.rb +0 -32
  139. data/lib/selenium/client/legacy_driver.rb +0 -1722
  140. data/lib/selenium/client/protocol.rb +0 -123
  141. data/lib/selenium/client/selenium_helper.rb +0 -49
  142. data/lib/selenium/client.rb +0 -57
  143. data/lib/selenium/rake/server_task.rb +0 -176
  144. data/lib/selenium/webdriver/android/bridge.rb +0 -68
  145. data/lib/selenium/webdriver/common/core_ext/base64.rb +0 -28
  146. data/lib/selenium/webdriver/common/core_ext/dir.rb +0 -61
  147. data/lib/selenium/webdriver/common/html5/location.rb +0 -19
  148. data/lib/selenium/webdriver/common/w3c_error.rb +0 -194
  149. data/lib/selenium/webdriver/edge/legacy_support.rb +0 -117
  150. data/lib/selenium/webdriver/firefox/bridge.rb +0 -89
  151. data/lib/selenium/webdriver/ie/bridge.rb +0 -88
  152. data/lib/selenium/webdriver/ie/server.rb +0 -133
  153. data/lib/selenium/webdriver/iphone/bridge.rb +0 -64
  154. data/lib/selenium/webdriver/phantomjs/bridge.rb +0 -78
  155. data/lib/selenium/webdriver/phantomjs/service.rb +0 -130
  156. data/lib/selenium/webdriver/remote/commands.rb +0 -211
  157. data/lib/selenium/webdriver/remote/w3c_bridge.rb +0 -668
  158. data/lib/selenium/webdriver/remote/w3c_capabilities.rb +0 -236
  159. data/lib/selenium/webdriver/remote/w3c_commands.rb +0 -132
  160. data/lib/selenium/webdriver/safari/resources/client.js +0 -7255
  161. data/lib/selenium/webdriver/safari/server.rb +0 -187
  162. data/lib/selenium-client.rb +0 -21
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c9f40e154da198fff9e277f0613042c22fff6c98
4
+ data.tar.gz: 33cc734e78b08e66c00a4c73f51c635d97c86fe6
5
+ SHA512:
6
+ metadata.gz: b40eb2e74a284b21ee31924f7cf20b878c7ab6ebcfe7848b21ad163165c80467c9d3a6fa6252ca74680b82db7186e8c1b73a2ac5f4d37501b0dfa16763ec19b9
7
+ data.tar.gz: bc9e9e0128888f3efe33f59160b677cc88655bf986877c534053adf915f3b39a78ff1d88e9b2d80753c1aba49af92f1796bb4f774ca68114027594813cc26ad3
data/CHANGES CHANGED
@@ -1,28 +1,685 @@
1
- 2.53.3 (2016-06-14)
1
+ 3.142.7 (2019-12-27)
2
+ ====================
3
+
4
+ Ruby:
5
+ * Fix keyword argument deprecations in Ruby 2.7 (thanks @connorshea)
6
+
7
+ 3.142.6 (2019-10-04)
8
+ ====================
9
+
10
+ Ruby:
11
+ * Loosen ChildProcess dependency so that 3.0+ can be used (thanks @jaredbeck)
12
+
13
+ 3.142.5 (2019-10-01)
14
+ ====================
15
+
16
+ Ruby:
17
+ * Loosen RubyZip dependency so that 1.3+ can be used (thanks @vtamara)
18
+
19
+ 3.142.4 (2019-09-02)
20
+ ====================
21
+
22
+ Chrome:
23
+ * Added support for new command for getting logs in ChromeDriver 76+
24
+ with W3C mode on
25
+
26
+ 3.142.3 (2019-05-21)
27
+ ====================
28
+
29
+ Firefox:
30
+ * Fixed a regression when Firefox binary path was not sent to GeckoDriver
31
+ by default and browser could not be located (issue #7219)
32
+
33
+
34
+ 3.142.2 (2019-05-11)
35
+ ====================
36
+
37
+ Chrome:
38
+ * Fixed an issue when getting/setting network conditions and sending CDP
39
+ commands didn't work with Grid (issue #7174)
40
+
41
+ Safari:
42
+ * Fixed an issue when getting/setting permissions and attaching debugger
43
+ didn't work with Grid (issue #7174)
44
+
45
+ 3.142.1 (2019-05-07)
46
+ ====================
47
+
48
+ Firefox:
49
+ * Fixed an issue when processing error in legacy driver would result
50
+ in NoMethodError (issue #7178)
51
+
52
+ 3.142.0 (2019-04-24)
53
+ ====================
54
+
55
+ Ruby:
56
+ * Fixed an issue when services are not shutdown properly
57
+
58
+ Firefox:
59
+ * Fixed an issue when passing :profile string to Firefox::Options.new would
60
+ result in NoMethodError. Now it will find a profile with such name on your
61
+ system and use it accordingly (issue #7119)
62
+ * Fixed an issue when instantiating Firefox driver with capabilities having
63
+ :marionette would result in NoMethodError (issue #7120)
64
+
65
+ 3.141.5926 (2019-04-18)
66
+ =======================
67
+
68
+ Ruby:
69
+ * Fixed an issue when Selenium itself would print deprecation warning
70
+ for TimeoutError
71
+ * Fixed a regression when socket poller would raise Errno::EBADF on JRuby
72
+
73
+ 3.141.592 (2019-04-18)
74
+ ======================
75
+
76
+ Ruby:
77
+ * Updated minimum required Ruby version to 2.3
78
+ * Added support for ChildProcess 1.x
79
+ * Improved socket connection waiting (thanks @N0xFF)
80
+ * Changed waiting to use monotonic clock instead of Time class to avoid
81
+ collisions with Timecop and similar gems
82
+ * Removed deprecated PortProber.random
83
+ * Added strictFileInteractability to the list of known capabilities
84
+ * Added InsecureCertificateError
85
+ * Added support for setting SOCKS version in proxy (issue #6938)
86
+ * Implemented new window command using driver.manage.new_window. The command
87
+ is supported by recent Firefox, Safari and IE drivers (thanks @dylanlive)
88
+ * Added support for passing proc to driver_path setter in Service classes
89
+ * Deprecated all errors which don't exist in WebDriver specification
90
+ * Deprecated TouchActionBuilder which is not a part of WebDriver specification
91
+ and is only supported by Chrome, but is likely to be dropped in v75.
92
+ ActionBuilder should be used instead
93
+ * Deprecated using Remote::W3C::Capabilities in favor of Remote::Capabilities
94
+
95
+ Chrome:
96
+ * Added support for execute CDP commands using Driver#execute_cdp
97
+ * Removed GPU disabling in ChromeDriver when using Options#headless!
98
+ * Switched suggested download URL to HTTPS (thanks @JLLeitschuh)
99
+ * Added support for instantiating service class directly and moved all driver
100
+ executable configuration there (command-line arguments, port, etc.)
101
+ Passing driver_opts, driver_path and port to driver initializer is now
102
+ deprecated so use Selenium::WebDriver::Service.chrome instead, which allows
103
+ to customize executable behavior in similar way. Once initialized, this
104
+ object can be passed as :service keyword during driver initialization.
105
+ * Deprecated Chrome.driver_path= in favor of Service::Chrome.driver_path=
106
+
107
+ Edge:
108
+ * Added support for instantiating service class directly and moved all driver
109
+ executable configuration there (command-line arguments, port, etc.)
110
+ Passing driver_opts, driver_path and port to driver initializer is now
111
+ deprecated so use Selenium::WebDriver::Service.firefox instead, which allows
112
+ to customize executable behavior in similar way. Once initialized, this
113
+ object can be passed as :service keyword during driver initialization
114
+ * Deprecated Edge.driver_path= in favor of Service::Edge.driver_path=
115
+
116
+ Firefox:
117
+ * Deprecated legacy driver in favor of GeckoDriver
118
+ * Fixed Firefox path lookup on Cygwin (issue #6908)
119
+ * Added support for instantiating service class directly and moved all driver
120
+ executable configuration there (command-line arguments, port, etc.)
121
+ Passing driver_opts, driver_path and port to driver initializer is now
122
+ deprecated so use Selenium::WebDriver::Service.firefox instead, which allows
123
+ to customize executable behavior in similar way. Once initialized, this
124
+ object can be passed as :service keyword during driver initialization
125
+ * Deprecated Firefox.driver_path= in favor of Service::Firefox.driver_path=
126
+ * Deprecated outdated capabilities
127
+
128
+ IE:
129
+ * Fixed an issue when native events could not be disabled using IE::Options
130
+ initializer
131
+ * Added support for instantiating service class directly and moved all driver
132
+ executable configuration there (command-line arguments, port, etc.)
133
+ Passing driver_opts, driver_path and port to driver initializer is now
134
+ deprecated so use Selenium::WebDriver::Service.ie instead, which allows
135
+ to customize executable behavior in similar way. Once initialized, this
136
+ object can be passed as :service keyword during driver initialization
137
+ * Deprecated IE.driver_path= in favor of Service::IE.driver_path=
138
+
139
+ Safari:
140
+ * Added support for instantiating service class directly and moved all driver
141
+ executable configuration there (command-line arguments, port, etc.)
142
+ Passing driver_opts, driver_path and port to driver initializer is now
143
+ deprecated so use Selenium::WebDriver::Service.safari instead, which allows
144
+ to customize executable behavior in similar way. Once initialized, this
145
+ object can be passed as :service keyword during driver initialization
146
+ * Deprecated Safari.driver_path= in favor of Service::Safari.driver_path=
147
+
148
+ Remote:
149
+ * Change default HTTP client to use persistent connections
150
+
151
+ 3.141.0 (2018-10-31)
152
+ ====================
153
+
154
+ Edge:
155
+ * Added new Edge::Options class that should be used to customize browser
156
+ behavior. The instance of options class can be passed to driver
157
+ initialization using :options key. Please, note that using options require
158
+ insiders builds of Edge.
159
+
160
+ Chrome:
161
+ * Included HasLocation to Chrome driver (thanks @sidonath).
162
+ * Updated endpoint to send Chrome Debugging Protocol commands. The old one
163
+ has been deprecated in ChromeDriver 40.
164
+
165
+ Safari:
166
+ * Added new Safari::Options class that should be used to customize browser
167
+ behavior. The instance of options class can be passed to driver
168
+ initialization using :options key. Please, note that using options require
169
+ Safari 12+.
170
+
171
+ Remote:
172
+ * Allow passing Options instances to remote driver initialization using
173
+ :options key. This feature allows to use browser-specific options classes
174
+ (Chrome::Options, Firefox::Options, etc.) and pass them to Server/Grid
175
+ instead of capabilities.
176
+
177
+ 3.14.1 (2018-10-03)
178
+ ===================
179
+
180
+ Ruby:
181
+ * Added a workaround to ignore Errno::EALREADY error when starting drivers
182
+ on Windows Subsystem for Linux
183
+ * Changed default pause duration to 0 for Selenium::WebDriver::Driver#action#pause (thanks @twalpole)
184
+ * Deprecated Selenium::WebDriver::PortProber#random
185
+ in favor of Selenium::WebDriver::PortProber#above
186
+ * Fixed a bug when Selenium::WebDriver::Element#drag_and_drop would not
187
+ work in certain cases
188
+ * Updated RubyZip dependency to 1.2.2 which fixes security vulnerability
189
+
190
+ Edge:
191
+ * Added support for --silent driver flag
192
+ * Fixed an incorrect dash symbol when passing arguments to MicrosoftWebDriver.exe
193
+
194
+ Firefox:
195
+ * Fixed an incorrect dash symbol when passing arguments to GeckoDriver
196
+
197
+ Safari:
198
+ * Fixed a bug when Selenium::WebDriver::Element#displayed? would raise error
199
+ in Safari 12
200
+
201
+ 3.14.0 (2018-08-03)
202
+ ===================
203
+
204
+ Ruby:
205
+ * Allow to customize default duration of movement of pointer actions using
206
+ Driver#action#default_move_duration= (thanks @prakharrr)
207
+ * Fixed an accidentally removed Selenium::WebDriver::Error::TimeoutError (thanks @twalpole)
208
+
209
+ Server:
210
+ * Fixed an issue when Server.latest couldn't parse the version
211
+
212
+ Remote:
213
+ * Added support for uploading multiple files by passing them as a string
214
+ separated by \n to Element#send_keys. Please, note that not all the drivers
215
+ have multiple file upload implemented (tested to work in ChromeDriver).
216
+
217
+ 3.13.1 (2018-07-20)
218
+ ===================
219
+
220
+ Chrome:
221
+ * Fixed an issue when empty Chrome options would cause DevToolsActivePort issue (thanks @artplan1)
222
+
223
+ Remote:
224
+ * Support detecting local files (thanks @mskvn)
225
+
226
+ 3.13.0 (2018-06-25)
227
+ ===================
228
+
229
+ Ruby:
230
+ * Address warnings for redefined methods and uninitialized instance variables
231
+
232
+ Chrome:
233
+ * Chrome options capabilities updated to use goog:chromeOptions.
234
+ Note that Selenium now requires ChromeDriver v2.31 at minimum.
235
+ * Added ability to tell headless Chrome to save files using Driver#download_path= (thanks @pelly)
236
+
237
+ 3.12.0 (2018-05-08)
238
+ ===================
239
+
240
+ Ruby:
241
+ * Added User-Agent header to requests from Selenium to give remote
242
+ ends more visibility into distribution of clients (thanks @sah)
243
+ * Added Selenium::WebDriver::VERSION constant (thanks @sah)
244
+ * Added changelog link to RubyGems page
245
+ * Fixed a bug when requests were sent with empty Content-Type,
246
+ which should instead be application/json (issue #5615 and #5659)
247
+ * Fixed a bug when failed connection attempt was retried without
248
+ grace period for remote to resolve its problem (thanks @amckinley42)
249
+ * Fixed a bug with accidentally removed HasNetworkConnection driver extension
250
+
251
+ Chrome:
252
+ * Fixed a bug when deprecation message for using Chrome extensions
253
+ was incorrectly shown (thanks @treby)
254
+
255
+ Safari:
256
+ * Added support getting permissions via Driver#permissions
257
+ * Added support setting permissions via Driver#permissions=
258
+ * Added support enabling web inspector via Driver#attach_debugger
259
+
260
+ 3.11.0 (2018-03-11)
261
+ ===================
262
+
263
+ Ruby:
264
+ * No changes in Ruby bindings for this release
265
+
266
+ 3.10.0 (2018-03-02)
267
+ ===================
268
+
269
+ Ruby:
270
+ * Added Errno::EAFNOSUPPORT to the list of ignored errors when finding port (thanks @jtarchie)
271
+ * Added automatic conversion of noProxy to the list of strings as required
272
+ by W3C WebDriver Specification (issue #5004)
273
+
274
+ Chrome:
275
+ * Added Chrome::Options#headless! shortcut to enable headless mode (thanks @pulkitsharma07)
276
+
277
+ IE:
278
+ * Added support for getting local storage using Driver#local_storage
279
+ * Added support for getting session storage using Driver#session_storage
280
+
281
+ 3.9.0 (2018-02-06)
282
+ ==================
283
+
284
+ Ruby:
285
+ * Fixed a bug when omitted capabilities caused NoMethodError (issue #5185)
286
+ * Fixed a bug when getting page source in W3C dialect caused WebDriverError (thanks @KazuCocoa)
287
+ * Fixed a bug when getting backtrace of server error would case NoMethodError (thanks @mcking49)
288
+ * Updated YARD to ~> 0.9.11
289
+ * Updated rubyzip to ~> 1.2 (thanks @michaelglass)
290
+
291
+ Chrome:
292
+ * Added support for getting network conditions via Driver#network_conditions
293
+ * Added support for setting network conditions via Driver#network_conditions=
294
+ * Added support to allow driver respond with custom error codes (issue #5376)
295
+
296
+ Firefox:
297
+ * Improved GeckoDriver binary lookup mechanism (issue #5240)
298
+
299
+ 3.8.0 (2017-12-01)
300
+ ==================
301
+
302
+ Ruby:
303
+ * Removed deprecated Alert#authenticate
304
+ * Removed deprecated :port initialization argument of Remote::Bridge.
305
+ Use :url instead.
306
+ * Removed deprecated Selenium::WebDriver::Remote::W3CCapabilities.
307
+ Use Selenium::WebDriver::Remote::Capabilities instead.
308
+
309
+ IE:
310
+ * Remove deprecated :log_file driver initialization argument.
311
+ Use driver_opts: {log_file: ''} instead.
312
+ * Remove deprecated :log_level driver initialization argument.
313
+ Use driver_opts: {log_level: ''} instead.
314
+ * Remove deprecated :implementation driver initialization argument.
315
+ Use driver_opts: {implementation: ''} instead.
316
+ * Removed deprecated :service_args driver initialization argument.
317
+ Use driver_opts: {args: ['--some-switch']} instead.
318
+
319
+ Chrome:
320
+ * Removed deprecated :service_log_path driver initialization argument.
321
+ Use driver_opts: {log_path: 'path'} instead.
322
+ * Removed deprecated :service_args driver initialization argument.
323
+ Use driver_opts: {args: ['--some-switch']} instead.
324
+
325
+ Firefox:
326
+ * Removed deprecated :service_args driver initialization argument.
327
+ Use driver_opts: {args: ['--some-switch']} instead.
328
+
329
+ Safari:
330
+ * Removed deprecated :service_args driver initialization argument.
331
+ Use driver_opts: {args: ['--some-switch']} instead.
332
+
333
+ Edge:
334
+ * Removed deprecated :service_args driver initialization argument.
335
+ Use driver_opts: {args: ['--some-switch']} instead.
336
+
337
+ 3.7.0 (2017-11-03)
338
+ ==================
339
+
340
+ Ruby:
341
+ * Added //rb:lint task to check codebase using RuboCop (thanks @RustyNail)
342
+ * Fixed codebase to comply more to Ruby community style guide (thanks @RustyNail)
343
+ * Packaged all dependencies to Selenium repository so that non-Ruby committers
344
+ can build and test Ruby bindings easier
345
+ * Update errors list according to latest changes of specification (thanks @jaysonesmith)
346
+
347
+ Firefox:
348
+ * Added Firefox::Options#headless! shortcut to enable headless mode (thanks @franzliedke)
349
+
350
+ 3.6.0 (2017-09-25)
351
+ ==================
352
+
353
+ Edge:
354
+ * Fixed a bug when execute_script failed using server + Edge (issue #4651)
355
+
356
+ Firefox:
357
+ * Fixed a bug when web extension failed to install using profile class (issue #4093)
358
+
359
+ PhantomJS:
360
+ * Support is deprecated in favor of headless Chrome/Firefox or HTMLUnit.
361
+ PhantomJS is no longer actively developed, and support will eventually
362
+ be dropped.
363
+
364
+ 3.5.2 (2017-09-07)
365
+ ==================
366
+
367
+ Ruby:
368
+ * Removed platformVersion from W3C payload (issue #4641)
369
+ * Fixed a bug when proxy type was not compliant to specification (issue #4574)
370
+ * Added support for passing speed to flick action (issue #4549)
371
+ * Using TouchActionBuilder no longer prints mouse/key deprecations
372
+ * Deprecated Alert#authenticate
373
+ * Added support for DEBUG environment variable which enables full debug mode in gem
374
+
375
+ Firefox:
376
+ * Fixed a bug when page load timeout was not properly constructed in new session payload
377
+ * Fixed a bug when GeckoDriver error stacktrace was not displayed (issue #3683)
378
+
379
+ Chrome:
380
+ * Added workaround for the case when findElements call returns null (issue #4555)
381
+ * Chrome::Driver now includes touch actions by default
382
+
383
+ 3.5.1 (2017-08-15)
384
+ ==================
385
+
386
+ Ruby:
387
+ * Fixed a bug when Chrome/Firefox (and probably other) drivers could not be
388
+ started on JRuby (issue #4453).
389
+
390
+ 3.5.0 (2017-08-10)
391
+ ==================
392
+
393
+ Firefox:
394
+ * Firefox subprocess output is now only redirected when debug is set (issue #4311)
395
+ * Fixed a bug where non-integers could be sent when setting window rect
396
+ * Fixed Firefox location detection on Windows_x64 (thanks kamenlitchev)
397
+ * Fixed passing of profile with a W3C compatible remote end
398
+
399
+ IE:
400
+ * Added new IE::Options class that should be used to customize browser
401
+ behavior (native events, element scroll behavior, etc).
402
+ The instance of options class can be passed to driver initialization using
403
+ :options key. Old way of passing these customization directly to driver
404
+ initialization is deprecated.
405
+
406
+ 3.4.4 (2017-07-13)
407
+ ==================
408
+
409
+ Firefox:
410
+ * Added support for GeckoDriver install addon command (issue 4215).
411
+ * Added support for GeckoDriver uninstall addon command (issue 4215).
412
+ * Raise error when passing :firefox_options as capability.
413
+
414
+ Ruby:
415
+ * Fixed a bug when childprocess were leaking /dev/null file descriptor (issue 4285).
416
+ * Make Remote::Driver class so that it can be inherited from.
417
+
418
+ 3.4.3 (2017-06-16)
419
+ ==================
420
+
421
+ Ruby:
422
+ * Fixed a regression when passing symbol as :desired_capabilities caused NoMethodError (issue 4187).
423
+
424
+ 3.4.2 (2017-06-14)
425
+ ==================
426
+
427
+ Ruby:
428
+ * Added unhandledPromptBehavior to the list of known capabilities.
429
+ * Added timeouts to the list of known capabilities.
430
+ * Fixed a regression when passing hash as :desired_capabilities caused NoMethodError (issue 4172, thanks Thomas Walpole).
431
+ * Fixed a regression when extension capabilities (the ones that have ":" inside)
432
+ were filtered out when doing protocol handshake.
433
+ * Improved handling of capability names passed as plain camelCased strings
434
+ vs Rubyish snake_cased symbols when doing protocol handshake.
435
+
436
+ Chrome:
437
+ * Fixed a regression when passing :switches to driver initialization was ignored.
438
+
439
+ 3.4.1 (2017-06-13)
440
+ ==================
441
+
442
+ Ruby:
443
+ * Implemented a new dual-dialect mechanism for communication with drivers
444
+ (a.k.a. protocol handshake). There shouldn't be any noticeable differences
445
+ but since this is a significant refactoring of internal APIs, some bugs
446
+ could slip into the release.
447
+ * Renamed ElementClickIntercepted to ElementClickInterceptedError.
448
+ * Renamed ElementNotInteractable to ElementNotInteractableError.
449
+ * Deprecated W3CCapabilities in favor of Capabilities (it was meant to be private API).
450
+ * Added a warning when trying to save screenshot without .png extension (thanks @abotalov).
451
+
452
+ IE:
453
+ * Added support for both old IEDriver which uses OSS dialect of JSON wire
454
+ protocol (<= 3.4.0) and new IEDriver which uses W3C dialect (not yet released).
455
+
456
+ Safari:
457
+ * Removed runtime dependencies used for old SafariDriver (u.g. websocket).
458
+
459
+ Chrome:
460
+ * Added new Chrome::Options class that should be used to customize browser
461
+ behavior (command line arguments, extensions, preferences, mobile emulation, etc.).
462
+ The instance of options class can be passed to driver initialization using
463
+ :options key. Old way of passing these customization directly to driver
464
+ initialization is deprecated.
465
+
466
+ Firefox:
467
+ * Added new Firefox::Options class that should be used to customize browser
468
+ behavior (command line arguments, profile, preferences, Firefox binary, etc.).
469
+ The instance of options class can be passed to driver initialization using
470
+ :options key. Old way of passing these customization directly to driver
471
+ initialization is deprecated.
472
+
473
+ 3.4.0 (2017-04-21)
474
+ ===================
475
+
476
+ Edge:
477
+ * Fix bug when response is not wrapped with "value"
478
+
479
+ Firefox:
480
+ * Support geckodriver v0.16
481
+
482
+ Ruby:
483
+ * Support ElementClickIntercepted error from W3C spec
484
+ * Support ElementNotInteractable error from W3C spec
485
+ * Implement window rect commands
486
+ * Implement window minimize command
487
+
488
+ 3.3.0 (2017-03-07)
2
489
  ===================
3
490
 
4
491
  Firefox:
5
- * Fix bug with Firefox Binary & Marionette on Remote machines (issue 2281)
492
+ * geckodriver v0.15 or later is required
493
+
494
+ W3C:
495
+ * Support for command response data to be wrapped in a 'value' key
496
+ * Support for updated timeout formats
497
+
498
+ 3.2.2 (2017-03-01)
499
+ ===================
500
+
501
+ Ruby:
502
+ * Fix bug for supporting Logger output on Ruby versions < 2.3
503
+ * Add more logging and adjust output levels
504
+
505
+ Remote:
506
+ * Support for creating Remote session with browser name and url parameters
507
+
508
+ 3.2.1 (2017-02-24)
509
+ ===================
510
+
511
+ Ruby:
512
+ * Fix bug for supporting Logger on Ruby versions < 2.3
6
513
 
7
- 2.53.2 (2016-06-13)
514
+ 3.2.0 (2017-02-22)
8
515
  ===================
9
516
 
10
517
  Ruby:
11
- * Fix bug for finding binaries on Windows (issue 2271 & 2273)
518
+ * Implement new Logger class
519
+ * Fix issue with chromedriver process leader incompatibility on Win7 (issue 3512)
12
520
 
13
- 2.53.1 (2016-06-09)
521
+ 3.1.0 (2017-02-14)
14
522
  ===================
15
523
 
16
524
  Firefox:
17
- * Support for latest geckodriver (formerly wires)
18
- * Escape selector when converting to CSS (issue 2235)
525
+ * implement W3C actions endpoint
19
526
 
20
- 2.53.0 (2016-03-16)
527
+ 3.0.8 (2017-02-08)
528
+ ===================
529
+
530
+ Firefox:
531
+ * Fix signature of element returned from #active_element
532
+
533
+ 3.0.7 (2017-02-06)
534
+ ===================
535
+
536
+ Firefox:
537
+ * Fix signature of element arrays returned from #find_elements (issue 3471)
538
+
539
+ 3.0.6 (2017-02-05)
540
+ ===================
541
+
542
+ Firefox:
543
+ * Implement W3C window position
544
+ * Update implementation for W3C send text to alert
545
+ * Implement timeout settings
546
+ * Remove default capabilities (thanks lmtierney)
547
+ * Fix signature of elements returned from #execute_script (thanks Thomas Walpole)
548
+
549
+ 3.0.5 (2016-12-27)
550
+ ===================
551
+
552
+ Ruby:
553
+ * Support for Ruby 2.4.0 (Thanks jamespdo)
554
+
555
+ 3.0.4 (2016-12-21)
556
+ ===================
557
+
558
+ Firefox:
559
+ * Implement profile support via geckodriver (#2933 thanks lmtierney)
560
+
561
+ Ruby:
562
+ * Fix bug preventing use of Curb client (#2951 thanks clarkenciel)
563
+ * Support Net::HTTP::Persistent version 3 (#3219 thanks Pete Johns)
564
+ * Allow Net::HTTP::Default to set open_timout and read_timeout independently (#3264 thanks richseviora)
565
+ * Change default for Net::HTTP::Default#open_timeout to facilitate debuggers (#3264 thanks richseviora)
566
+
567
+ 3.0.3 (2016-11-26)
568
+ ===================
569
+
570
+ Ruby:
571
+ * Allow drivers to be executed from batch files on Windows
572
+
573
+ 3.0.2 (2016-11-25)
574
+ ===================
575
+
576
+ Ruby:
577
+ * Implement #driver_path as parameter when initializing a driver (thanks lmtierney)
578
+ * Improve Ruby syntax in driver commands (thanks joe_schulte)
579
+ * Improve performance when shutting down drivers (thanks lmtierney)
580
+ * Fix bug for finding open ports on Windows (thanks kou1okada)
581
+ * Fix bug in auto detection of drivers which allowed selection of non-executable binaries
582
+
583
+ W3C:
584
+ * Implement #cookie_named and #delete_all_cookies methods (thanks lmtierney)

585
+ * Implement element #property method (thanks lmtierney)

586
+
587
+ Chrome:
588
+ * Fix bug in switches (thanks danvine)

589
+
590
+ 3.0.1 (2016-11-06)
591
+ ===================
592
+
593
+ Ruby:
594
+ * Always send JSON Wire Protocol commands to server instead of W3C commands
595
+
596
+ 3.0.0 (2016-10-13)
597
+ ===================
598
+
599
+ Firefox:
600
+ * Update :firefox_options support for geckodriver 0.11
601
+
602
+ 3.0.0.beta4 (2016-09-29)
603
+ ===================
604
+
605
+ Ruby:
606
+ * Remove support for deprecated driver options
607
+ * Add support for latest driver options
608
+ * Add support for :port parameter for launching driver
609
+ * Add support for :service_args parameter for driver command line switches
610
+ * Improve reliability by increasing service shutdown timeout (#2815; thanks John Barbuto )

611
+
612
+ Firefox:
613
+ * Add support for :firefox_options in geckodriver
614
+
615
+ Safari:
616
+ * Remove support for legacy Safari driver (use Apple's driver built in to Safari 10+)
617
+
618
+ Chrome:
619
+ * Set chromedriver to not log by default
620
+
621
+ 3.0.0.beta3.1 (2016-09-03)
622
+ ===================
623
+
624
+ Firefox:
625
+ * Fixed bug - legacy firefox extension included in gem
626
+
627
+ 3.0.0.beta3 (2016-09-01)
628
+ ===================
629
+
630
+ Firefox:
631
+ * Implemented w3c getAttribute with javascript atom
632
+
633
+ 3.0.0.beta2.1 (2016-08-03)
634
+ ===================
635
+
636
+ Ruby:
637
+ * Fixed bug in collections
638
+
639
+ 3.0.0.beta2 (2016-08-02)
640
+ ===================
641
+
642
+ Firefox:
643
+ * Fixed bug with form submission
644
+ * Improved w3c element handling
645
+
646
+ 3.0.0.beta1 (2016-07-28)
647
+ ===================
648
+
649
+ Ruby:
650
+ * Remove support for RC client
651
+ * Remove support for Ruby < 2.0
652
+ * Update code to support designated style guidelines
653
+ * Chrome/GeckoDriver/PhantomJS/IE/Edge drivers are refactored to use standard
654
+ service class (issue 1797)
655
+ * Option `:timeout` was removed from IE server (issue 1797)
656
+
657
+ Chrome:
658
+ * Remove override of default chromedriver behavior for chrome.detach (issue 2418)
659
+
660
+ Firefox:
661
+ * Rename wires to geckodriver
662
+ * Change default usage from FirefoxDriver to geckodriver
663
+
664
+ Safari:
665
+ * Initial support for Apple's Safari Driver in Sierra (issue #2475)
666
+
667
+ Android and iPhone:
668
+ * Remove support for deprecated classes (Issue #2476)
669
+
670
+ 2.53.0 (2016-03-15)
21
671
  ===================
22
672
 
23
673
  Ruby:
24
674
  * Removed dependency on "multi_json" (issue 1632)
25
675
  * Properly handle namespaces in install manifest of Firefox add-ons (issue 1143)
676
+ * Improve error handling when stopping browsers (thanks bsedat)
677
+ * Fix deselecting options in select lists (thanks glib-briia)
678
+ * Fix w3c error handling
679
+ * Update w3c Capabilities support
680
+
681
+ IE:
682
+ * support for alert credentials (issue #1698, thanks Alan Baird & trabulmonkee)
26
683
 
27
684
  2.52.0 (2016-02-12)
28
685
  ===================
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
  gemspec