| v2.21.0 (In Progress) |
| ======= |
| |
| WebDriver: |
| * Significant stability improvements in firefoxdriver. |
| |
| Grid: |
| * Significant changes in the timeout strategy between hub, nodes and browser. |
| See http://code.google.com/p/selenium/wiki/Grid2 section on timeouts. |
| Compatibility note: It is recommended to at least update the nodes |
| to 2.21. Upgrading only the hub will effectively disable the |
| browser-death timeout. |
| |
| * Content length issue solved |
| * Improvements in thread dumps in both hub and node, |
| possible to corrolate the two. |
| |
| Server: |
| * -Dwebdriver.server.browser.timeout=<timeoutInSeconds> added to |
| differentiate between browser hang and client gone (which is |
| webdriver.server.session.timeout as before) |
| See http://code.google.com/p/selenium/wiki/RemoteWebDriverServer |
| for further details. |
| |
| |
| v2.20.0 |
| ======= |
| |
| WebDriver: |
| * RemoteWebDriver.setLogLevel is no longer a static method. |
| * Introduce a timeout for page loads. This needs to be used in |
| conjunction with the unstable page load detection. |
| * Adding alertIsPresent ExpectedCondition. |
| * Turning off password saving in the Android driver. |
| * FIXED: 3391: scroll containing elements, not just windows. |
| * FIXED: 2211: Allow the http client factory to discover the proxy |
| for traffic between the http command executor and the webdriver |
| server via the normal system properties. |
| |
| WebDriverJS: |
| * Refactored the WebDriverJs promise manager to use a proper tree to |
| track scheduled tasks. |
| * In webdriver.Builder, default to http://localhost:4444/wd/hub if a |
| server URL is not specified. |
| |
| Grid: |
| * JDK 1.6.1_31 recommended for maximum stability |
| * The HUB is now upgraded to run with Jetty 7.6.1. |
| * Making the id for proxy final, and allowing it to be specified |
| from the registration request. If the id isn't in the request, the |
| remote host is used as an id, as it was before. |
| * FIXED: 3096: Memory leak in selenium hub. |
| |
| RC: |
| * More work on SSL certs. Should work cleanly in Firefox now. |
| * FIXED: 1982: Clear an input element in such a way as to avoid |
| firing any events when emulating typing in selenium |
| emulation. Fixes issue 1982. |
| |
| 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. |
| |
| |
| v2.19.0 |
| ======= |
| |
| WebDriver: |
| * Server-side implementation of the webdriver-backed selenium. |
| * "sendKeys" works in the webdriver-backed selenium when using |
| safari. |
| * Implement local/session storage for iOS driver. |
| * Exceptions now thrown when an alert occurs during script |
| execution. |
| * Native events implemented for Firefox 10. |
| * Renamed the experimental "fast" page loaded strategy "unstable" |
| and disable queuing of commands when it's enabled. |
| * Corrections to javadocs. |
| * Disabled native events for Firefox 8 as it's deprecated by |
| Mozilla. |
| |
| RC: |
| * Update cybervillains certificate (thanks to Ivan De Marino and |
| Mark Watson @ Neustar) |
| * Default to using the native xpath engine in selenium-backed |
| webdriver instances. |
| * Correctly fire events when outside a firefox extension |
| |
| WebDriverJS: |
| * Return a promise from webdriver.WebDriver.prototype.quit() so |
| users may register callbacks. |
| * Small tweaks so WebDriverJs works as expected in IE7/8. |
| |
| Known Issues: |
| * Holding down a modifier key and clicking with Firefox 10 on |
| Windows does not work reliably when using native events. |
| |
| |
| v2.18.0 |
| ======== |
| |
| WebDriver: |
| * FIXED: 3169: Getting value attribute on option elements. |
| * Alert handling in Firefox and IE: Throwing UnhandledAlertException |
| if an alert is present during an operation. The unhandled alert is |
| also dismissed to mitigate repeat exceptions. |
| * Better handling of getText invocations on SVG elements. |
| * FIXED: 3253: Clicking stopped working on Firefox 4. |
| * Android Driver now supports Flash, Geolocation. |
| * FIXED: 1371: iPhone Driver now supports frame switching. |
| |
| RC: |
| * FIXED: 2958: Selenium RC now closes IE HTA when the tests finish. |
| |
| WebDriverJs: |
| * Fixes around findElements. |
| |
| v2.17.0 |
| ======== |
| |
| WebDriver: |
| * Removed deprecated methods |
| * FIXED: 3152: iWebDriver will auto-play HTML5 video |
| * Fixed issue with permissions on windows caused by wrapping |
| * FIXED: 3154, 3144: Issues launching Firefox 9 due to modal dialog |
| * Adding warning to android apk when used with an incompatible |
| android version (issue 3142) |
| * FIXED: 3167: Sending empty keys to a text field no longer throws |
| * FIXED: 3173: Using ChromeOptions no longer causes stack exhaustion |
| * FIXED: 3169: getAttribute("value") falls back to the text of |
| option tags, if no value attribute is specified |
| * Updated operadriver to version 0.9 |
| |
| Maven: |
| |
| * NOTE: We have removed our dependency on the operadriver from our |
| pom, because it creates a circular dependency. To use the |
| operadriver, add the following dependency to your own pom.xml |
| file: |
| |
| <dependency> |
| <groupId>com.opera</groupId> |
| <artifactId>operadriver</artifactId> |
| <version>0.9</version> |
| </dependency> |
| |
| RC: |
| * Bumped firefox support up to Firefox 12 |
| |
| Grid: |
| * FIXED: 3161: Thread safety issues |
| |
| Known issues: |
| * Some issues around scrolling (3075, 3045, 3034) |
| |
| v2.16.1 |
| ======= |
| |
| RC: |
| * FIXED: 3148: Allow IE to be launched. |
| |
| v2.16.0 |
| ======= |
| |
| WebDriver: |
| * Native events enabled for Firefox 9 |
| * The FirefoxDriver now enables apps to use offline storage by |
| default. |
| * ChromeDriver allows setting the chrome driver's environment more |
| easily. |
| * RemoteWebElement implementations now guarantee that the ID used to |
| identify them. This allows "hashCode" and "equals" to be local |
| operations in Java. |
| * The PageFactory will now no longer decorate List<WebElement> |
| fields unless annotated with a @FindBy. |
| * By default, clicks will now be in the middle of elements. |
| * RemoteWebDriver will use uncacheable GET requests to communicate |
| with the remote webdriver server. |
| * HtmlUnitDriver defaults to emulating Firefox 3.6. |
| * FIXED: 2985: Calling quit() on the IE Driver in a shutdown hook |
| will no longer kill the JVM. |
| * FIXED: 2893: You can now pass a Map to executeScript when using |
| Firefox. |
| * FIXED: 1395, 2747, 2869, 2431: Upgraded version of CocoaHTTPServer |
| to the latest and greatest. |
| |
| WebDriverJS: |
| * Test failures are now annotated with the task history. |
| * JSONP support dropped in favour of CORS. For those browsers where |
| CORS is not fully implemented, added a "/xdrpc" (cross-domain rpc) |
| end-point. |
| * Change the promise.Application event loop to run at a set interval |
| instead of trying to explicitly trigger it at the appropriate |
| times. This makes debugging much simpler. |
| * WebDriverJS hub front-end now renders correctly in IE. |
| |
| Grid: |
| * It's now a beautiful butterfly. |
| |
| RC: |
| * IE HTA mode will now close the final window. |
| * All windows are now opened as "resizable". This means that they |
| should always open in new windows rather than tabs in IE. |
| * *chrome mode can type into file input elements on Firefox 8+ |
| * WebDriverCommandProcessor has all constructors depending on the |
| (deprecated) SuppliesWebDriver class marked as deprecated. Will be |
| deleted in the next release. |
| |
| Automation Atoms: |
| * Bug fixes and updates |
| * Included a touchscreen abstraction |
| |
| |
| v2.15.0 |
| ======= |
| Project: |
| * Code donation from Google. |
| |
| WebDriver: |
| * Now supports up to and including Firefox 11. |
| * Changed order of FirefoxProfile initialization attempts on a |
| remote host: 1) try to load from capabilities, 2) try to load |
| locally if webdriver.firefox.profile is specified, 3) create an |
| empty profile. |
| * Added the beginning of infrastructure for gathering logs from |
| webdriver tests. |
| * Added an UnreachableBrowserException. |
| * Additional work on the WebDriver JS console. |
| * Implicit waits now change how long we wait for alerts. This |
| functionality will change in 2.16 |
| * FIXED: 2700: The infamous scrolling issue. |
| * FIXED: 2816: ClassCastException when calling switchTo().alert(). |
| |
| Grid: |
| * Grid now distinguishs between CLIENT_GONE and |
| FORWARDING_TO_NODE_FAILED. |
| * FIXED: issue where older RCs could not connect to a newer hub. |
| |
| RC: |
| * Selenium-backed WebDriver now uses atoms for typing. |
| |
| Automation Atoms: |
| * Significantly reworked input device abstractions. |
| |
| Known Issues: |
| * HTA mode for Selenium RC (*iexplore) leaves a browser window open. |
| |
| |
| v2.14.0 |
| ======= |
| WebDriver: |
| * Deleted all deprecated methods in the Java API. |
| * Client code cleaned to work with Java 5. Server code needs Java 6. |
| * Added a front-end for executing WebDriverJS scripts. Point a |
| browser at http://localhost:4444/wd/hub. |
| * Can now query an Android driver for supported capabilities. |
| * Updated JSON framework used in the iOS driver. |
| * Fixed issue with scrolling on small viewports with native events |
| in Firefox. |
| * FIXED: 2889: FluentWait supports adding a custom message to |
| timeout exception. |
| * FIXED 2798: When implicit waits are enabled in the FirefoxDriver, |
| stale element reference errors when searching for child elements |
| are now handled properly |
| * FIXED 2917: Preventing endless recursion in hashCode. |
| |
| Server: |
| * Memory leak fixed |
| |
| Grid: |
| * New beta console added. |
| * Grid nodes were leaking even more memory that regular server |
| nodes. |
| * Fixed a scenario that used to lead to "session = null" errors. |
| * Now support iOS nodes. |
| |
| Known issues: |
| * Continuing problems with element out of bounds exception being |
| thrown. |
| |
| |
| v2.13.0 |
| ======= |
| Dependency change: |
| * Selenium/webdriver java dependencies now use apache commons-exec |
| (http://commons.apache.org/exec/) version 1.1. If you are using manual |
| dependency management you will need to add this to your project. |
| If you resolve via maven central (maven, ivy, gradle), this will |
| be handled automatically. |
| WebDriver: |
| * Recovering from null window references in the Firefox driver (#1438) |
| * Make native events work correctly on Linux with the Python bindings (#2633) |
| * Improved finding Firefox on Windows in the C# bindings (2818) |
| * Screenshots in Python are now working (2829) |
| * Exporting webdriver.promise from the Javascript API (2839) |
| * Permission denied accessing some elements using the Firefox driver (2863) |
| * Fixed typing into content editable elements with Firefox (2.12 regression) |
| * Firefox is started in the forgeground on OS X. Focus / blur events now have |
| higher chance of firing correctly on OS X. |
| * Deprecated methods were removed from the FirefoxDriver and FirefoxProfile |
| classes (saveScreenshot, enableNativeEvents, alwaysLoadNoFocusLib). |
| * The amount of time a test can remain hanging is now capped (to 3 hours). |
| |
| Grid: |
| * Gracefully handle registration of old nodes in a new grid hub (#2738). |
| * Releasing all the resources when a proxy is removed from the hub (#2768). |
| |
| Known issues: |
| * Synthesized mouse events are inaccurate (Affects Firefox driver users |
| on OS X) (2281) |
| * Invalid move target out of bounds exception thrown.2700 |
| * Dragged elements end up in the wrong location, with the Firefox driver, |
| when scrolling is required (typically with small viewport) (2877) |
| |
| v2.12.0 |
| ======= |
| |
| RC |
| * Disabled web security checks for Chrome by default. |
| * Actually reenabling *safariproxy. |
| |
| WebDriver |
| * Firefox 8 support enabled |
| * Added @Beta annotation. Any method marked with this may be deleted |
| or changed without notification. |
| * Added @Beta Window control for Firefox in Ruby and Java. This |
| allows resizing and moving. |
| * Renamed FirefoxProfile.enableNativeEvents() to |
| FirefoxProfile.areNativeEventsEnabled(). Deprecated original |
| method. Will be removed in 2.13. |
| * Renamed FirefoxProfile.alwaysLoadNoFocusLib() to |
| FirefoxProfile.shouldLoadNoFocusLib(). Deprecated original |
| method. Will be removed in 2.13. |
| * Better reporting of page size when attempting to move out of bounds. |
| * More informative error message when a remote webdriver client |
| fails to connect to the browser. |
| * PageFactory now only decorates WebElement lists. |
| * Calling WebElement.clear on a disabled or readOnly element will |
| throw an InvalidElementStateException. |
| * WebDriver.getWindowHandle will throw a NoSuchWindowException if |
| the window is closed. |
| * FIXED: 1498: HtmlUnit no longer finds containing element when |
| searching by CSS. |
| |
| Grid |
| * Made Grid orphan check only apply to Se1 clients. |
| |
| Atoms |
| * Implemented clear action for contentEditable elements. |
| |
| |
| v2.11.0 |
| ======= |
| |
| RC: |
| * Safari proxy added back to the supported browser. |
| |
| |
| v2.10.0 |
| ====== |
| |
| Grid: |
| * Stability and reliability fixes. |
| * A single node can now process both selenium 1.0 and selenium webdriver requests. Old proxies deprecated. |
| * FIXED: 2617: Removing unnecessary logging. |
| * FIXED: 2650, 2400: Unregister dead nodes. |
| |
| WebDriver: |
| * FIXED: 2700: Don't throw MoveTargetOutOfBoundsError where we shouldn't. |
| * FIXED: 2301: Allow commas in CSS selectors. |
| * FIXED: 2099: Occasional XPath lookup errors. |
| * FIXED: 1771: Don't scroll unnecessarily. |
| * FIXED: 2674: Don't incorrectly decorate List<WebElement>s which don't have @FindBy annotations. |
| |
| Javascript: |
| * Added jsapi, including node integration. More details to come. |
| |
| General: |
| * Updated version of guava used to 10.0.1. |
| |
| v2.9.0 |
| ====== |
| |
| Project: |
| * ThoughtWorks code grant to the Software Freedom Conservancy complete. |
| |
| WebDriver: |
| * Support for Ice Cream Sandwich in the AndroidDriver |
| * CSS Selector support enabled for Android |
| * Remote webdriver server log now contains '[HTML source]' instead of full |
| source. |
| * Better respect for preformatted text in WebElement.getText() |
| * Adding better error message when failing to connect to the FirefoxDriver. |
| * Reduced scrolling during tests for IE and Firefox. |
| * Preserve the state of modified keys when using native events on Linux. |
| * Support for experimental page load detection in firefox. Set the |
| "webdriver.load.strategy" to "fast" in the FirefoxProfile to enable less |
| conservative page loading detection at the risk of greater test |
| instability. |
| * FIXED: 2031: Shielding backslashes when writing preferences to a file. |
| There is an issue with Firefox: it drops \n and \r when it moves user |
| preferences to prefs.js. This patch is a workaround. |
| * FIXED: 2223: Clicks on labels are now propagated to the referenced element. |
| * FIXED: 2646: PortProber no longer attempts to divide by zero. |
| * FIXED: 2675: Better detection of where to click on links. |
| |
| RC: |
| * FIXED: 569: Making assert and verify methods NPE-safe. |
| |
| |
| v2.8.0 |
| ====== |
| |
| WebDriver |
| * FIXED: 1967,1934: Temporary directories no longer fill up disk. |
| * FIXED: 2295,1899: Better handling of select/option tags in HtmlUnit |
| * Disabled elements won't be cleared any more |
| * FIXED: 2531: Allow setting frozen firefox profile preferences to their frozen values. |
| * FIXED: 2509: Fixing error=24 too many open files bug |
| * Added setFileDetector to RemoteWebDriver to allow files to be uploaded to the remote server |
| * Faster error reporting if chromedriver isn't executable |
| * FIXED: Occasional ClassCastExceptions |
| * FIXED: Proxy configuration NullPointerException problem |
| * FIXED: 1326: Allow parallel execution of FirefoxDriver on Linux with native events |
| * FIXED: 384: Fixed native FirefoxDriver crash on some 64-bit linux systems |
| * FIXED: 417: Allow @FindBy annotations to be put on List<WebElement> as well as just WebElement fields |
| * Added native event support for Firefox 7 |
| * Added constructor to ChromeDriver that lets you specify the ChromeDriverService as well as the DesiredCapabilities |
| * FIXED: By.linkText now always trims leading and trailing whitespace |
| * FIXED: Issues with doubleClick in Firefox |
| |
| RC |
| * FIXED: 1934: -singleWindow works for *iexplore |
| * Selenium Server params work with RC Grid configuration |
| * Adding support for Firefox 8 |
| |
| v2.7.0 |
| ====== |
| |
| WebDriver |
| * FIXED: 2487: FirefoxDriver no longer types in the URL bar. |
| * FIXED: Issues to do with not clicking on elements out of view when using |
| native events. |
| * FIXED: 2456: Double click and get no longer hangs Firefox. |
| * Improved emulation of Selenium RC when using Opera in the |
| WebDriverBackedSelenium. |
| * FIXED: 2421: Chrome returns doubles instead of ints because it supports |
| sub-pixel rendering. |
| |
| RC |
| * FIXED: #2413: "Missing space between browser name and custom path in error |
| message" |
| * FIXED: 2390, 2477: Make -h a synonym for -help |
| |
| Automation Atoms |
| * Allow bot.dom.getInViewLocation to scroll a specified location into view. |
| |
| |
| v2.6.0 |
| ====== |
| |
| WebDriver |
| * Better handling of the case where emphemeral sockets are exhausted. |
| * More widespread use of the InvalidSelectorError in Chrome and Remote. |
| * When using native events, prevent firefox from scrolling if an element is |
| already in the view. |
| * Improvements in the mouse emulation (movement, click, double click, context |
| click) |
| * Bumped included version of OperaDriver to 0.7.1. |
| * Attempt to address issue #1443 (the infamous "getWindow() == null" problem) |
| * Added timing information to WebDriver exceptions resulting from command |
| invocations in the remote driver. |
| * Added an ExpectedConditions class with common ExpectedCondition |
| implementations. |
| * Better usage of sockets in the remote webdriver |
| |
| RC |
| * WebDriver-backed Seleniums will now clear text fields before typing. |
| |
| Grid |
| * Significantly improved thread safety. |
| * Improved information on the index page of the hub. |
| |
| Automation Atoms |
| * bot.inject.executeScript* handles function arguments better. |
| * Add atom to get the frame index of a frame element (bot.frame.getFrameIndex) |
| * Added emulation of touch devices and events |
| * Use DOM Events level 2 and 3 for events IE if available |
| |
| |
| v2.5.0 |
| ====== |
| |
| WebDriver |
| * Firefox 7 support without Native Events |
| * Implementing scrolling past the viewport for Firefox |
| * FIXED: 1020: Clicking on a link over multiple lines in Firefox |
| * Minor cleanups of code |
| |
| Grid |
| * FIXED: Thread Safety Issues |
| |
| |
| |
| v2.4.0 |
| ====== |
| |
| WebDriver: |
| * Firefox 6 support. |
| * Change in the wire protocol to bring alert checking inline with the |
| semantics of other commands. |
| * Improved text handling: non-breaking spaces are now returned as spaces, even |
| in the middle of an existing body of text. |
| * Minor fixes for detecting whether elements are visible. |
| * Added handling of lists and maps in EventFiringWebDriver.executeScript(). |
| * FIXED: 2158: Fixing HtmlUnit select element getAttribute behaviour for |
| "multiple" attribute. |
| * Better handling of cookies in the remote webdriver (particularly Chrome) |
| * FIXED: Thread safety issues. |
| * Added clear app cache to the wire protocol. |
| |
| |
| Selenium: |
| * Firefox 8 support. |
| |
| |
| v2.3.0 |
| ====== |
| |
| WebDriver: |
| * Better detection of clickable areas in Firefox. |
| * Alert handling works in Chrome. |
| * Merge of Google-contributed code into the underlying Atoms. |
| * FIXED: Internet Explorer crashes when an element has empty text and getText called. |
| * FIXED: IBM JDK throws different exception when unable to bind to a socket. |
| |
| |
| v2.2.0 |
| ====== |
| |
| Selenium RC: |
| * Avoiding double quoting the "method" when captured network traffic is |
| returned via XML. |
| |
| WebDriver: |
| * relatedTarget now set on appropriate events (mouseover, mouseout) |
| * Multiply wrapped WebElements now unwrapped properly when using the remote |
| webdriver |
| * RemoteWebElement will reuse an ID if the element has been looked up before. |
| * Better warnings for emulated Selenium methods "allowNativeXpath" and |
| "useXpathLibrary" |
| * More consistent errors when an xpath expression returns something that is |
| not a WebElement (indicated via the InvalidSelectorException. |
| |
| Grid: |
| * Adding support for a "host" variable in the config files. |
| * Additional logging |
| |
| |
| v2.1.0 |
| ====== |
| |
| WebDriver: |
| * Round to 0 if something looks like it's off the edge of the screen when |
| calculating distances. Fixes issue 1776. |
| * Deleting the deprecated TimeoutException inner class and replacing with the |
| top-level one |
| |
| Grid: |
| * Properly form the HTML output for console display. |
| * Track when a session has become orphaned. I.e., when the client sends no |
| commands after the initial session creation. This almost always indicates |
| the client is no longer connected and the session is unusable immediately. |