Skip to content

v1.1.0

Choose a tag to compare

@glaciousm glaciousm released this 14 Mar 14:41
· 4 commits to main since this release

WinJavaDriver v1.1.0

Downloads

File Description
winjavadriver-v1.1.0-win-x64.zip Server — the WebDriver server (required)
winjavadriver-inspector-v1.1.0-win-x64.zip Inspector — GUI element spy with record & replay
winjavadriver-agent-v1.1.0-win-x64.zip Agent — Windows Service for remote execution

All binaries are self-contained (no .NET runtime needed). Extract and run.


What's New

Convenience API (Java Client)

  • Wait helpers: waitForElement(), waitForClickable(), waitForWindowCount() with default/custom timeouts
  • Window discovery: listAllWindows() enumerates all visible windows on the system; switchToWindowByTitle() switches by title fragment (searches all processes, not just current)
  • Element indexing: findElementByIndex() for VB6 controls without unique identifiers
  • Position-based lookup: findElementByPosition(locator, row, col) groups by Y coordinate, sorts by X — ideal for VB6 grid-like layouts
  • Child enumeration: findChildren(parent) via dedicated server endpoint (works with both UIA and Win32/VB6 MSAA elements)
  • Global sendKeys: sendKeys(Keys...) sends keyboard input without needing an element reference
  • Retry: retry(action, maxAttempts, delay) for flaky VB6 interactions
  • Window chaining: switchBack() returns to previous window after switchTo().window()

New Server Endpoints

  • GET /session/{id}/winjavadriver/element/{eid}/children — direct child enumeration (UIA + Win32/MSAA)
  • GET /session/{id}/winjavadriver/windows/all?filter=... — list all visible system windows (handle, title, className, PID)

Bug Fixes

  • Resolves #2 — child windows not tracked by getWindowHandles() can now be found via listAllWindows() and switched to by title

Maven Central

<dependency>
    <groupId>io.github.glaciousm</groupId>
    <artifactId>winjavadriver-client</artifactId>
    <version>1.1.0</version>
</dependency>