Releases: sbabcoc/Selenium-Foundation
Build for Java 8; upgrade dependencies and plugins
In this release, I finally dropped support for Java 7. By building this library for Java 8, I'm able to upgrade dependencies to newer versions that resolve identified vulnerabilities.
Upgrade to the latest release of HtmlUnitDriver
In this release, I upgraded HtmlUnitDriver to the latest release (2.62.0).
Move Executor [commons-exec] up to base grid dependencies
In this release, I moved the Executor dependency context declaration from the plugin classes up to the common grid dependency contexts.
Find/verify path to driver executable, populate property
In this release, I added code to verify the path to the driver executable if specified in the associated System property, or to search the PATH for the executable if it's not specified. This change was applied for the following driver plugins: ChromePlugin, EdgePlugin, FirefoxPlugin, OperaPlugin, and SafariPlugin.
Add support for simple servlet containers (node-less Grid hubs)
In this release, I removed the requirement that Selenium Grid hub servers must have nodes attached to them. This change was motivated by the realization that the ability of Selenium Grid servers to host Java servlets is a useful standalone feature, facilitating rapid deployment of web service endpoints and web pages (like the Example page used by the Selenium Foundation unit tests).
Upgrade to latest dependencies
Upgrade dependencies to latest releases: Settings (2.3.11), Junit Foundation (16.0.3), Logback-TestNG (1.3.5), SnakeYAML (1.30), TestNG Foundation (3.0.10), Guava (31.1), and JCommander (1.82).
Retain more detailed diagnostic information when a container is vacated
In this release, I revised the retention of container vacation diagnostic information, wrapping the Method object in a StackTrace that captures the flow of execution that led to the invalidation of the container.
NOTE: This release reverses an unnecessary breaking change I made in the previous release by restoring (but deprecating) a redundant public method.
Fix bypass specifications; remove redundant methods
Add missing dependency context in HtmlUnitPlugin
In this release, I added a dependency context that adds Apache Commons Exec to the class path assembled for HtmlUnitPlugin.
Enable using FirefoxShadowRoot objects as JavaScript arguments
In this release, I added the ability to include FirefoxShadowRoot search contexts as arguments for JavaScript execution. This enables scripts to locate elements within the specified context. This is accomplished by revising the specified script and altering the corresponding arguments to retrieve and use references to the associated shadow root nodes.
I enhanced the example page and page models to provide targets for this new functionality. New JsUtility unit tests verify that the new implementation works as designed.
NOTE: As of this release, the version of Firefox I tested with (99.0.1) is unable to send keys to input fields in shadow DOM hierarchies. However, the values of such fields can be set directly via JavaScript.
I also fixed a couple of instances where I replaced generic a TimeoutException with a more specific exception and failed to adopt the original stack trace. The corrected implementation will yield more rational diagnostic information, showing the actual flow of execution that led to the failure.