-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGES
548 lines (443 loc) · 20.5 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
2.21.2 (2012-04-18)
===================
* Check MultiJson.respond_to?, depend on ~> 1.0
2.21.1 (2012-04-16)
===================
* Set multi_json dependency to < 1.3 to avoid deprecation warnings.
2.21.0 (2012-04-11)
===================
* Add Selenium::WebDriver::Window#maximize (#3489)
* Safari:
* New driver! See http://code.google.com/p/selenium/wiki/SafariDriver.
* Firefox:
* Significant stability improvements.
* Native events support for Firefox 11
* Dropped native events support for Firefox 4-9
* Window maximize implementation.
* IE:
* Ignore invisible dialogs (#3360).
* Window maximize implementation.
* Android:
* Accept SSL certificates (#3504).
2.20.0 (2012-02-28)
===================
* Loosen the multi_json and ffi dependencies (#3446)
* Firefox:
* Introduce a timeout for page loads. This needs to be used in
conjunction with the unstable page load detection. Exposed as
Timeouts#page_load=
* Scroll containing elements, not just windows (#3391).
* Element#{style => css_value}, with an alias for backwards compatibility.
* Atoms:
* Submit a form when the enter button is pressed in its input
element.
* Add a "mouse pixel scroll" event to the atoms events module.
* Adding a public "mouseOver" action and a little internal
refactoring around the mouseOver functionality.
* Selenium::WebDriver::Wait: polling interval reduced from 0.5 to 0.2 seconds.
2.19.0 (2012-02-08)
===================
* RC client supports server-side WebDriver-backed Selenium.
* Touch APIs implemented in the Ruby client (Android only)
* Firefox:
* Fix deserialization of user.js in Firefox::Profile
* Native events implemented for Firefox 10.
* Renamed the experimental "fast" page loaded strategy "unstable"
and disable queuing of commands when it's enabled.
* Disabled native events for Firefox 8 as it's deprecated by Mozilla.
* Fix for exceptions thrown when an alert occurs during script execution.
* Chrome:
* New download link for the server component:
http://code.google.com/p/chromedriver/downloads/list
2.18.0 (2012-01-27)
===================
* Fix for getting value attribute of option elements. (#3169)
* Firefox and IE:
* Raise UnhandledAlertError if an alert is present during an operation. The unhandled alert is also dismissed to mitigate repeat exceptions.
* Firefox:
* Better handling of getText invocations on SVG elements.
* Fix for Element#click in Firefox 4. (#3253)
* Fixed bug when deserializing user.js in Firefox::Profile.
* Default profile preferences now read from shared JSON blob.
* Android and iPhone:
* Client support for the geolocation API (see Selenium::WebDriver::DriverExtensions::HasLocation)
* Client support for the web storage API (see Selenium::WebDriver::DriverExtensions::HasWebStorage)
* iPhone:
* Server now supports frame switching (for frames in the same domain).
2.17.0 (2012-01-16)
===================
* Firefox:
* Fix excessive unwrapping when switching windows.
* Set toolkit.telemetry.{enabled,rejected} in the default Firefox profile.
* Support up to version 12 with synthesized events.
* Fixed issues launching Firefox 9 due to modal dialog (#3154, #3144)
* Chrome:
* Now accepts a :url option, pointing to an already running Chrome server.
* Now accepts a :proxy option (i.e. Selenium::WebDriver::Proxy instance).
* iPhone:
* iWebDriver will auto-play HTML5 video (#3152)
* Element#attribute("value") falls back to the text of option tags, if no value attribute is specified (#3169)
2.16.0 (2012-01-04)
===================
* Firefox:
* Native events support for Firefox 9
* Allow apps to use offline storage by default
* Fix excessive unwrapping when executing mouseMove
* Click in the middle, rather than the top-left of elements (#3034, #2700)
* IE:
* Raise StaleElementReferenceError when interacting with elements outside the currently focused frame
* Handle frames and iframes in showModalDialog windows
* Chrome:
* Improve client handling of invalid error responses
* iPhone:
* Updated to latest CocoaHTTPServer
* Remote:
* Improve performance of Element#== by only making an RPC when necessary.
* Disallow caching of GET requests
* Various:
* Raise ArgumentError instead of UnsupportedOperationError on invalid modifier key
* Improve docs for Server, ActionBuilder and Window
* Update to latest Sizzle (used for :css selectors in older browsers)
2.15.0 (2011-12-08)
===================
* Firefox:
* Now supports up to Firefox 11 (for syntesized events)
* Implicit waits now change how long we wait for alerts. This
functionality will change in 2.16
* Fix scrolling issue (#2700)
* IE:
* Fix issue with getWindowHandles() and showModalDialog() (#1828)
* Add support for the window sizing and positioning API
* Make Platform.bitsize use the correct constant from FFI
* WebDriver internals:
* Atoms code contribution from Google
* Closure updated
2.14.0 (2011-11-29)
===================
* Add Selenium::WebDriver::Support::Select class to ease working with select lists.
* Add Capabilities.ipad and Capabilities.iphone (#2895)
* Replace json_pure dependency with multi_json. (#2901)
* Don't leave sockets hanging in SYN_SENT state while polling.
* Allow selecting option elements even if the enclosing select has zero opacity.
* Exception renames (old names aliased and will still work in rescues):
* ObsoleteElementError -> StaleElementReferenceError
* UnhandledError -> UnknownError
* UnexpectedJavascriptError -> JavascriptError
* NoAlertOpenError -> NoAlertPresentError
* ElementNotDisplayedError -> ElementNotVisibleError
* Firefox:
* Fixed issue with scrolling on small viewports with native events.
* Fix CSS selector support in Firefox 3.0
* IE:
* Implement the window control API
2.13.0 (2011-11-18)
===================
* Firefox:
* Recovering from null window references in the Firefox driver (#1438)
2.12.2 (2011-11-13)
===================
* Firefox
* Fix issue where Firefox 8 would throw permission errors after document.domain was modified (#2863).
* Force window to the foreground on launch (see https://bugzilla.mozilla.org/show_bug.cgi?id=566671)
2.12.1 (2011-11-11)
===================
* Fix regression when typing into contenteditable elements.
2.12.0 (2011-11-10)
===================
* Loosened the ffi dependency now that Windows support is back (#2755).
* Fix shutdown issues when using net-http-persistent against remote servers.
* Added beta window control API (see Selenium::WebDriver::Options#window).
* Firefox
* Support for Firefox 8.
* Better reporting of page size when attempting to move out of bounds.
* Beta implementation of window control.
2.11.0
======
(release skipped since it included only server-side changes)
2.10.0 (2011-10-27)
===================
* Improve native keyboard emulation on Windows.
* Allow commas in CSS selectors (#2301)
* Firefox:
* Fix intermittent error when finding elements by XPath (#2099)
* Fix detection of maximum page size (#2700)
* Avoid extension selection dialog (extensions.autoDisableScopes)
* Fix invalid wire responses from the synthetic mouse (#2695)
* Don't scroll unnecessarily (#1771).
* IE:
* Improve handling of #clear on disabled or readonly elements.
2.9.1 (2011-10-24)
==================
* Workaround for invalid error responses (#2695).
2.9.0 (2011-10-21)
==================
* Support file uploads to the remote server (see Selenium::WebDriver::DriverExtensions::UploadsFiles)
* New exception: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError
* Implemented Chrome::Profile#add_extension
* Better respect for preformatted text in Element#text
* Reduced scrolling during tests for IE and Firefox.
* Firefox:
* Support for experimental page load detection.
* IE:
* Better detection of where to click on links (#2675).
* Improve handling of modal dialogs (showModalDialog).
2.8.0 (2011-10-06)
==================
* Firefox
- Avoid telemetry prompt on Firefox 7
- Allow parallel execution with native events on Linux (#1326)
- Added native events support for Firefox 7 on Linux/Windows
- Improve search for libX11 for native events on Linux (#384)
- Fix double click with native events
* Chrome
- Fail fast if the chromedriver server is not executable.
* IE
- Fix find_element bug (#2563)
2.7.0 (2011-09-23)
==================
* Firefox
- no longer types in the URL bar (#2487)
- fixed native events click() issue when element is out of view
- double click + get no longer hangs firefox (#2456)
- make sure escaped backslashes are properly escaped when serializing a Firefox profile (#2485)
* IE
- fix event firing issue (#2516)
* Opera
- don't start the remote service if the driver is passed bad arguments
2.6.0 (2011-09-13)
==================
* Rescue and retry on Errno::EADDRINUSE to work around ephemeral ports issue on Windows.
* Use correct default URL for the Android driver.
* Profile zipping now follows symlinks (#2416).
* Firefox
- Disable malware check
- Various #click improvements
- Don't scroll if element is already in view
* IE:
- improve scrolling to elements with 'overflow: scroll'
- properly trigger jQuery change events (#2207)
- improve handling of nested modal dialogs
* Opera:
- capabilities exposed as options to Selenium::WebDriver.for
* Various iPhone driver fixes (e.g. #1396)
2.5.0 (2011-08-23)
==================
* IE: support for double click and fix for clicks close to edge of window.
* Fix for clicking links that overflow into multiple lines (#1020).
* Correct initial cursor position when typing into text fields with Firefox 6.
* Native events support for Firefox 6 on Windows and Linux.
* Fix bug in Android::Bridge when no :http_client option was passed.
* Set chrome.detach to tell chromedriver to leave browser running on exit.
2.4.0 (2011-08-11)
==================
* Firefox 6 support.
* Raise in switch_to.alert when no alert is present.
* Improved handling of non-breaking spaces for Element#text.
2.3.2 (2011-08-01)
==================
* Re-releasing since 2.3.1 was a buggy build.
2.3.1 (2011-08-01)
==================
* Fix bug where Firefox would hang if Firefox::Profile#log_file= was set.
2.3.0 (2011-08-01)
==================
* Add Selenium::WebDriver::Chrome::Profile
* Better detection of clickable areas in Firefox.
* Merge of Google-contributed code into the underlying Atoms.
* IE click issue fixed (#1650)
* No longer raise in Element#inspect if the element is obsolete.
2.2.0 (2011-07-26)
==================
* Add ability to listen for WebDriver events
* Fix Android/iPhone bridges to work similar to others (https://github.com/jnicklas/capybara/issues/425)
* Various atoms fixes
* Element equality now works properly with the remote server (#251).
2.1.0 (2011-07-18)
==================
* Various improvments to the IE driver (#2049, #1870)
* Atoms fixes (#1776, #1972).
* Synthetic mouse clicks do not propagate errors in onmouseover.
2.0.1 (2011-07-11)
==================
* Make sure at_exit hooks aren't inherited by child processes.
2.0.0 (2011-07-08)
==================
* Remove deprecated methods Element#{toggle,select,drag_and_drop_*,value}.
* Add ability to pass :verbose, :native_events to the Chrome driver.
* Synthetic mouse implementation for Firefox - improves drag and drop support platforms without native events.
* Added Selenium::WebDriver::Opera (requires the remote server).
* Fix for locating Firefox on 64-bit Windows when missing from the registry.
* Fix native events on Firefox 4, 5.
0.2.2 (2011-06-22)
==================
* Deprecate Element#{toggle,select,drag_and_drop_*}
* Chrome.path= now sets the path to Chrome, Chrome.driver_path= the path to the chromedriver server.
* Fix argument names in Mouse#move_to and Mouse#move_by.
* Support Firefox 5
* Chrome and Firefox drivers now includes the HasInputDevices module.
* Selenium::Rake::ServerTask now works with Rake 0.9.
0.2.1 (2011-06-01)
==================
* Allow passing custom command line switches to Chrome (requires today's release of the Chrome server)
* Avoid mutating arguments to find_element (issue #1273).
* Avoid conflicts when SUT modifies Array.prototype
* Allow setting arbitrary capabilities by adding Capabilities#[]=
* The Chrome driver is extended with TakesScreenshot.
* IE driver detects bad protected mode settings.
* Firefox driver no longer considers opacity when determining visibility.
* Fix for ActionBuilder#move_by.
* Treat Errno::EBADF as an indication that we failed to grab the socket lock (issue #1611).
* Ensure Firefox launches don't hang on some Ruby versions (by improving Selenium::WebDriver::SocketPoller).
* Various internal driver improvements.
0.2.0 (2011-04-22)
==================
* Update Ruby bindings to use the rewritten Chrome driver (see http://code.google.com/p/selenium/wiki/ChromeDriver).
* Add deprecation warning for WebDriver::Element#value (use Element#attribute("value") instead).
* Change the default timeout for Wait instances to 5 seconds.
* Fix bug where locators would fail if Object.prototype had been modified.
* Various IE fixes
- Issues: #698, #1444
- Improved handling of showModalDialog()
- Full-size screenshots
* Allow users to override the dom.max_script_run_time preference in Firefox.
* Removed DesiredCapabilities.safari, which was never supported anyway.
* Add DesiredCapabilities.opera, which will be supported in the Remote server if OperaDriver is on the classpath.
* Print warnings for deprecated constants in the RC client:
- Selenium::SeleniumDriver => Selenium::Client::Driver
- Selenium::CommandError => Selenium::Client::CommandError
* Removed top-level constants:
- SeleniumHelper (available as Selenium::Client::SeleniumHelper)
- SeleniumCommandError (available as Selenium::Client::CommandError)
0.1.4 (2011-03-21)
==================
* Support for Firefox 4.
* Search PATH for Firefox / Chrome on OS X as well.
* Bump dependencies for ffi and childprocess (#1356).
* Find module renamed to SearchContext
* Deprecated methods Driver#hover and Options#{speed,speed=} removed.
* Improve IE driver stability, IE9 support
* Added basic ActionBuilder and HasInputDevices#action. Not applicable for all browsers.
* Added Driver#execute_async_script
* Some WebDriver exception classes have been renamed to match its Java equivalents:
ElementNotEnabledError -> InvalidElementStateError
UnknownScriptResultError -> XpathLookupError
* Fix bug where Element#disabled? would alternate between true/false (r11438)
0.1.3 (2011-02-14)
==================
* Several crashing bugs fixed in the IE driver.
* Alert API available through the remote driver.
* Driver#refresh fixed in the IE driver.
* Fixed paths for IE DLLs on Cygwin.
* Screenshot support in the IE and Remote drivers.
* Fix #1152 by avoiding IPv6 loopback.
* Added Mouse and Keyboard classes, accessible as Driver#{mouse,keyboard}. Considered experimental (IE + HtmlUnit only at the moment).
* Automation atoms now used extensively in the IE driver.
* Firefox::Bridge is now easier to extend (i.e. with a custom launcher).
* Add S::W::Remote::Http::Persistent (currently only usable with the remote server).
* IE driver passes along options like the other remote drivers, enabling user-specified HTTP clients.
* :firefox_profile added to Remote::Capabilities, enabling passing a profile to remote Firefoxes.
* IE driver now supports launching multiple instances of the browser.
* Remove some Ruby warnings (uninitialized ivars, URI.escape).
0.1.2 (2010-12-22)
==================
* Changed frame switching behaviour (http://groups.google.com/group/selenium-developers/browse_thread/thread/8dc7938c35bb3968)
* IE driver rewrite landed.
* Initial support for alerts/prompts (in Firefox).
* Cygwin support.
* Driver#execute_script now properly wraps elements inside Hashes.
* Various fixes for Firefox 4.
0.1.1 (2010-11-29)
==================
* Fix for Chrome.path=
* Remote drivers always add Content-Length for POST requests (thanks joshuachisholm)
* Fix for JS execution bug in the IE driver
* Add ability to specify a proxy on the Http::Default client.
* The remote drivers' :http_client argument now take a configured instance.
0.1.0 (2010-11-11)
===================
* selenium-client code (Se1/RC client) is now included in the gem (require "selenium/client").
* Add Selenium::WebDriver::Proxy, used to configure proxies for Firefox::Profile and the remote driver.
* Tweaked Firefox profile preferences, improve logging, disabled crash reporter.
* Reap Firefox profiles on close, not just on exit.
* Add selenium/rake/server_task and selenium/server which wraps the Selenium server jar.
* Various Firefox driver improvements (GC race conditions ++).
* IE::Bridge#initialize now takes an options hash like the other bridges.
* Added basic iPhone and Android driver classes.
* Firefox driver now works on FreeBSD.
0.0.29 (2010-10-09)
===================
* Element#find_element with :xpath follows the XPath spec (i.e. results are not limited to the receiver's subtree).
* Element#attribute(attribute) now returns "false" instead of nil.
* Firefox::Profile instances can now be reused for multiple drivers.
* Redirect Firefox console logs to a file with Firefox::Profile.log_file=
* Added a simple Wait class, based on WebDriverWait in Java.
* Search PATH for Firefox executable on Windows also.
* Added Capabilities.android
* Fix saving of screenshots on Windows and Ruby 1.9 (using "wb" mode string)
* CSS selector support in the remote driver
* CSS selector support for IE (using querySelector when available, Sizzle elsewhere)
* CSS selector support for older versions of Firefox (through Sizzle)
* Cookie expiration dates are now handled correctly (#730)
* Make Driver#bridge private, since this seems to be a common cause of confusion.
* Add {Element,Remote::Capabilities}#as_json for Rails 3 (http://jonathanjulian.com/2010/04/rails-to_json-or-as_json/)
* User can configure path to exectuables with {Firefox,Chrome}.path = "/some/path"
* Added "chromium" as a possible name for the Chrome binary (#769)
* Correctly set the HTTP client timeout (#768)
* switch_to.window with block now handles exceptions and non-local returns.
* switch_to.window with block returns the result of the block.
* Extracted handling of child processes to a separate gem: http://github.com/jarib/childprocess
0.0.28 (2010-08-23)
===================
* Fix behaviour of Element#==, Element#eql? and Element#hash (#hash still has issues on IE / remote).
* Include remote server backtrace in raised errors (if available).
* Chrome: Untrusted certificate support.
* IE: Fix NoMethodError when getElementAttribute returns nil.
* Driver#[] shorthand can take a locator hash, not just an id string.
0.0.27 (2010-07-22)
===================
* Fixes for Element#attribute on IE / Firefox
0.0.26 (2010-07-19)
===================
* Work around Curb issue: http://github.com/taf2/curb/issues/issue/40
0.0.25 (2010-07-19)
===================
* Prevent Firefox from launching in offline mode (issue #587).
* Add ability to set Firefox' binary path through Selenium::WebDriver::Firefox::Binary.path=
* Add ability to install Firefox XPIs through Profile#add_extension.
* Better packaging/building of Firefox/Chrome extensions, which adds rubyzip as a dependency.
* Remote client supports HTTPS (issue #613 - thanks kkaempf).
* Fix error message for TimeOutError in the IE driver (issue #602)
* Add ability to use Chrome's default profile.
* Fix for frame behaviour in Chrome (issue #273).
* Standard gem directory structure (issue #475).
0.0.24 (2010-06-17)
==================
* Fix issues with quitting Firefox/Chrome on Windows + MRI.
0.0.23 (2010-06-15)
===================
* Improved the HTTP clients:
- hopefully fix some occasional socket errors on Windows
- rescue error on driver.close() with curb
0.0.22 (2010-06-11)
===================
* Bugfix: Workaround for http://github.com/taf2/curb/issues/issue/33 - curb would sometimes use DELETE for GET requests.
* Minor doc fix
* Add ability to set timeout for HTTP clients
0.0.21 (2010-06-11)
===================
* User can specify :http_client for the Firefox driver.
* Refactor HTTP client code
* Add Remote::Http::Curb as an alternative to the default (net/http) client.
0.0.20 (2010-06-03)
===================
* Fix bug where Firefox would hang on quit().
0.0.19 (2010-05-31)
===================
* Add a max redirect check to the remote driver
* Add Firefox::Profile#assume_untrusted_certificate_issuer=
* Add implicit waits (Selenium::WebDriver::Timeouts)
* at_exit hook to clean temporary profiles
* Fix for Errno::ECONNABORTED errors on Windows
* Fix issue where Firefox::Profile#secure_ssl= would have no effect
* Fix issue where locating elements by :css would fail in the Chrome driver.
* IE driver now works on 64-bit rubies.