Skip to content

Releases: sbabcoc/Selenium-Foundation

Add default DriverPlugin methods to create local Grid nodes

04 Sep 22:31
Compare
Choose a tag to compare

In this release, I did a bit of refactoring to provide methods to enable the addition of local nodes to an active Grid collection.

Start all Grid servers, then wait for active/register

24 Aug 02:56
Compare
Choose a tag to compare

In this release, I revised the launch strategy for local Selenium Grid collections to start the servers in quick succession, then wait for the entire collection to be active and all of the nodes to be registered. This noticeably reduces the launch delay experienced with the previous one-at-a-time strategy.

I revised the matching strategy for skipping interface methods in "enhanced" object, using just the method name rather than the full signature. This prevents infinite recursion (stack overflow) that occurred when the interceptor invoked one of these methods on an "enhanced" object that doesn't directly implement the interface.

  • I added code comments to the interceptor implementation to make it easier to understand.
  • I added verification that objects returned by the framework are "enhanced".
  • I upgraded to the latest release of HtmlUnitDriver (version 2.64.0)

Fix a bug with "rehydrated" SeleniumGrid objects

11 Aug 01:39
Compare
Choose a tag to compare

This release fixes a bug in the process of creating a SeleniumGrid object to represent a specified host URL. The URL itself wasn't being injected into the configuration, which could lead to subsequent NullPointerException failures.

Add iOS page class/test

10 Aug 20:41
Compare
Choose a tag to compare

In this release, I added a page model and test class for validating the XCUITestPlugin.

Add dependency context for PathUtils

09 Aug 22:21
Compare
Choose a tag to compare

In the previous release, I added a few calls to methods in the PathUtils class to code that gets used to launch Grid hub/node servers. What I failed to do was to add a dependency context entry so that the Java-Utils library this lives in gets added to the Grid server class path. This release takes care of that issue.

Set Java sub-process PATH; upgrade core dependencies

09 Aug 19:56
Compare
Choose a tag to compare

After all this time, I discovered that the default path inherited by Java processed spawned by CommandLine isn't always what might be hoped. This was causing trouble for Appium Grid nodes on Mac, which were unable to find the node executable as a result. I added a few new path-related functions in Java-Utils to provide a common oracle to solve this problem.

The new release of Java-Utils triggered a cascade of dependency bumps:

  • Java-Utils → version 3.1.1
  • Setting → version 3.0.2
  • JUnit-Foundation → version 17.0.2
  • TestND-Foundation → version 4.0.2-j8

Use full path of executables; working directory isn't used

08 Aug 06:09
Compare
Choose a tag to compare

In this release, I resolved a bug in Appium support that rendered executables that weren't on the path unusable. Even specifying the path through the associated setting was ineffective. This was the result of a misunderstanding about how the "working directory" would be applied. This setting isn't considered when trying to resolve the absolute path of the specified executable. For executables specified solely by name, only the system path specification is used for this purpose.

I now specify the full paths of executables, and I don't bother setting the working directory.

Add properties to propagate for Appium plug-ins

07 Aug 21:17
Compare
Choose a tag to compare

When I create the AbstractAppiumPlugin class, I neglected to add the list of System properties that should be propagated to the Java child process that launches the Appium Grid node. This release resolves this issue.

Add Mac2 page class/test; final/(un)boxing cleanup

06 Aug 22:04
Compare
Choose a tag to compare

In this release, I added a page model and test class for validating the Mac2Plugin. I also did a bit of overdue clean-up:

  • Where possible, I classified a few fields as final
  • I removed some unnecessary boxing and unboxing
  • I revised a few variable names to flag "eaten" exceptions
  • I removed all of the NOSONAR tags

Finish implementing WindowsPlugin support

17 Jul 19:39
Compare
Choose a tag to compare

In this release, I finished up the implementation of WindowsPlugin. This includes a couple of tweaks to account for the response to an unsupported method (pageLoadTimeout) and the fact that there's no direct navigation with the Windows automation engine.