Index: lams_tests/lib/selenium-2.45.0/CHANGELOG =================================================================== diff -u --- lams_tests/lib/selenium-2.45.0/CHANGELOG (revision 0) +++ lams_tests/lib/selenium-2.45.0/CHANGELOG (revision dda1ec2cf52bc20a6fefae3401a6de11324e9a6f) @@ -0,0 +1,1725 @@ +v2.45.0 +======= + +Important changes in this release: + +* Native events in Firefox relied on an API that Mozilla no longer + provides. As such, fall back to synthesized events on recent Firefox + versions. + +Other changes: + +* When Selenium is unable to interact with an element, such as the + case when an element is missing or disabled, this change will output + exactly how Selenium is attempting to locate the element, such as + the XPath or id of the element. This greatly speeds up + troubleshooting issues, as the exception message clearly states what + element is broken/missing for common problems like an + ElementNotFoundException. +* improve ByCssSelector#toString +* Remove automatic installation of the SafariDriver in Java. +* Complete Selenium Java Server support for Blink based Opera +* Upgrading PhantomJS driver +* Pull HttpClient implementation details out of HttpCommandExecutor. +* Fix issue 8254: Extensions were incorrectly transferred between + Windows client and Linux grid node, because ZipEntry had incorrect + name with '\' as separators. +* Adding capabilities and browser type for Opera Blink, and + configuring tests to run in Opera Blink +* Adding support for Blink-based Opera to Java binding +* Adding Yosemite platform +* Allowing to set an arbitrary platform capability even if it can't be + converted to Platform enum. Non-standard platform values can cause + matching issues on Grid, but they can be usable for third-party Grid + implementations +* Taking XML namespaces into account when searching by XPath. Checked + to work in Firefox. Chrome supports namespaces out of the box. Need + to update IE and Safari drivers to use the updated atom and test + them carefully. + +v2.44.0 +======= + + * Updating Native events to support Firefox 24, 31, 32 and 33 + * Update calls to deprecated guava methods. + * Remove the deprecated DatabaseStorage interface. And callers. Note that the browser implementations may still have an implementation of these interfaces, but nothing in the main project implements it so we should be okay. + * Bump the version of guava to 18 + * Bringing MarionetteConnection in line with the current marionette state (FF33) + * Add new tests for some wait conditions Also add the ExpectedConditionsTest to the test suite. + * Update FindBy annotations description + * Moving last part of browserlaunchers package from client to server + * Moving Proxies utility class to server + * Moving LauncherUtils to the server + * Moving utility method isScriptFile to the only class where it is needed + * Deleting tests for removed deprecated classes + * Moving more RC stuff to the server + * Moving tests too + * Moving proxy management stuff to the server, it is used in RC browser launchers only + * Using asMap as well as toMap to convert an object to Json + * Using JsonNull.INSTANCE instead of null + * Removing deprecated classes + * Log stacktrace. Adds more info on catch to be put into the log instead of just console. This will help debug issues when one has access to grid hub log but no access to console. + * Remove unused static import of Ignore.Driver.HTMLUNIT. + * Remove obsolete ChromeOptions code. + * trim() HTTP response content because some drivers send back a response containing trailing null bytes, which the GSON parser does not like. + * If JsonParser.parse() fails to parse a string obtained from a reflective call to a toJson() method, assume it is a primitive string. + This is the case for, e.g., FirefoxProfile.toJson(), which returns a base64-encoded zip file. That string likely contains at least one '/', which the Gson parser rejects. + * Fixing SessionId from json converter to better handle the case of null sessionId + * Fix the Eclipse config. The new gson dependency wasn't added. Now is :) Also switched a call in HtmlUnitWebElement to use guava rather than commons-lang since that's already included in the build configs for both Buck and CrazyFun. + * Get the Buck build working again. + * HtmlUnit: add text to the end of input fields. This makes the htmlunit driver work as the other drivers do. + * HtmlUnit: Fix getAttribute for dynamic properties. + * Enable Html5CapabilitiesTest for HtmlUnit + * Fix classpath for running tests in eclipse This allows the htmlunitdriver tests to run in Eclipse. + * Fixing broken CrossDomainRpcLoader + * Implementing autoconverion of platform in Capabilities on write + * Moving from org.json to gson because the license. Fixes issue 7956 + * Revert "Bump the version of webbit to 0.4.15" + * Optimizing finding multiple elements by id by using CSS selectors if available. Fixes issue 7682 + * Fixing WDBS compatibility with IE5. Fixes issue 7938 + * HtmlUnitDriver: Initial code cleanup. + * Eclipse classpath fixes for htmlunit. + * Deflake a test. + +v2.43.1 +======= + + * Fixing socketlock bug with reusing the same profile multiple times + +v2.43.0 +======= +WebDriver: + + * Updating Native events to support Firefox 24, 31 and 32 + * Add note on stale element checks and a WebElement represents a DOM element + * Upgrade third party dependency JavaScript-XPath to 0.1.12 + * Fix example code: "using(-Chrome)DriverExecutable" + * Make event_firing_test.html pass in Firefox 24 ESR. + * Fix an error propagation bug when a command fails from bad inputs. + * Handle the case where a proxied element from PageFactory causes a FluentWait to timeout. + * Integrating the Microsoft Internet Explorer driver implementation + * Allow subclasses of HttpCommandExecutor to extend it at runtime. + * Handle the case where executeScript returns an HTMLDocument. + * IEDriver crashes in WaitUntilElementFocused() because of null pointer. Fixes issue #7577 + * Deprecate the original RC interface in Selenium. + As part of Selenium 3.0, we shall be moving the original RC interface to a + legacy JAR that will be available as a separate download. As the first step + in this process, the original "Selenium" interface is being marked as + deprecated. + * Run FirefoxDriver tests with Buck. + * Bump timeout for tests since a suite is also a test. + * Run htmlunit-driver tests with Buck. + * Run the ignored tests printer with Buck. + * Get org.openqa.selenium.SmallTests building with Buck. + * Working around limitations in subpixel precision event handling. + + The bug/limitation where browser supports subpixel precision for elements but not for dispatched events was found in both modern Chrome (http://crbug.com/396380) and Firefox (?) browsers. + (IE doesn't seem to be affected: before and including IE9 - no subpixel for elements and events; from ie10 - subpixel is supported for both elements and events). + + This test was lucky so far (mostly?) and didn't hit this issue, until Chrome 37 that enabled subpixel text scaling by default. + + This change makes *sure* elements have subpixel coordinates (if only browser supports'em) and then it makes sure this test doesn't fail because of that (while still testing selenium atoms). + + While there, I moved asserts from event handlers into the normal test flow so jsunit can properly attribute assertion failures to specific test methods. + * Updating prebuilt libs for windows + * Re-add the rubyzip jar + * updating prebuilts for linux + * Updating to gecko 32 + * Log formatter should be able to work with empty keys array. Fixes issue 7357 + * Fixing infinite read from socket. Fixes issue 7814 + * WDBS: safe check for window.localStorage + * Driver should operate cookies for the current frame, not the topmost one. Fixes issue 7799 in + Firefox + * Actually supporting promised Id for webdriver.WebElement. + * Adding more checks for JS functions removed from IE11. Fixes issue 7803 + * Fixing use of deprecated API in httpclient + * Fixing use of deprecated API in guava + * Update Closure library to head and compiler to the latest release + * Implementing ability to use FirefoxDriver on a machine where localhost is not the first alias for + 127.0.0.1. Fixes issue 3280 + * Handle null and empty paths the same as / + * fixing maven build, adding reference to jetty-rc-repacked-5 + * adding pom and info on uploading jetty-repacked-5 to maven central + * Adding checks for JS functions removed from IE11. Fixes issue 7780 + * Deleting what appears to be unused deps. + * Add more options to the Builder API (every common, settable capability should be covered). + * Require calling Builder.usingServer(url) to use a remote server. If this is not called, the + builder will attempt to create a client locally, throwing an error if it can't (e.g. for IE). + * Add browser specific constructors to simplify creating a client without the Builder. + Fixes issue 7593 + * Updating json-cpp lib and replacing mongoose web server with civetweb. + * Safari is flaky. Reducing timeout to fail faster when we're going to fail. + * Catch driver start-up failures. + * Add explicit API for configuring log prefs rather than forcing users to rely on + magic capability strings. + * Clean up internal Firefox logging API. + * Use LogLevelMapping to convert JSON wire protocol name to Level instance. + * Make the jettyMaxThreads parameter actually be effective + * Fix NullPointerException when File#listFiles() returns null. Fixes issue #1934 + * Making WDBS.start command a no-op if it was instantiated with an already started driver. Fixes issue 3993 + * Handling possible exception in stringification of window.location. Fixes issue 3908 +* Modified IE driver server to more closely follow W3C spec + + This commit includes a number of changes designed to bring the IE driver + into closer alignment with the W3C WebDriver specification. It provides + no functional changes to the driver, nor does it change any external- + facing API. The changes are: + * Changed webdriver::Server to examine the response from the newSession + command for the session ID rather than a two-stage process. The + webdriver::Server::DispatchCommand method now calls the + InitializeSession method directly when processing the newSession + command. + * Removed the now-obsolete webdriver::Server::CreateSession method. + * Added a Serialize/Deserialize method pair on the webdriver::Command + class (renaming the Populate method to Deserialize). + * Revamped the serialization of webdriver::Command to use 'name' instead + of 'command' for the command name. + * Added a session ID member to the webdriver::Command object. + * Modified the webdriver::Command object to no longer draw distinction + between parameters passed in as part of the URL substitution and those + passed in as part of the JSON payload in the body. + * Modified webdriver::CommandHandler::ExecuteInternal (and all subclass + implementations to use a single parameters map instead of the dual + URL tokens/JSON payload parameters maps used previously. + * Propagate webdriver_firefox_port preference to FirefoxDriver, was being ignored. Fixes issue 5172 + * Adding a new selenium server option -logLongForm to log more details to the console. Fixes issue 6645 + * Handling possible IllegalStateException while cleaning orphaned and timed out sessions. Fixes issue 6771 + * Setting forwarded content for CommandListener afterCommand handler. Fixes issue 7443 + * Fixing the list of extensions to search for an executable on Windows, and logging process startup + errors. Fixes issue 7514 + * Setting layout.css.devPixelsPerPx to 1.0 if native events are enabled only. Fixes issue 7445 + * BODY element is always shown/displayed. + related section in the W3C spec: + https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#determining-if-an-element-is-displayed + * Implementing switchToParentFrame support in atoms + * Setting HtmlUnit to emulate FF24 by default + * Updating HtmlUnit to 2.15 + * Stop polluting the log with stacktraces. Fixes issue 7460 + * Returning less specific platform info from firefox driver. Fixes issue 3354 + * Adding driver info into TimeoutException thrown by WebDriverWait. Fixes issue 7429 + * Implementing switchToParentFrame command for IE driver + * Adding URL endpoint for switchToParentFrame + +v2.42.2 +======= +WebDriver: + + * errorHandler needs to be instantiated. Fixing NPE with IEDriver Issue #7415 + +v2.42.1 +======= +WebDriver: + + * resorting context endpoints, belong with mobile spec + * re-added Context endpoints to java client + * allow custom ErrorHandler for HTTPCommandExecutor + * fixing toJSON of chrome options where equal options become unequal. + +v2.42.0 +======= +WebDriver: + + * updating firefox prebuilts, thanks jleyba for fixing the build! + * Use PRUnichar for Gecko < 29, char16_t otherwise. + * Updating third_party/py/jython.jar to Jython 2.5.3 + * Removing unused functions + * Implementing more straightforward way to send keyboard events in synthesized mode. Fixes typing into number inputs and rich text editors (like tinymce) + * Fixing interactions API in Firefox to be able to move mouse to elements in frames using native events. Fixes issue 7253 + * Removing unused import + * Refactoring: moving an auxiliary class from the top level to inner class + * Removing outdated getValue command handler + * Change ClearElement to be a subclass of WebElementHandler instead of WebDriverHandler + * Removing outdated (unused) command constants + * Fixing clicks on invisible elements in HtmlUnitDriver broken by ElementNotVisibleException being a subclass of InvalidElementStateException + * Click after move with offset should use last mouse position + * Adding new interface methods to the stubs + * Preserve wrapped test function's string representation for Mocah's BDD interface. + * Fixing IE driver to allow JavaScript objects with property names with spaces + * Ignoring IE6-only test failure for CSS + * Bump the hmltunit version to 2.14 + * Remove a class of our which replicates HTTP status codes already given meaningful names in the standard JRE. + * Updating version match for native libs in firefox plugin manifest file + * Updating native events dll for FF28 + * Implement ability to load driver providers using ServiceLoader. A user can add new providers or override existing ones. To use this ability a user should: + * Refactoring the process of driver instances creation to use a new DriverProvider interface. DefaultDriverProvider wraps the current logic -- creating instances using reflection. This is a step to implement ability to load additional providers using ServiceLoader that can add new providers or override existing ones. + * Ruby: Fix for extensions whose install.rdf uses an attribute for em:id (issue 5978) + * fixes issue for locating newly installed chrome versions + * Fixing IE driver crash when clicking on link that opens a new window. + * Properly configure the http client in the presence of user credentials. + * java json converter chooses Long (Number base class). Fixing RemoteNetworkConnection + * SUPPORTS_BROWSER_CONNECTION was removed, missed a reference + * Clean up use deprecated methods & classes. + * ElementNotVisibleException is a type of InvalidElementStateException. + * Tweak messaging on SafariDriver client page to better reflect what is happening. Also added a log message pointing users to the toolbar button that opens the driver log page. + * Remove some no-op calls to deprecated functions. + * Pull the logic for converting Command/Response pairs to and frame HTTP request/response pairs into a common codec instead of duplicating the logic on the client and server. + * Change some tests to use Alert#accept() instead of Alert#dismiss() to get rid of alert dialogs. This is a workaround to ChromeDriver issue 764: + * When running tests against the remote server, ignore two tests that use required capabilities. The remote server only supports desired capabilities on new session requests. + * Update two tests to work when running with a remote server, where the original js error will be the root exception, but not necessarily the second error in the cause chain. + * Test if we need to skip cookie tests for lack of a valid domain name before calling a method that asserts we have a valid domain name. + * Convert HttpRequest/Response to POJOs; handle all conversion to and from HttpServletRequest/Response inside DriverServlet. + * Every command handler returns ResultType.SUCCESS and those handlers that return an actual value do so through a level of indirection. This commit changes command handlers to just return results directly to the caller, making it possible to delete a lot of unnecessary code. + * Move static resource serving code into DriverServlet. It is not part of the JSON wire protocol and including it in the command dispatcher complicates planned refactoring and other code cleanup. + * Mobile - Network Connection implementation for Java and Python. + * ChromeDriver 2.10.267517 binds to the loopback address instead of 0.0.0.0, so only attempt to connect using the loopback address. + * Code comment changes for wait() + * added task name to SCHEDULE_TASK event + * Eclipse compiler update for Java 8 support + * Updating naive user agent string checks to account for IE11 + * Adding Windows 8.1 detection to Platform.extractFromSysProperty + * retry a test failure if there was a 'sauce' issue, like we exceeded the total time a test session is allowed to take. + * adding Windows 8.1 platform, so we can use it in saucelabs for IE11 testing + * Remove deprecated functions on webdriver.promise.Promise class * Use templates with webdriver.promise.Promise to improve types documentation. + * Loosen input type to webdriver.stacktrace.getStack_ to account for an rare condition in FF 28+ where the Error() constructor returns undefined (not sure what causes it, just know it happens) + * Add ability to save an abitrary base64 string as a screenshot from a WebDriverJS test running in a browser. + * When Firefox is configured to accept all SSL certs (which is the default behavior), we need to set a time offset to prevent Firefox from using HSTS (HTTP Strict Transport Security). If we don't do this, Firefox will pre-fetch the certs for sites that should always be accessed over HTTPS and allows Firefox to catch man-in-the-middle attacks. While this is A Good Thing for users, it prevents WebDriver from accepting self-signed certs for these domains (e.g. when they are accessed through a HTTPS proxy). + * Remove unnecessary dependency on bouncycastle. + * Making ChromeDriver directly implement the interfaces representing features it implements. + * Updating build process for Firefox native events components to use gecko 29 SDK + * Updating buck version to latest OSS release + * Use addEventListener if possible. Fixes issue 6680 + * Packaging webdriven selenium (emulator) to client-combined jar. Fixes issue 7206 + * Don't use system path separators when computing URL paths. + * Make Cookie serializable + * Ignoring a test for HtmlUnitDriver that can't be run due to HtmlUnit restrictions + * Allowing FindBy, FindBys, FindAll annotations on types + * Minor cleanup FirefoxBinary.java + * Adding Firefox native event version support to CHANGELOG + * Adding version number to the capabilities returned by htmlunitdriver. Fixes issue 7110 + * Implementing augmentation indicator as an annotation + * Error handling for startSession is handled in the parent class now. + * Remove deprecated functions. + * Revert "Fixing Java 8 incompatibility caused by use of old jruby" because it breaks java 7 compatibility :( + * Fixing Java 8 incompatibility caused by use of old jruby + * Export logging API from main webdriver module. + * Setting pixel density to be independent from OS settings. Fixes issue 6112 + +v2.41.0 +======= +WebDriver: + * Update to support native events for Firefox 28 (removed native event + support for Firefox 26). Native events are now supported for the + following Firefox versions: + + 17 (immediately previous ESR release) + 24 (current ESR release) + 27 (immediately previous release + 28 (current release) + + * Fixed capabilities to be sent properly encoded. For instance, + capabilities for mobile have copyright signs. + * Renamed some commands in the Firefox driver to prepare for Selenium + 3. This essentially means that we're mirroring the names of the + commands in the function names within the driver. Also implemented + handling a Selenium 3 style "sessionId" in a Command received by a + Selenium 2 server. + * Implemented support for switching context as described here: + http://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile#133. + This feature will be used by mobile WebDriver users to switch + between different contexts like the native or the webview UI element + tree. The feature is end to end tested with latest Selendroid + snapshot version (6a126ab). In the langauge bindings, this is + implemented as a role-based interface. Subclasses of RemoteWEbDriver + that need this should extend TargetLocator and use covariant return + types to keep everything happy and sweet. + * Removed InternetExplorerDriver constructor that accepts + WindowsProxyManager as a parameter. Proxy management moved to + IEDriverServer and WindowsProxyManager is used for RC only now. + * Removed use of VK_ENTER since its been removed from Firefox. PUA + code uses VK_RETURN now like Mozilla Tools. + * Added switch to parent frame command to the wire protocol and API. + * Added httpOnly flag to Cookie JSON object. + * (on behalf of Tobias Lidskog): Added property for silencing + chromedriver. The Java property "webdriver.chrome.silentOutput" is + now used to set the default value for silent mode in chromedriver + using the ChromeDriverService class. This is analogous to the + existing system property for controlling verbose mode. + * (on behalf of Yi Zeng): Updated download link to googleapis.com + * Reduced the visibility of a deprecated class in the htmlunit driver. + * Removed deprecated FirefoxProfile.setProxyPreferences method. + * Removed deprecated ChromeOptions.setExperimentalOptions + * FIXED: 4843: (on behalf of Jonatan Kronqvist): Regard all modifier + keys in SingleKeyAction. An earlier commit added META, but COMMAND + and LEFT_* were left out as they were misinterpreted as aliases, + which they aren't (they onlyuse the enum definition to get the same + character code of the keys). + * FIXED: 5331: Added javadoc to JavascriptExecutor executeAsyncScript + about the default timeout. Also added some extra information on + troubleshooting common issues. + * FIXED: 7014: Fixed parameters parsing. + * FIXED: 7033: Fixed javadoc. + +WebDriverJS: + * FIXED: 7105: Properly bind "this" for beforeEach/it/afterEach in + mocha integration. + +Grid: + * Modified to ignore exceptions during the clean-up process if failing + to start a RemoteWebDriver instance. + * FIXED: 6770: Setting a timeout when Jetty has low resources to + prevent hub from hanging. + * FIXED: 6771: If a session times out and the browser was never + started, it should still be cleaned up on the hub side. + BeforeRelease should then be a no-op and not throw. + * FIXED: 6772: Added a configuration parameter to set the number of + threads Jetty uses. Default is -1, which implements the current + behavior (255 threads from Jetty's default settings) + * FIXED 6773: Consuming the request in all cases to properly release + resources. + * FIXED: 6811: Clean up immediately if starting a driver or session + errors in RemoteWebDriver. + * FIXED: 6878: Actually pass the response body to CommandListener + implementations, per the interface contract. + * FIXED: 7047: Updated a grid timeout property that seems to have been + overlooked in a previous cleanup. + +RC: + * Added lost quotes in JSON format (RC). + * Removed old version of Selenium RC emulation and leaving the new one + in place. + +v2.40.0 +======= +WebDriver: + * Update to support native events for Firefox 27 (removed native event + support for Firefox 25). + * Removed the iPhone driver. Also leaving the atoms available, so that + appium and iosdriver can use them. + * Deleted the client side of the AndroidDriver. Note that the atoms + are still left in place so that Selendroid can still be compiled. + * Make the RemoteWebDriver implement TakesScreenshot. There's only one + driver that doesn't implement the interface (the HtmUnitDriver) and + this is the most common cause for using the Augmenter, which isn't + very discoverable. + * Imported PhantomJSDriver 1.1.0, removing 1.0.4 (previous version). + * Implemented augmentation of previously augmented instances + * Fixed JdkAugmenter's inability to add interfaces that are already implemented + * Removed org.openqa.selenium.net.INetAddress, an unnecessary abstraction + around java.net.InetAddress. + * (on behalf of Tobias Lidskog) Add ability to send --silent flag to + chromedriver. + when building an inverted predicate. + * Implemented part of advanced user interactions using injected atoms + * Fixed HtmlUnitDriver to handle timeout exception on refresh. + * Implemented page load timeouts in Firefox without stopping page + loading. + * Implemented pageLoadingStrategy capability in Firefox. + * Migrated the WebDriverBackedSelenium to + com.thoughtworks.selenium.webdriven. This also leaves behind a + deprecated implementation of each of the key interfaces to ease + migration for users. + * Implemented proper error code for the case of invalid css selector + empty class name, and compound class name in atoms. + * Implemented alert and confirmation handling in WDBS (Java) + * Throw a more descriptive error when typing in certain types of input + elements in Chrome. Starting with Chrome 33, certain types of input + elements do not support the selection API (in fact, they throw when + you try to access the property). This prevents us from fully + simulating typing in the atoms. + * FIXED: 2397: (on behalf of TommyBeadle) Fixed exception handling + * FIXED: 3991: Add Keys.chord(Iterable) as a utility + method. + * FIXED: 4606: Stop web page loading after timeout. + * FIXED: 4843: (on behalf of Jonatan Kronqvist) Keys.META is now + regarded as modifier key in SingleKeyAction. Keys.META, Keys.COMMAND, + Keys.LEFT_ALT, Keys.LEFT_CONTROL and Keys.LEFT_SHIFT are now also + regarded as modifier keys in SingleKeyAction (because of their + aliases). + * FIXED: 5397: Disabled validation of cookies loaded from the browser. + If the browser could parse the cookie we are to be able to provide + this information to the user even if the cookie is inalid. + * FIXED: 5859: Implemented keyDownNative, keyUpNative and + keyPressNative in WDBS. These commands are implemented via Actions. + * FIXED: 6512: When the host is unknown, make the HtmlUnitDriver + return an error page. + * FIXED: 6657: Make the LoggingPreferences implement Serializable. + * FIXED: 6681: Preventing augmentation of subclasses of RemoteWebDriver. Fixes + * FIXED: 6830: (on behalf of GeorgeKlinich) Urlencoding result + returned by server implementation of WebDriverBackedSelenium. + * FIXED: 6834: Creating sesion cookie if expiry is not set. Fixes issue 6834 + * FIXED: 6947: Script timeout should get reset even when async + callback is called synchronously. + +WebDriverJS: + * For consistency with Closure's new promise API, use thenCatch() + and thenFinally() instead of addCallback(), addErrback(), et al. + * ResultType.EXCEPTION and ResultType.ERROR are handled the exact same way, + so remove one of them and simplify some code. + * Treat promise.fulfill/reject as no-ops instead of throwing if the + promise has already been resolved. + * Added some utility functions to simplify working with arrays of + promises. + * FIXED: 6826: Add support for custom locators in webdriverjs. + +Grid: + * FIXED: 4589: Restrict the host where grid hub is listening if -host + option is specified. + * FIXED: 6445: Shorten string representation of capabilities in the + hub log and grid console. + +RC: + * Deprecated browser launchers for dead versions of firefox. + +v2.39.0 +======= +WebDriver: + * Update to support native events for Firefox 26. + * Removed server side of iPhone driver. + * Removed server-side of AndroidDriver and deprecating client side. + +WebDriverJS: + * FIXED: 6686: Changed Deferred#cancel() to silently no-op if the + deferred has already been resolved. + +v2.38.0 +======= +WebDriver: + * Update to support native events for Firefox 25. + * Updated httpclient and httpcore maven dependencies + * When moving the mouse relative to an element hidden in a parent's + overflow region, that element must first be scrolled into view + before the mouse move can be completed. + * Removed WindowsProxyManager from InternetExplorerDriver, proxy + management is implemented in IEDriverServer now. + * The logging level for the FirefoxDriver's native components can now + be set from the command line with the SELENIUM_LOG_LEVEL + environment variable. Valid values are ERROR, WARN, INFO, DEBUG, + and TRACE. If the value is not set, or an unrecognized value is + specified, the log level will be set to FATAL (which was the + previous behavior). + * Implemented ability to return Date object from executeScript + (Firefox only). + * Fixed Firefox returning the actual state of nativeEvents. + * Made it possible to switch the webdriver.xpi from the command line + using a system property. + * Removed hardcoded chromedriver version + * SafariDriver WebElement#getTagName() should return a lowercase + string. + * If ChromeDriver fails to start, suppress any exceptions from the + subsequent "clean-up" quit() so the error from start is not lost. + * Added an alternate, and Android-friendly, implementation of the + Augmenter that uses JDK interface proxies instead of cglib. This + new implementation is available as org.openqa.remote.JdkAugmenter; + the default Augmenter implementation still relies on cglib. + * Prevented an infinite loop when computing overflow state when the + documentElement has fixed position. + * Improveed logging for UnixProcess#destroy(). + * If an error is thrown while typing a key sequence, return that + error to the client. Prior to this change, the driver would + effectively hang. + * Do not attempt to generate a key event if the target element is no + longer attached to the DOM. nsIPressShell (which is used to + dispatch events) will throw a generic NS_UNEXPECTED_ERROR if we + fail to make this check. + * FIXED: 3107: (On behalf of Ross Patterson) Preventing possible NPE. + * FIXED: 4501: (On behalf of Robert Ambrus) Introduced a system + property org.openqa.jetty.SocketListener.bufferSize that allows to + set the size of the buffer Jetty uses for network communications. + * FIXED: 4698: Added missing expected conditions. + * FIXED: 5295: User defined element properties should be retrievable + with getAttribute. + * FIXED: 5900: Revamped the SafariDriver's internal networking. + * FIXED: 6294: Implemented ability to switch to a frame by id or name + in WDBS. + * FIXED: 6358: Disabled Content Security Policy in Firefox. + * FIXED: 6414: Fixed the way EventFiringWebDriver unwraps the + underlying driver. + * FIXED: 6431: Catch an exception thrown if the chrome executable is + not found and stop chromedriver before propagating it. + * FIXED: 6445: Shortened Firefox profile textual representation in + capabilities. + * FIXED: 6473: Implemented ability to pass --verbose option to + chromedriver. + +WebDriver JS: + * Always annotate errors for rejected promises + * FIXED: 6284: Omit x/y offsets from the mouseMove command instead of + defaulting to (0,0). + * FIXED: 6471: Correctly document the contract on + WebElement#getAttribute + * FIXED: 6612: On Unix, use the default IANA ephemeral port range if + unable to retrieve the current system's range. + * FIXED: 6617: Checking for Error.captureStackTrace is sufficient to + determine if an environment supports stack traces. This avoids + unnecessarily triggering debuggers configured to halt when an error + is thrown. + * FIXED: 6627: Safely rebuild chrome.Options from a partial JSON spec. + +Grid: + * FIXED: 6357: Added PhantomJS icon to the grid console. + * FIXED: 6392: Removed misleading log messages. + +RC: + * FIXED: 1666: Fixed typo in RegExp.test function name. + * FIXED: 1758: Ignoring closed windows when collecting attributes + from all windows (RC). + * FIXED: 2508: Fixed screenshot size calculation for quirks mode (RC) + * FIXED: 2845: Moved storedVars from test case level to test suite + level. + * FIXED: 3185: Fixed JSON converter (RC). + * FIXED: 3270: Fixed switch to window by var= locator (RC). + * FIXED: 5103: Fixed screenshooter in Firefox and Selenium RC, + limiting the size of the screenshot to pevent failures. + * FIXED: 6496: Enabled .htm and .xhtml extensions for test suites. + +v2.37.0 +======= + * Fix Firefox native event support on Linux for 23 & 24. + +v2.36.0 +======= +WebDriver: + * Updated Firefox native event components to support Firefox 24. + * Updated HtmlUnit to 2.13. + * Updated HttpClient to 4.3. + * Updated version of Guava to 15. + * Updated version of wgxpath. + * Return an empty string instead of "null" when the browserName and + version capabilities are not set. + * Stop propagation of the webdriver-evaluate custom event when + executing user supplied JavaScript. Without this change, the event + handler will trigger twice for async scripts, causing the driver to + attempt to evaluate the user script twice, leading to unpredictable + behavior. + * Added a new pause action to the interactions API. + * Improved support for using the HTML5 APIs through the remote + server by augmenting the session driver before attempting to + access HTML5 capabilities. If the driver does not support the + requested feature, throw an UnsupportedCommandException instead of + a ClassCastException. + * Implemented elementScrollBehavior capability in FirefoxDriver. + * Fixed getLocation to work on scrolled pages. + * Fixed autoscrolling for elements located in frames. + * Fixed drag-n-drop for elements in frames in Firefox with native + events + * Implemented SOCKS proxy support for FirefoxDriver + * Fixed support for SVG documents in the atoms. + * Fixed computing an element's container dimensions to account for + the scrollbar size when scrolling + * FIXED: 2670: Made subclasses of By serializable. + * FIXED: 6200: Pass command line arguments to the Selenium server + instead of to the JVM. + * FIXED: 6293: Added more informative error message. + * FIXED: 6346: Allow args to passed to the JVM using the jvmArgs + option. + +Grid: + * Added ability to fetch slotCounts from /grid/api/hub. The resource + looks like this: + + { "slotCounts": { "total": 20, "free": 8 } } + + * Added ability to fetch newSessionRequestCount from the + /grid/api/hub resource. + + +v2.35.0 +======= +WebDriver: + * Updated Firefox native event components to support Firefox 23. + * Removing deprecated interactions interfaces (Keyboard, Mouse, + TouchScreen). + * Updated operadriver to 1.4. + * Introduced ie.setProxyByServer capability to select how IE browser + proxy will be set up, either by old Java code using Windows + registry or inside IEDriverServer using WinINet methods. This + capability is marked as deprecated and will be removed in future + versions. In the future, IE proxy settings will be set up only by + IEDriverServer. Current default value of ie.setProxyByServer is + false so Windows registry will be used for IE proxy setup. + * Guarded around IE returning an empty object for the active element. + * FIXED: 6055: Fixing "invalid xpath" issue, actually invalid NS + resolver. + +WebDriver JS: + * FIXED: 6079: The parent process should not wait for spawned driver + service processes (chromedriver, phantomjs, etc.) + +v2.34.0 +======= + +WebDriver: + * Updated Firefox native event components to support Firefox 22. + * Update synthesized mouse implementation. Mouse moves are + implemented using nsIDOMWindowUtils. + * Finding libX11.so.6 in a slightly more intelligent way: Check that + dlopen actually succeeds, if not found in one of the fixed paths, + look in the LD_LIBRARY_PATH. + * Added ExpectedConditions to check for the visibility of all + WebElements in a List + * Updated the wgxpath library. + * Updated our copy of the Closure compiler and library to the most + recent versions. + * Updated the atoms library, including support for MS pointer events + and refinements to element visibility tests. + * Close all open connections when stopping the SafariDriver server. + * Fall back to a loopback address if the current machine does not + have an external IP address (as will be the case when there is no + internet connection). + * Remove sizzle dependency from the firefox driver. We only needed + this for versions of firefox prior to 3.5, which we no longer + support. + * Fixed Select.escapeQuotes method. + * Added SafariOptions and support for custom Safari extensions. + * Moved Mouse, Keyboard and TouchScreen to the interactions package + where they belong. This has the benefit of also making our build + files simpler once we delete the original versions which have been + deprecated. + * Deprecated the HasTouchScreen interface. + * Fixed condition in Select.select_by_index method to fix case when + selection is performed by index on a multiple select element. + * Implemented an alpha version of a Marionette (WebDriver implemented + natively in Firefox) driver. + * Deprecated IPhoneDriver. + * Added support for the HTML5 "hidden" attribute. If an element, or + ancestor, has hidden attribute make, it is not shown. + * FIXED: 2285: Allow setting default logLevel for standalone-server. + * FIXED: 5609: Adding the ability to redirect firefox process output + to file. + * FIXED: 5669: Add Driver#remote_status for the Ruby remote driver. + * FIXED: 5715: Adding toString method for the event firing + webelement. + +WebDriver JS: + * When capturing console output, guard against user scripts that + redefine the console global. + * Improved logging in the test client. + * Use goog.labs.testing.assertThat for the assertThat library. + * Improved stack trace handling + * Defined a webdriver.Capabilities class for webdriverjs. + * Added native ChromeDriver support to WebDriverJs. + * Mark discarded tasks as cancelled to prevent hanging on + asynchronously scheduled callbacks. + * Include the webdriverjs tests in the built npm package. Updated + the README with instructions for running the tests using npm. + * Add native PhantomJS support to webdriverjs. + +Grid: + * Update grid for change in behavior of WebDriver's new session + command. + * Fixed handling of JSON conversion errors at node. + * FIXED: 5942: Fix hang of hub when node machine is not available. + +RC: + * Fixed RC tests failing in Firefox beta builds. This has been fixed + in two ways: + + * Rely on the automation atoms where possible. + * Obtain the document and window from the element the event is + firing from. + + In the course of fixing this, all but one usage of "triggerEvent" + was replaced. Because of this, the method has been inlined to the last + call site. + * FIXED: 1646: UTF-8 encoded user-extensions.js support. + + +v2.33.0 +======= + +WebDriver: + * getText() ignores elements in the + * Bundled OperaDriver version bumped to 1.3. + * Added a FindAll annotation for the PageFactory to use. + * Added a toString() implementation to Color. + * Deleted the Selenium-backed WebDriver. + * FIXED: 2218: IE >=9 versions triggerMouseEvent like other + browsers. + * FIXED: 2610: Implementing ability to specify path to the chrome + executable in the node configuration file using chrome_binary + capability. + * FIXED: 2685: Increasing port range for Firefox to chose from when + starting. + * FIXED: 4790: Improvements made to Firefox startup in highly + concurrent environments. + * FIXED: 5045: Added support for fetching logs from SafariDriver. + * FIXED: 5652: Adding unhandled alert text to the exception message. + * Added LogType.PERFORMANCE, supported in chromedriver2 0.9+. + +WebDriver JS: + * FIXED: 5511: Implement + driver.manage().timeouts().pageLoadTimeout(ms) for WebDriverJs. + * FIXED: 5632: It's now possible to create a new session with + WebDriverJs when running in a browser. + * Add a WebDriverJs client to the SafariDriver's logging window so + it's possible to use WebDriver from the devtools REPL on that + page. + +Grid: + + * Making "beta" console the default one, it's time to get out of + beta status + * Old console is now available at /grid/old/console/ + * Addressed memory leaks caused by per-session logging. + * FIXED: 3001: Making Selenium the default protocol if a node was + started with "-role rc" option. + +RC: + * FIXED: 3636: selenium.fireEvent works with the webdriver-backed + selenium and IE. + +v2.32.0 +======= + +WebDriver: + This release supports Firefox verions: 10esr, 17esr, 19, 20 + + * Let WindowsUtils.killPID() kill the whole process tree + * Implementing support for implicit "submit" button type in + HtmlUnitDriver. + * bug fix for python hang with 302 response + * Adding better support for SVG within Firefox. Has better scrolling + to element and allows JavaScript execution + * Fixing case of "no active element" for HtmlUnitDriver + * WindowsUtils.kill() fix on Windows 8 + * Updating HtmlUnit to 2.12 (and cssparser to 0.9.9) + * Fixing illegal negative timeout values for HtmlUnitDriver, zero + means infinite wait + * Implementing pageLoadTimeout in HtmlUnitDriver + * Allow users to specify a custom location for Safari's data + directory using the "safari.dataDir" capability. + * Fix for using DesiredCapabilities with WebDriverBackedSelenium + * PhantomJS Driver bindings updated to 1.0.3 + * Minimize the number of third party libraries used by the very + heart of the remote webdriver server. + * fix issue where server was appending '?null' to all forwarded + requests + * Issues fixed: 5293, 4902, 5283, 5278 + +v2.31.0 +======= + (summary not created, check version history logs) + +v2.30.0 +======= + +WebDriver: + * Fixing a bug introduced by a change in how we get already logged + messages from the console service in firefox. This allows us to + function with firefox 19 + * FIXED: 1181: Improved loopback detection + * FIXED: 1627: Implementing ability to use auto proxy in + HtmlUnitDriver. + * FIXED: 3652: moveToElement with offset should consider 0 as a + valid value, not as "undefined". + * FIXED: 3868: Better ephemeral port range selection. + * FIXED: 4107: Added prebuilt version of the SafariDriver extension + to the client jar. + * FIXED: 4821: WebDriverBackedSelenium works when added to project + via maven. + * FIXED: 4940, 5075: Added iceweasel to list of firefox variants. + * FIXED: 5022: Text node with overflow:hidden and height/width 0 to + not be visible since we cant see them. + * FIXED: 5030: Only send files to upload, not directories. + * FIXED: 5079: FluentWait.until(Predicate) method does not propagate + predicate message. + * FIXED: 5109: We should show elements visible if there is a pixel + visible. + * Semi-private change: Changes in the Coordinate class. + +JS: + * Update WebDriverJS to support parallel flows. This change renames + several low-level classes and functions in the promise module: + + promise.Application -> promise.ControlFlow + #schedule(string, function) -> #execute(function, [string]) + #scheduleTimeout(string, number) -> #timeout(number, [string]) + #scheduleWait(string, function, number, [string]) -> #wait(function, number, [string]) + + The old schedule* functions are still present, but will print a + warning message if called. They will be removed in 2.31. + +RC: + * Added ability to use relative path to an -htmlSuite file. + * FIXED: 3498: Proxy based browsers are back to normal on HTTPS + * FIXED: 5113: Implementing GET requests support for RC protocol. + + +v2.29.0 +======= + +WebDriver: + * Firefox 18 support. + * IEDriver supports "requireWindowFocus" desired capability. When + using this and native events, the IE driver will demand focus and + user interactions will use SendInput() for simulating user + interactions. Note that this will mean you MUST NOT use the + machine running IE for anything else as the tests are running. + * Use the "webdriver.remote.shorten_log_messages" system property to + reduce the verboseness of ouput from executeScript and + executeAsyncScript when using the RemoteWebDriver. + * Switching HtmlUnitDriver default from FIREFOX_3_6 to FIREFOX_10 + * SafariDriverExtension should restore Safari's previous settings on + shutdown. + * Bundled version of PhantomJSDriver bumped to 1.0.1 + * Updated the version of guava-libraries used to 14. + * Updated HtmlUnit to 2.11 + * Deprecated XPathLookupException in favour of + InvalidSelectorException + * FIXED: 3602: Changing IE view port calculations to allow for + always-present vertical scroll bar, and to test for horizontal + scroll bar and adjust as required by page content. + * FIXED: 4576: self registering proxy now check for user specified + proxy id. + * FIXED: 5010: icons in chrome newtab now correctly identified as + being shown. + +RC: + * FIXED: 4818: Make sure that each generated SSL cert has a unique + ID associated with it. + +Project: + * Moved to git. Most obvious in revision number in our exceptions. + + +v2.28.0 +======= + +WebDriver: + * "null" can now be passed to executeScript + * .Net: Corrected FileUtilities.FindFile() to correctly return the + current directory if the specified file is located there. + * .Net: Introduces the Updating the CustomFinderType property to the + .NET FindsByAttribute. This allows use of custom By subclasses in + the PageFactory. The custom finder must be a subclass of By, and + it must expose a public constructor that takes a string argument. + * SafariDriver: better attempts to catch native dialogs from user + defined onbeforeunload handlers. + * Updating HtmlUnit to 2.11 + * Added the PhantomJS bindings to the release. You'll still need to + download PhantomJS itself separately. + +RC: + * Implemented getAllWindowNames in WebDriverBackedSelenium + * Implemented openWindow in WebDriverBackedSelenium to allow opening + relative URLs + + +v2.27.0 +======= + +WebDriver: + * Added support for native events for Firefox 17. + * Added support for ghostdriver (PhantomJS) + * Adding new capability "enableElementCacheCleanup" to the IE + driver. When set to true, the IE driver will clean the + known-element cache of invalid elements after every page + load. This is intended to keep memory usage down and improve + performance. However, it is an intrusive change, so this + capability is provided temporarily to allow disabling this + behavior if problems arise. The default of this new capability is + "true", meaning this behavior is turned on by default. + * Added shift key handling to the synthetic keyboard actions. + * Modifying scroll behavior in IE driver SendKeysCommandHandler to + call Element::GetLocationOnceScrolledIntoView() instead of calling + the DOM scrollIntoView() function. Should result in less page + scrolling during test runs. + * Checking if CSS transforms on elements, or their parents, are + hiding them and therefore returning they arent visible. + * Add not, refreshed, invisibilityOfElementWithText to + ExpectedConditions. + * Added support for new IE10 pointer events. + * FIXED: 1543: Allowing equal sign in a cookie value. + * FIXED: 2103, 3508: Modified to no longer hang on alerts triggered + by onchange of