selenium-webdriver 4.0.0.alpha5 → 4.0.0.beta3

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

663
- * Implement element #property method (thanks lmtierney)

664
-
665
- Chrome:
666
- * Fix bug in switches (thanks danvine)

667
-
668
- 3.0.1 (2016-11-06)
669
- ===================
670
-
671
- Ruby:
672
- * Always send JSON Wire Protocol commands to server instead of W3C commands
673
-
674
- 3.0.0 (2016-10-13)
675
- ===================
676
-
677
- Firefox:
678
- * Update :firefox_options support for geckodriver 0.11
679
-
680
- 3.0.0.beta4 (2016-09-29)
681
- ===================
682
-
683
- Ruby:
684
- * Remove support for deprecated driver options
685
- * Add support for latest driver options
686
- * Add support for :port parameter for launching driver
687
- * Add support for :service_args parameter for driver command line switches
688
- * Improve reliability by increasing service shutdown timeout (#2815; thanks John Barbuto )

689
-
690
- Firefox:
691
- * Add support for :firefox_options in geckodriver
692
-
693
- Safari:
694
- * Remove support for legacy Safari driver (use Apple's driver built in to Safari 10+)
695
-
696
- Chrome:
697
- * Set chromedriver to not log by default
698
-
699
- 3.0.0.beta3.1 (2016-09-03)
700
- ===================
701
-
702
- Firefox:
703
- * Fixed bug - legacy firefox extension included in gem
704
-
705
- 3.0.0.beta3 (2016-09-01)
706
- ===================
707
-
708
- Firefox:
709
- * Implemented w3c getAttribute with javascript atom
710
-
711
- 3.0.0.beta2.1 (2016-08-03)
712
- ===================
713
-
714
- Ruby:
715
- * Fixed bug in collections
716
-
717
- 3.0.0.beta2 (2016-08-02)
718
- ===================
719
-
720
- Firefox:
721
- * Fixed bug with form submission
722
- * Improved w3c element handling
723
-
724
- 3.0.0.beta1 (2016-07-28)
725
- ===================
726
-
727
- Ruby:
728
- * Remove support for RC client
729
- * Remove support for Ruby < 2.0
730
- * Update code to support designated style guidelines
731
- * Chrome/GeckoDriver/PhantomJS/IE/Edge drivers are refactored to use standard
732
- service class (issue 1797)
733
- * Option `:timeout` was removed from IE server (issue 1797)
734
-
735
- Chrome:
736
- * Remove override of default chromedriver behavior for chrome.detach (issue 2418)
737
-
738
- Firefox:
739
- * Rename wires to geckodriver
740
- * Change default usage from FirefoxDriver to geckodriver
741
-
742
- Safari:
743
- * Initial support for Apple's Safari Driver in Sierra (issue #2475)
744
-
745
- Android and iPhone:
746
- * Remove support for deprecated classes (Issue #2476)
747
-
748
- 2.53.0 (2016-03-15)
749
- ===================
750
-
751
- Ruby:
752
- * Removed dependency on "multi_json" (issue 1632)
753
- * Properly handle namespaces in install manifest of Firefox add-ons (issue 1143)
754
- * Improve error handling when stopping browsers (thanks bsedat)
755
- * Fix deselecting options in select lists (thanks glib-briia)
756
- * Fix w3c error handling
757
- * Update w3c Capabilities support
758
-
759
- IE:
760
- * support for alert credentials (issue #1698, thanks Alan Baird & trabulmonkee)
761
-
762
- 2.52.0 (2016-02-12)
763
- ===================
764
-
765
- No Ruby changes in this release.
766
-
767
- 2.51.0 (2016-02-05)
768
- ===================
769
-
770
- No Ruby changes in this release.
771
-
772
- 2.50.0 (2016-01-27)
773
- ===================
774
-
775
- Firefox:
776
- * Fix bug for locating binary in local path (issue 1523, thanks Gopal Patel)
777
-
778
- 2.49.0 (2016-01-13)
779
- ===================
780
-
781
- Ruby:
782
- * support for SessionNotCreatedError (thanks Alexander Bayandin)
783
-
784
- Safari:
785
- * Limit support to OS X (issue 1186)
786
- * support for multiple concurrent drivers
787
-
788
- PhantomJS:
789
- * Implement Socket locking
790
-
791
- IE:
792
- * support for multiple concurrent drivers
793
-
794
- Chrome:
795
- * prevent 404 error when shutting down Chrome service (thanks Fumiaki MATSUSHIMA)
796
- * logging turned on by default
797
- * support local storage capabilities
798
-
799
- Firefox:
800
- * support setting the location of Firefox binary to use when run locally
801
- * add default lookup of Homebrew Cask default directory (issue 1437)
802
-
803
- W3C Specification:
804
- * support for using with Remote WebDriver
805
- * implement window size command
806
- * implement window position command
807
- * implement element size command
808
- * implement element position command
809
- * implement full screen window command
810
- * implement page source command
811
-
812
- 2.48.1 (2015-10-13)
813
- ===================
814
-
815
- Firefox:
816
- * Mozilla's Wires Driver for Marionette works with Remote WebDriver
817
-
818
- 2.48.0 (2015-10-07)
819
- ===================
820
-
821
- Firefox:
822
- * Initial implementation of Mozilla's Wires Driver for Marionette; Supported in version 43 and higher
823
-
824
- Edge:
825
- * Fix execution with Remote Server
826
- * Fix Javascript Execution
827
- * Implement Alert Handling
828
- * Implement Window Switching
829
-
830
- Ruby:
831
- * Initial implementation of W3C WebDriver syntax to support Mozilla Wires
832
- * Change to RSpec expect syntax
833
- * Specs can be run from relative directories
834
-
835
-
836
- 2.47.1 (2015-07-31)
837
- ===================
838
-
839
- Edge:
840
- * Initial implementation of Microsoft's EdgeDriver
841
-
842
-
843
- 2.47.0 (2015-07-29)
844
- ===================
845
-
846
- Safari:
847
- * Remove support for installing additional extensions due to architectural changes introduced with Safari 7
848
-
849
- 2.46.2 (2015-06-05)
850
- ===================
851
- * Fix encoding issue which prevents Element#send_keys to work on Ruby < 2.0 (#621)
852
-
853
- 2.46.1 (2015-06-04)
854
- ===================
855
- * Fix aborted rubygems.org release
856
-
857
- 2.46.0 (2015-06-04)
858
- ===================
859
-
860
- Firefox:
861
- * Support for Firefox 38
862
- * Fix performance bug by not forcing garbage collection in httpd.js
863
-
864
- Chrome:
865
- * Fixed ChromeDriver port race condition (#449 - thanks Jason Anderson)
866
-
867
- Ruby changes:
868
- * Retry binding to ports unavailable by EADDRNOTAVAIL (#394).
869
- * Remove Presto-Opera support (Blink-based Opera still supported)
870
-
871
- 2.45.0 (2015-02-28)
872
- ===================
873
-
874
- Firefox:
875
- * Native events in Firefox relied on an API that Mozilla no longer
876
- provides. As such, fall back to synthesized events on recent Firefox
877
- versions.
878
-
879
- Ruby changes:
880
- * Allow switching windows when current window is closed (thanks Titus Fortner).
881
- * Add :javascript_enabled to Android capabilities.
882
-
883
- 2.44.0 (2014-10-05)
884
- ===================
885
-
886
- No Ruby changes in this release.
887
-
888
- Firefox:
889
- * Native event support for Firefox 24, 31, 32 and 33
890
-
891
- 2.43.0 (2014-09-09)
892
- ===================
893
-
894
- * Make sure UnhandledAlertErrors includes the alert text if provided by the driver.
895
- * Firefox
896
- - Make sure the browser process is properly killed if silent startup hangs (#7392)
897
- - native events support for Firefox 24, 31 and 32
898
- * Loosen websocket dependency to ~> 1.0
899
- * Add support for `switch_to.parent_frame` (thanks abotalov)
900
- * Fix download location for Selenium::Server.{latest,get} (#7049 - thanks marekj)
901
-
902
- 2.42.0 (2014-05-23)
903
- ===================
904
-
905
- Firefox:
906
- * Fix for extensions whose install.rdf uses an attribute for em:id (#5978)
907
- * Support for Firefox 29 Native Events
908
-
909
- 2.41.0 (2014-03-28)
910
- ===================
911
-
912
- * Removed dead browser visibility methods.
913
- * Firefox:
914
- * Native events support for Firefox 28 (removed support for 26)
915
-
916
- 2.40.0 (2014-02-19)
917
- ===================
918
-
919
- * Fix bug where FileReaper would not reap files added in a child process
920
- * Document AbstractEventListener (#5994)
921
- * Safari:
922
- * Add Safari::Options + clean up Safari extension handling (#6382)
923
- * Add support for user extensions (#6815)
924
- * Firefox:
925
- * Support native events for Firefox 27 + removed native event support for Firefox 25
926
-
927
- 2.39.0 (2013-12-17)
928
- ===================
929
-
930
- * Firefox: Native events support for Firefox 26.
931
- * Add deprecation warning to the Android driver.
932
- * Make sure selenium/client doesn't require Rake (#6709)
933
-
934
- 2.38.0 (2013-12-05)
935
- ===================
936
-
937
- * Enforce required Ruby version in gemspec, not just transitively through rubyzip.
938
- * Expose the logging API (beta API, subject to change) in the Ruby client: driver.manage.logs #=> Selenium::WebDriver::Logs
939
- * Update to support native events for Firefox 25
940
-
941
-
942
- 2.37.0 (2013-10-18)
943
- ===================
944
-
945
- * As of this version, selenium-webdriver no longer supports Ruby < 1.9.2
946
- * Depend on rubyzip ~> 1.0.0
947
- * Added SOCKS proxy support
948
- * Fixed support for SVG documents in the atoms.
949
- * Fixed computing an element's container dimensions to account for the scrollbar size when scrolling
950
- * Added Capabilities.htmlunitwithjs
951
-
952
- Chrome:
953
- * Pass through the prefs option as a Chrome capability (#5929).
954
- Firefox:
955
- * Updated Firefox native event components to support Firefox 24.
956
- * New elementScrollBehavior capability.
957
- * Fixed getLocation to work on scrolled pages.
958
- * Fixed autoscrolling for elements located in frames.
959
- * Fixed drag-n-drop for elements in frames with native events
960
- IE:
961
- * Use native events by default, also for remote IE (#4695)
962
- Safari:
963
- * Enable screenshots and input devices in the client.
964
-
965
- 2.35.1 (2013-08-26)
966
- ===================
967
-
968
- * Depend on rubyzip < 1.0.0
969
-
970
- 2.35.0 (2013-08-14)
971
- ===================
972
-
973
- Firefox:
974
- * Updated Firefox native event components to support Firefox 23.
975
-
976
- 2.34.0 (2013-08-06)
977
- ===================
978
-
979
- Remote:
980
- * Add `Driver#remote_status` (remote driver only) (#5669)
981
- Firefox:
982
- * Updated Firefox native event components to support Firefox 22.
983
- iPhone:
984
- * The driver is now deprecated (see http://appium.io/ or http://ios-driver.github.io/ios-driver/ for a replacement)
985
- Various:
986
- * Updated our copy of the Closure compiler and library to the most
987
- recent versions.
988
- * Updated the atoms library, including support for MS pointer events
989
- and refinements to element visibility tests.
990
- * Update synthesized mouse implementation. Mouse moves are
991
- implemented using nsIDOMWindowUtils.
992
- * Added support for the HTML5 "hidden" attribute. If an element, or
993
- ancestor, has hidden attribute make, it is not shown.
994
-
995
- 2.33.0 (2013-05-26)
996
- ===================
997
-
998
- Remote:
999
- * Support rotating devices, such as iPhone & iPad in simulator and Android browser in emulator
1000
- * Support for interacting with touch screen devices, such as iPhone & iPad in simulator and Android browser in emulator
1001
- * Improve error messages for invalid wire protocol responses
1002
- Chrome:
1003
- * Accept :service_log_path for Chrome. (#3475)
1004
- IE:
1005
- * IE >=9 versions triggerMouseEvent like other browsers (#2218).
1006
- Various:
1007
- * Element#text ignores elements in <head>
1008
-
1009
-
1010
- 2.32.1 (2013-04-11)
1011
- ===================
1012
-
1013
- Safari:
1014
- * Fix typo when encoding the Safari server redirect URL (#5472)
1015
-
1016
- 2.32.0 (2013-04-09)
1017
- ===================
1018
-
1019
- Safari:
1020
- * The Safari extension is now packaged with the gem and automatically installed (#5322)
1021
- * Improved detection of the binary location on 64-bit windows (#5273)
1022
- Opera:
1023
- * Allow passing :desired_capabailities (#5279)
1024
- Firefox:
1025
- * This release supports versions 10esr, 17esr, 19, 20.
1026
- * Improved SVG support
1027
- Other:
1028
- * Allow #click_and_hold without target (#5410).
1029
- * Remove assumptions about returned capabilities (for ios-driver)
1030
-
1031
- 2.31.0 (2013-03-02)
1032
- ===================
1033
-
1034
- Remote:
1035
- * Expose session_id on the remote driver when used directly (#5240).
1036
- Firefox:
1037
- * Native events in Firefox 19
1038
- Opera:
1039
- * Treat UNSPECIFIED proxy type as a nil proxy (#5081).
1040
- Other:
1041
- * Add ability to pass :desired_capabilities to all the Ruby drivers, not just for :remote.
1042
- Direct arguments take presendence. (#5078, see also https://github.com/SeleniumHQ/selenium/pull/8, https://github.com/SeleniumHQ/selenium/pull/11)
1043
-
1044
- 2.30.0 (2013-02-20)
1045
- ===================
1046
-
1047
- Firefox:
1048
- * Firefox 19 support (for synthesized events)
1049
- Remote:
1050
- * Pass along firefox_binary correctly (#5152)
1051
- Safari:
1052
- * Don't overwrite Driver#browser
1053
- Other
1054
- * Alert#text should raise on closed alert.
1055
-
1056
- 2.29.0 (2013-01-21)
1057
- ===================
1058
-
1059
- Firefox:
1060
- * Firefox 18 support (for native events).
1061
- IE:
1062
- * New 'requireWindowFocus' desired capability.
1063
- * IE view port calculation take scroll bars into account (#3602)
1064
- Safari:
1065
- * Replace 'libwebsocket' with 'websocket' gem. This should ensure
1066
- support with recent Safari.
1067
- Other:
1068
- * Fix Cygwin issue in PortProber/Firefox::Bianry (#4963)
1069
-
1070
- 2.27.2 (2012-12-11)
1071
- ===================
1072
-
1073
- Firefox:
1074
- * Fix for native events in v17 (packaging mistake)
1075
-
1076
- 2.27.1 (2012-12-07)
1077
- ===================
1078
-
1079
- Firefox:
1080
- * Fix "g[b] is not an object" error when passing null to execute_script.
1081
-
1082
- 2.27.0 (2012-12-06)
1083
- ===================
1084
-
1085
- Firefox:
1086
- * Support for Firefox 17.
1087
- IE:
1088
- * Path to the server executable can be specified (S::W::IE.path=)
1089
- Other:
1090
- * Added :phantomjs driver
1091
-
1092
- 2.26.0 (2012-11-02)
1093
- ===================
1094
-
1095
- Firefox:
1096
- * Added support for native events for Firefox 15 and 16.
1097
- * Modified FirefoxDriver to use atoms to switch between frames.
1098
- * FIXED: 4309: 'Could not convert Native argument arg 0' error with Firefox.
1099
- * FIXED: 4375: Executing javascript hangs Firefox.
1100
- * FIXED: 4165: WebDriver fails on a machine with no IP address.
1101
- Safari:
1102
- * Fixed SafariDriver to allow calling .quit() consecutively without error.
1103
- * FIXED: 4676: Unable to fire javascript events into SVG's.
1104
- * FIXED: 3969: SafariDriver should auto-dismiss alerts.
1105
- IE:
1106
- * FIXED: 4535: Hover still does not work perfectly in IE.
1107
- * FIXED: 4593: Alert.accept() Cancels the Resend Alert/Dialog Box.
1108
-
1109
- 2.25.0 (2012-07-19)
1110
- ===================
1111
-
1112
- * Respect no_proxy / NO_PROXY env vars (#4007).
1113
- * Improve error message if a configured proxy refuses the connection.
1114
- * Ignored exception can be configured on the Wait class.
1115
- * Add Selenium::WebDriver::Support::Color class.
1116
- * Ignore Errno::ENETUNREACH when trying to detect our local IP (#4165).
1117
- * Ignore Errno::EADDRNOTAVAIL in PortProber (#3987).
1118
- * Firefox:
1119
- * Enumerate through client rects until finding one with non-zero dimensions when clicking.
1120
- * Updated supported versions of Firefox to 17.
1121
- * Allow windows to be resized from a frame (#3897).
1122
- * Fix an issue where a call to submit could hang the driver.
1123
- * IE:
1124
- * Ability to configure logging through the :log_file and :log_level options.
1125
- * Increasing stability of file upload dialog handling (#3858)
1126
- * Better handling of overflow edge cases when determining element visibility.
1127
-
1128
- 2.24.0 (2012-06-19)
1129
- ===================
1130
-
1131
- * bot.dom.getVisibleText does not properly handle display:run-in or display:table (#1584).
1132
- * CSS selectors now support compound selectors.
1133
- * IE:
1134
- * Failure to click on an element in the IE Driver will yield a more meaningful error.
1135
- * Crash on IE8 when S_FALSE is returned from get_Document (#4064)
1136
- * DLLs are no longer bundled with the gem, users must use the standalone server from now on.
1137
- * Firefox:
1138
- * Support for Firefox 13
1139
- * Ability to pass :proxy directly as Firefox option (no Profile needed).
1140
-
1141
- 2.22.2 (2012-06-05)
1142
- ===================
1143
-
1144
- * Improve method for determining the local IP (#3987).
1145
-
1146
- 2.22.1 (2012-06-01)
1147
- ===================
1148
-
1149
- * Fix for 1.8.7 behaviour of Socket.getaddrinfo.
1150
- * Automatically reap Firefox profile on exit, not just in #quit.
1151
-
1152
- 2.22.0 (2012-05-29)
1153
- ===================
1154
-
1155
- * Fix conflict with ActiveSupport's Object#load (#3819)
1156
- * IE:
1157
- * Default to standalone server executable, fall back to bundled DLLs.
1158
- * The 'nativeEvents' capabilitiy is exposed as :native_events in the Ruby client (mode still experimental).
1159
- * Firefox:
1160
- * Native events for Firefox 12.
1161
- * Native events retained for Firefox 3.x, 10 and 11.
1162
- * Fix for typing in Firefox 12
1163
- * Fix for typing on XHTML pages (#3647)
1164
- * Fix for maximizing windows when switched to a frame (#3758)
1165
- * Handle alerts from nested iframes (#3825)
1166
- * Remote:
1167
- * Honor HTTP_PROXY env vars (#3838).
1168
- * Element#attribute returns nil if a boolean attribute is not present.
1169
- * NoSuchWindowError will be thrown if the currently selected window is closed and another command is sent.
1170
- * Safari:
1171
- * support for frame switching, snapshot taking, execute script
1172
- * message protocol changed, not backwards compatible with 2.21.
1173
- * Style attributes are no longer lower-cased by default (#1089).
1174
- * Make sure the Ruby client kills Firefox even when the RPC fails.
1175
- * Make sure the Ruby client checks all network interfaces when finding free ports.
1176
-
1177
-
1178
- 2.21.2 (2012-04-18)
1179
- ===================
1180
-
1181
- * Check MultiJson.respond_to?, depend on ~> 1.0
1182
-
1183
- 2.21.1 (2012-04-16)
1184
- ===================
1185
-
1186
- * Set multi_json dependency to < 1.3 to avoid deprecation warnings.
1187
-
1188
- 2.21.0 (2012-04-11)
1189
- ===================
1190
-
1191
- * Add Selenium::WebDriver::Window#maximize (#3489)
1192
- * Safari:
1193
- * New driver! See https://github.com/SeleniumHQ/selenium/wiki/SafariDriver.
1194
- * Firefox:
1195
- * Significant stability improvements.
1196
- * Native events support for Firefox 11
1197
- * Dropped native events support for Firefox 4-9
1198
- * Window maximize implementation.
1199
- * IE:
1200
- * Ignore invisible dialogs (#3360).
1201
- * Window maximize implementation.
1202
- * Android:
1203
- * Accept SSL certificates (#3504).
1204
-
1205
- 2.20.0 (2012-02-28)
1206
- ===================
1207
-
1208
- * Loosen the multi_json and ffi dependencies (#3446)
1209
- * Firefox:
1210
- * Introduce a timeout for page loads. This needs to be used in
1211
- conjunction with the unstable page load detection. Exposed as
1212
- Timeouts#page_load=
1213
- * Scroll containing elements, not just windows (#3391).
1214
- * Element#{style => css_value}, with an alias for backwards compatibility.
1215
- * Atoms:
1216
- * Submit a form when the enter button is pressed in its input
1217
- element.
1218
- * Add a "mouse pixel scroll" event to the atoms events module.
1219
- * Adding a public "mouseOver" action and a little internal
1220
- refactoring around the mouseOver functionality.
1221
- * Selenium::WebDriver::Wait: polling interval reduced from 0.5 to 0.2 seconds.
1222
-
1223
- 2.19.0 (2012-02-08)
1224
- ===================
1225
-
1226
- * RC client supports server-side WebDriver-backed Selenium.
1227
- * Touch APIs implemented in the Ruby client (Android only)
1228
- * Firefox:
1229
- * Fix deserialization of user.js in Firefox::Profile
1230
- * Native events implemented for Firefox 10.
1231
- * Renamed the experimental "fast" page loaded strategy "unstable"
1232
- and disable queuing of commands when it's enabled.
1233
- * Disabled native events for Firefox 8 as it's deprecated by Mozilla.
1234
- * Fix for exceptions thrown when an alert occurs during script execution.
1235
- * Chrome:
1236
- * New download link for the server component:
1237
- http://code.google.com/p/chromedriver/downloads/list
1238
-
1239
- 2.18.0 (2012-01-27)
1240
- ===================
1241
-
1242
- * Fix for getting value attribute of option elements. (#3169)
1243
- * Firefox and IE:
1244
- * Raise UnhandledAlertError if an alert is present during an operation. The unhandled alert is also dismissed to mitigate repeat exceptions.
1245
- * Firefox:
1246
- * Better handling of getText invocations on SVG elements.
1247
- * Fix for Element#click in Firefox 4. (#3253)
1248
- * Fixed bug when deserializing user.js in Firefox::Profile.
1249
- * Default profile preferences now read from shared JSON blob.
1250
- * Android and iPhone:
1251
- * Client support for the geolocation API (see Selenium::WebDriver::DriverExtensions::HasLocation)
1252
- * Client support for the web storage API (see Selenium::WebDriver::DriverExtensions::HasWebStorage)
1253
- * iPhone:
1254
- * Server now supports frame switching (for frames in the same domain).
1255
-
1256
- 2.17.0 (2012-01-16)
1257
- ===================
1258
-
1259
- * Firefox:
1260
- * Fix excessive unwrapping when switching windows.
1261
- * Set toolkit.telemetry.{enabled,rejected} in the default Firefox profile.
1262
- * Support up to version 12 with synthesized events.
1263
- * Fixed issues launching Firefox 9 due to modal dialog (#3154, #3144)
1264
- * Chrome:
1265
- * Now accepts a :url option, pointing to an already running Chrome server.
1266
- * Now accepts a :proxy option (i.e. Selenium::WebDriver::Proxy instance).
1267
- * iPhone:
1268
- * iWebDriver will auto-play HTML5 video (#3152)
1269
- * Element#attribute("value") falls back to the text of option tags, if no value attribute is specified (#3169)
1270
-
1271
- 2.16.0 (2012-01-04)
1272
- ===================
1273
-
1274
- * Firefox:
1275
- * Native events support for Firefox 9
1276
- * Allow apps to use offline storage by default
1277
- * Fix excessive unwrapping when executing mouseMove
1278
- * Click in the middle, rather than the top-left of elements (#3034, #2700)
1279
- * IE:
1280
- * Raise StaleElementReferenceError when interacting with elements outside the currently focused frame
1281
- * Handle frames and iframes in showModalDialog windows
1282
- * Chrome:
1283
- * Improve client handling of invalid error responses
1284
- * iPhone:
1285
- * Updated to latest CocoaHTTPServer
1286
- * Remote:
1287
- * Improve performance of Element#== by only making an RPC when necessary.
1288
- * Disallow caching of GET requests
1289
- * Various:
1290
- * Raise ArgumentError instead of UnsupportedOperationError on invalid modifier key
1291
- * Improve docs for Server, ActionBuilder and Window
1292
- * Update to latest Sizzle (used for :css selectors in older browsers)
1293
-
1294
- 2.15.0 (2011-12-08)
1295
- ===================
1296
-
1297
- * Firefox:
1298
- * Now supports up to Firefox 11 (for syntesized events)
1299
- * Implicit waits now change how long we wait for alerts. This
1300
- functionality will change in 2.16
1301
- * Fix scrolling issue (#2700)
1302
- * IE:
1303
- * Fix issue with getWindowHandles() and showModalDialog() (#1828)
1304
- * Add support for the window sizing and positioning API
1305
- * Make Platform.bitsize use the correct constant from FFI
1306
- * WebDriver internals:
1307
- * Atoms code contribution from Google
1308
- * Closure updated
1309
-
1310
-
1311
- 2.14.0 (2011-11-29)
1312
- ===================
1313
-
1314
- * Add Selenium::WebDriver::Support::Select class to ease working with select lists.
1315
- * Add Capabilities.ipad and Capabilities.iphone (#2895)
1316
- * Replace json_pure dependency with multi_json. (#2901)
1317
- * Don't leave sockets hanging in SYN_SENT state while polling.
1318
- * Allow selecting option elements even if the enclosing select has zero opacity.
1319
- * Exception renames (old names aliased and will still work in rescues):
1320
- * ObsoleteElementError -> StaleElementReferenceError
1321
- * UnhandledError -> UnknownError
1322
- * UnexpectedJavascriptError -> JavascriptError
1323
- * NoAlertOpenError -> NoAlertPresentError
1324
- * ElementNotDisplayedError -> ElementNotVisibleError
1325
- * Firefox:
1326
- * Fixed issue with scrolling on small viewports with native events.
1327
- * Fix CSS selector support in Firefox 3.0
1328
- * IE:
1329
- * Implement the window control API
1330
-
1331
- 2.13.0 (2011-11-18)
1332
- ===================
1333
-
1334
- * Firefox:
1335
- * Recovering from null window references in the Firefox driver (#1438)
1336
-
1337
- 2.12.2 (2011-11-13)
1338
- ===================
1339
-
1340
- * Firefox
1341
- * Fix issue where Firefox 8 would throw permission errors after document.domain was modified (#2863).
1342
- * Force window to the foreground on launch (see https://bugzilla.mozilla.org/show_bug.cgi?id=566671)
1343
-
1344
- 2.12.1 (2011-11-11)
1345
- ===================
1346
-
1347
- * Fix regression when typing into contenteditable elements.
1348
-
1349
- 2.12.0 (2011-11-10)
1350
- ===================
1351
-
1352
- * Loosened the ffi dependency now that Windows support is back (#2755).
1353
- * Fix shutdown issues when using net-http-persistent against remote servers.
1354
- * Added beta window control API (see Selenium::WebDriver::Options#window).
1355
- * Firefox
1356
- * Support for Firefox 8.
1357
- * Better reporting of page size when attempting to move out of bounds.
1358
- * Beta implementation of window control.
1359
-
1360
- 2.11.0
1361
- ======
1362
-
1363
- (release skipped since it included only server-side changes)
1364
-
1365
- 2.10.0 (2011-10-27)
1366
- ===================
1367
-
1368
- * Improve native keyboard emulation on Windows.
1369
- * Allow commas in CSS selectors (#2301)
1370
- * Firefox:
1371
- * Fix intermittent error when finding elements by XPath (#2099)
1372
- * Fix detection of maximum page size (#2700)
1373
- * Avoid extension selection dialog (extensions.autoDisableScopes)
1374
- * Fix invalid wire responses from the synthetic mouse (#2695)
1375
- * Don't scroll unnecessarily (#1771).
1376
- * IE:
1377
- * Improve handling of #clear on disabled or readonly elements.
1378
-
1379
- 2.9.1 (2011-10-24)
1380
- ==================
1381
-
1382
- * Workaround for invalid error responses (#2695).
1383
-
1384
- 2.9.0 (2011-10-21)
1385
- ==================
1386
-
1387
- * Support file uploads to the remote server (see Selenium::WebDriver::DriverExtensions::UploadsFiles)
1388
- * New exception: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError
1389
- * Implemented Chrome::Profile#add_extension
1390
- * Better respect for preformatted text in Element#text
1391
- * Reduced scrolling during tests for IE and Firefox.
1392
- * Firefox:
1393
- * Support for experimental page load detection.
1394
- * IE:
1395
- * Better detection of where to click on links (#2675).
1396
- * Improve handling of modal dialogs (showModalDialog).
1397
-
1398
- 2.8.0 (2011-10-06)
1399
- ==================
1400
-
1401
- * Firefox
1402
- - Avoid telemetry prompt on Firefox 7
1403
- - Allow parallel execution with native events on Linux (#1326)
1404
- - Added native events support for Firefox 7 on Linux/Windows
1405
- - Improve search for libX11 for native events on Linux (#384)
1406
- - Fix double click with native events
1407
- * Chrome
1408
- - Fail fast if the chromedriver server is not executable.
1409
- * IE
1410
- - Fix find_element bug (#2563)
1411
-
1412
-
1413
- 2.7.0 (2011-09-23)
1414
- ==================
1415
-
1416
- * Firefox
1417
- - no longer types in the URL bar (#2487)
1418
- - fixed native events click() issue when element is out of view
1419
- - double click + get no longer hangs firefox (#2456)
1420
- - make sure escaped backslashes are properly escaped when serializing a Firefox profile (#2485)
1421
- * IE
1422
- - fix event firing issue (#2516)
1423
- * Opera
1424
- - don't start the remote service if the driver is passed bad arguments
1425
-
1426
- 2.6.0 (2011-09-13)
1427
- ==================
1428
-
1429
- * Rescue and retry on Errno::EADDRINUSE to work around ephemeral ports issue on Windows.
1430
- * Use correct default URL for the Android driver.
1431
- * Profile zipping now follows symlinks (#2416).
1432
- * Firefox
1433
- - Disable malware check
1434
- - Various #click improvements
1435
- - Don't scroll if element is already in view
1436
- * IE:
1437
- - improve scrolling to elements with 'overflow: scroll'
1438
- - properly trigger jQuery change events (#2207)
1439
- - improve handling of nested modal dialogs
1440
- * Opera:
1441
- - capabilities exposed as options to Selenium::WebDriver.for
1442
- * Various iPhone driver fixes (e.g. #1396)
1443
-
1444
- 2.5.0 (2011-08-23)
1445
- ==================
1446
-
1447
- * IE: support for double click and fix for clicks close to edge of window.
1448
- * Fix for clicking links that overflow into multiple lines (#1020).
1449
- * Correct initial cursor position when typing into text fields with Firefox 6.
1450
- * Native events support for Firefox 6 on Windows and Linux.
1451
- * Fix bug in Android::Bridge when no :http_client option was passed.
1452
- * Set chrome.detach to tell chromedriver to leave browser running on exit.
1453
-
1454
- 2.4.0 (2011-08-11)
1455
- ==================
1456
-
1457
- * Firefox 6 support.
1458
- * Raise in switch_to.alert when no alert is present.
1459
- * Improved handling of non-breaking spaces for Element#text.
1460
-
1461
- 2.3.2 (2011-08-01)
1462
- ==================
1463
-
1464
- * Re-releasing since 2.3.1 was a buggy build.
1465
-
1466
- 2.3.1 (2011-08-01)
1467
- ==================
1468
-
1469
- * Fix bug where Firefox would hang if Firefox::Profile#log_file= was set.
1470
-
1471
- 2.3.0 (2011-08-01)
1472
- ==================
1473
-
1474
- * Add Selenium::WebDriver::Chrome::Profile
1475
- * Better detection of clickable areas in Firefox.
1476
- * Merge of Google-contributed code into the underlying Atoms.
1477
- * IE click issue fixed (#1650)
1478
- * No longer raise in Element#inspect if the element is obsolete.
1479
-
1480
-
1481
- 2.2.0 (2011-07-26)
1482
- ==================
1483
-
1484
- * Add ability to listen for WebDriver events
1485
- * Fix Android/iPhone bridges to work similar to others (https://github.com/jnicklas/capybara/issues/425)
1486
- * Various atoms fixes
1487
- * Element equality now works properly with the remote server (#251).
1488
-
1489
- 2.1.0 (2011-07-18)
1490
- ==================
1491
-
1492
- * Various improvments to the IE driver (#2049, #1870)
1493
- * Atoms fixes (#1776, #1972).
1494
- * Synthetic mouse clicks do not propagate errors in onmouseover.
1495
-
1496
- 2.0.1 (2011-07-11)
1497
- ==================
1498
-
1499
- * Make sure at_exit hooks aren't inherited by child processes.
1500
-
1501
- 2.0.0 (2011-07-08)
1502
- ==================
1503
-
1504
- * Remove deprecated methods Element#{toggle,select,drag_and_drop_*,value}.
1505
- * Add ability to pass :verbose, :native_events to the Chrome driver.
1506
- * Synthetic mouse implementation for Firefox - improves drag and drop support platforms without native events.
1507
- * Added Selenium::WebDriver::Opera (requires the remote server).
1508
- * Fix for locating Firefox on 64-bit Windows when missing from the registry.
1509
- * Fix native events on Firefox 4, 5.
1510
-
1511
- 0.2.2 (2011-06-22)
1512
- ==================
1513
-
1514
- * Deprecate Element#{toggle,select,drag_and_drop_*}
1515
- * Chrome.path= now sets the path to Chrome, Chrome.driver_path= the path to the chromedriver server.
1516
- * Fix argument names in Mouse#move_to and Mouse#move_by.
1517
- * Support Firefox 5
1518
- * Chrome and Firefox drivers now includes the HasInputDevices module.
1519
- * Selenium::Rake::ServerTask now works with Rake 0.9.
1520
-
1521
- 0.2.1 (2011-06-01)
1522
- ==================
1523
-
1524
- * Allow passing custom command line switches to Chrome (requires today's release of the Chrome server)
1525
- * Avoid mutating arguments to find_element (issue #1273).
1526
- * Avoid conflicts when SUT modifies Array.prototype
1527
- * Allow setting arbitrary capabilities by adding Capabilities#[]=
1528
- * The Chrome driver is extended with TakesScreenshot.
1529
- * IE driver detects bad protected mode settings.
1530
- * Firefox driver no longer considers opacity when determining visibility.
1531
- * Fix for ActionBuilder#move_by.
1532
- * Treat Errno::EBADF as an indication that we failed to grab the socket lock (issue #1611).
1533
- * Ensure Firefox launches don't hang on some Ruby versions (by improving Selenium::WebDriver::SocketPoller).
1534
- * Various internal driver improvements.
1535
-
1536
- 0.2.0 (2011-04-22)
1537
- ==================
1538
-
1539
- * Update Ruby bindings to use the rewritten Chrome driver (see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver).
1540
- * Add deprecation warning for WebDriver::Element#value (use Element#attribute("value") instead).
1541
- * Change the default timeout for Wait instances to 5 seconds.
1542
- * Fix bug where locators would fail if Object.prototype had been modified.
1543
- * Various IE fixes
1544
- - Issues: #698, #1444
1545
- - Improved handling of showModalDialog()
1546
- - Full-size screenshots
1547
- * Allow users to override the dom.max_script_run_time preference in Firefox.
1548
- * Removed DesiredCapabilities.safari, which was never supported anyway.
1549
- * Add DesiredCapabilities.opera, which will be supported in the Remote server if OperaDriver is on the classpath.
1550
- * Print warnings for deprecated constants in the RC client:
1551
- - Selenium::SeleniumDriver => Selenium::Client::Driver
1552
- - Selenium::CommandError => Selenium::Client::CommandError
1553
- * Removed top-level constants:
1554
- - SeleniumHelper (available as Selenium::Client::SeleniumHelper)
1555
- - SeleniumCommandError (available as Selenium::Client::CommandError)
1556
-
1557
- 0.1.4 (2011-03-21)
1558
- ==================
1559
-
1560
- * Support for Firefox 4.
1561
- * Search PATH for Firefox / Chrome on OS X as well.
1562
- * Bump dependencies for ffi and childprocess (#1356).
1563
- * Find module renamed to SearchContext
1564
- * Deprecated methods Driver#hover and Options#{speed,speed=} removed.
1565
- * Improve IE driver stability, IE9 support
1566
- * Added basic ActionBuilder and HasInputDevices#action. Not applicable for all browsers.
1567
- * Added Driver#execute_async_script
1568
- * Some WebDriver exception classes have been renamed to match its Java equivalents:
1569
- ElementNotEnabledError -> InvalidElementStateError
1570
- UnknownScriptResultError -> XpathLookupError
1571
- * Fix bug where Element#disabled? would alternate between true/false (r11438)
1572
-
1573
- 0.1.3 (2011-02-14)
1574
- ==================
1575
-
1576
- * Several crashing bugs fixed in the IE driver.
1577
- * Alert API available through the remote driver.
1578
- * Driver#refresh fixed in the IE driver.
1579
- * Fixed paths for IE DLLs on Cygwin.
1580
- * Screenshot support in the IE and Remote drivers.
1581
- * Fix #1152 by avoiding IPv6 loopback.
1582
- * Added Mouse and Keyboard classes, accessible as Driver#{mouse,keyboard}. Considered experimental (IE + HtmlUnit only at the moment).
1583
- * Automation atoms now used extensively in the IE driver.
1584
- * Firefox::Bridge is now easier to extend (i.e. with a custom launcher).
1585
- * Add S::W::Remote::Http::Persistent (currently only usable with the remote server).
1586
- * IE driver passes along options like the other remote drivers, enabling user-specified HTTP clients.
1587
- * :firefox_profile added to Remote::Capabilities, enabling passing a profile to remote Firefoxes.
1588
- * IE driver now supports launching multiple instances of the browser.
1589
- * Remove some Ruby warnings (uninitialized ivars, URI.escape).
1590
-
1591
-
1592
- 0.1.2 (2010-12-22)
1593
- ==================
1594
-
1595
- * Changed frame switching behaviour (http://groups.google.com/group/selenium-developers/browse_thread/thread/8dc7938c35bb3968)
1596
- * IE driver rewrite landed.
1597
- * Initial support for alerts/prompts (in Firefox).
1598
- * Cygwin support.
1599
- * Driver#execute_script now properly wraps elements inside Hashes.
1600
- * Various fixes for Firefox 4.
1601
-
1602
- 0.1.1 (2010-11-29)
1603
- ==================
1604
-
1605
- * Fix for Chrome.path=
1606
- * Remote drivers always add Content-Length for POST requests (thanks joshuachisholm)
1607
- * Fix for JS execution bug in the IE driver
1608
- * Add ability to specify a proxy on the Http::Default client.
1609
- * The remote drivers' :http_client argument now take a configured instance.
1610
-
1611
- 0.1.0 (2010-11-11)
1612
- ===================
1613
-
1614
- * selenium-client code (Se1/RC client) is now included in the gem (require "selenium/client").
1615
- * Add Selenium::WebDriver::Proxy, used to configure proxies for Firefox::Profile and the remote driver.
1616
- * Tweaked Firefox profile preferences, improve logging, disabled crash reporter.
1617
- * Reap Firefox profiles on close, not just on exit.
1618
- * Add selenium/rake/server_task and selenium/server which wraps the Selenium server jar.
1619
- * Various Firefox driver improvements (GC race conditions ++).
1620
- * IE::Bridge#initialize now takes an options hash like the other bridges.
1621
- * Added basic iPhone and Android driver classes.
1622
- * Firefox driver now works on FreeBSD.
1623
-
1624
-
1625
- 0.0.29 (2010-10-09)
1626
- ===================
1627
-
1628
- * Element#find_element with :xpath follows the XPath spec (i.e. results are not limited to the receiver's subtree).
1629
- * Element#attribute(attribute) now returns "false" instead of nil.
1630
- * Firefox::Profile instances can now be reused for multiple drivers.
1631
- * Redirect Firefox console logs to a file with Firefox::Profile.log_file=
1632
- * Added a simple Wait class, based on WebDriverWait in Java.
1633
- * Search PATH for Firefox executable on Windows also.
1634
- * Added Capabilities.android
1635
- * Fix saving of screenshots on Windows and Ruby 1.9 (using "wb" mode string)
1636
- * CSS selector support in the remote driver
1637
- * CSS selector support for IE (using querySelector when available, Sizzle elsewhere)
1638
- * CSS selector support for older versions of Firefox (through Sizzle)
1639
- * Cookie expiration dates are now handled correctly (#730)
1640
- * Make Driver#bridge private, since this seems to be a common cause of confusion.
1641
- * Add {Element,Remote::Capabilities}#as_json for Rails 3 (http://jonathanjulian.com/2010/04/rails-to_json-or-as_json/)
1642
- * User can configure path to exectuables with {Firefox,Chrome}.path = "/some/path"
1643
- * Added "chromium" as a possible name for the Chrome binary (#769)
1644
- * Correctly set the HTTP client timeout (#768)
1645
- * switch_to.window with block now handles exceptions and non-local returns.
1646
- * switch_to.window with block returns the result of the block.
1647
- * Extracted handling of child processes to a separate gem: http://github.com/jarib/childprocess
1648
-
1649
-
1650
- 0.0.28 (2010-08-23)
1651
- ===================
1652
-
1653
- * Fix behaviour of Element#==, Element#eql? and Element#hash (#hash still has issues on IE / remote).
1654
- * Include remote server backtrace in raised errors (if available).
1655
- * Chrome: Untrusted certificate support.
1656
- * IE: Fix NoMethodError when getElementAttribute returns nil.
1657
- * Driver#[] shorthand can take a locator hash, not just an id string.
1658
-
1659
- 0.0.27 (2010-07-22)
1660
- ===================
1661
-
1662
- * Fixes for Element#attribute on IE / Firefox
1663
-
1664
- 0.0.26 (2010-07-19)
1665
- ===================
1666
-
1667
- * Work around Curb issue: http://github.com/taf2/curb/issues/issue/40
1668
-
1669
- 0.0.25 (2010-07-19)
1670
- ===================
1671
-
1672
- * Prevent Firefox from launching in offline mode (issue #587).
1673
- * Add ability to set Firefox' binary path through Selenium::WebDriver::Firefox::Binary.path=
1674
- * Add ability to install Firefox XPIs through Profile#add_extension.
1675
- * Better packaging/building of Firefox/Chrome extensions, which adds rubyzip as a dependency.
1676
- * Remote client supports HTTPS (issue #613 - thanks kkaempf).
1677
- * Fix error message for TimeOutError in the IE driver (issue #602)
1678
- * Add ability to use Chrome's default profile.
1679
- * Fix for frame behaviour in Chrome (issue #273).
1680
- * Standard gem directory structure (issue #475).
1681
-
1682
- 0.0.24 (2010-06-17)
1683
- ==================
1684
-
1685
- * Fix issues with quitting Firefox/Chrome on Windows + MRI.
1686
-
1687
-
1688
- 0.0.23 (2010-06-15)
1689
- ===================
1690
-
1691
- * Improved the HTTP clients:
1692
- - hopefully fix some occasional socket errors on Windows
1693
- - rescue error on driver.close() with curb
1694
-
1695
- 0.0.22 (2010-06-11)
1696
- ===================
1697
-
1698
- * Bugfix: Workaround for http://github.com/taf2/curb/issues/issue/33 - curb would sometimes use DELETE for GET requests.
1699
- * Minor doc fix
1700
- * Add ability to set timeout for HTTP clients
1701
-
1702
- 0.0.21 (2010-06-11)
1703
- ===================
1704
-
1705
- * User can specify :http_client for the Firefox driver.
1706
- * Refactor HTTP client code
1707
- * Add Remote::Http::Curb as an alternative to the default (net/http) client.
1708
-
1709
-
1710
- 0.0.20 (2010-06-03)
1711
- ===================
1712
-
1713
- * Fix bug where Firefox would hang on quit().
1714
-
1715
- 0.0.19 (2010-05-31)
1716
- ===================
1717
-
1718
- * Add a max redirect check to the remote driver
1719
- * Add Firefox::Profile#assume_untrusted_certificate_issuer=
1720
- * Add implicit waits (Selenium::WebDriver::Timeouts)
1721
- * at_exit hook to clean temporary profiles
1722
- * Fix for Errno::ECONNABORTED errors on Windows
1723
- * Fix issue where Firefox::Profile#secure_ssl= would have no effect
1724
- * Fix issue where locating elements by :css would fail in the Chrome driver.
1725
- * IE driver now works on 64-bit rubies.