ZeuZ
Desktop automation

Desktop application testing for Windows, macOS and legacy apps.

Desktop application testing in ZeuZ automates Windows, macOS, Electron, Java and legacy applications in the same suite as your web, mobile and API tests. Elements are found through the UI Automation tree, by element path, or by image and OCR when a control exposes nothing, so the apps Selenium cannot reach get tested anyway.

Windows 7–11macOSElectronJava & legacyCanvas, PDF & map apps
node-toronto-01atlas-crmrelease/2026.09
AI Windows Inspector · AtlasERP (legacy Windows client)
Inspecting
UI Automation tree
▾Window · AtlasERP — Invoices
▾Pane · InvoiceDetail
·Edit · Amount
·ComboBox · Tax code
▾Toolbar · Actions
·Button · Save draft
●Button · Post invoice
·Button · Void
Selected element
NamePost invoiceControlTypeButtonAutomationIdbtnPostInvoiceClassTToolButton
Generated element path
Window[AtlasERP]/Pane[InvoiceDetail]/Toolbar[Actions]/Button[AutomationId=btnPostInvoice]
Add to test
Locator generated from hover · no source access neededrelease/2026.09
In one paragraph

Desktop application testing is the automated checking of software that runs on Windows or macOS rather than in a browser, including legacy, Java and Electron applications. ZeuZ automates desktop apps through the Windows UI Automation API, macOS accessibility attributes via Appium, and image or OCR recognition for controls with no accessible tree, with the same case format, run history and evidence as its web and API tests.

Part of ZeuZ Test Studio · Windows 7–11, macOS, Electron, Java and legacy applications, in the same suite as web, mobile and API
The problem

Where desktop application testing breaks today.

Selenium and Playwright stop at the browser, so the desktop client that runs the business is tested manually or with a second tool nobody maintains.

Legacy and Java applications expose no stable IDs, and coordinate-based scripts break the moment a window opens at a different size.

Desktop, web and API tests live in three tools, so the process that crosses all three is never tested end to end.

The six steps

How ZeuZ automates desktop application testing.

  1. 01Test designProposes the desktop flows a change touches from the tickets and the application's screens, ranked by importance.
  2. 02Test case creationDescribe the flow in plain English; ZeuZ writes the case with reusable steps for launch, login and navigation.
  3. 03Test automation27 Windows actions and 11 macOS actions plus image, OCR and hotkey actions compile into one readable case with your web and API steps.
  4. 04Test executionRuns on your own Windows or macOS nodes, on a schedule or a CI webhook, with application launch, window control and services handled in the run.
  5. 05Reporting and analysisEvery failed step returns the screen, the exact error and the element that was not found.
  6. 06Test maintenanceWhen a control moves or is renamed, ZeuZ proposes the locator repair as a diff a person approves.

Your team reviews what ZeuZ produced. Nothing joins the suite or runs without a person accepting it.

See it in the demo lab or in your own environment

See it run on your application.

Watch a Windows or macOS application automated without a Selenium workaround.

What is covered

Desktop automation tools for every kind of application.

On Windows 7 through 11, ZeuZ locates controls through the Microsoft UI Automation API by Name, Class, AutomationId and ControlType, by element path, and by parent, sibling and index relationships, with the AI Windows Inspector generating the locator from a hover. Where an application exposes nothing, image matching and OCR, through Tesseract or EasyOCR, find the control by what is on screen, which is how canvas, PDF, map and game applications are tested. Actions cover click, double and right click, drag and drop, hover, checkbox and expand or collapse, text entry, key combinations through pyautogui or AutoIt, scrolling, text validation, attribute capture into variables, and dynamic list extraction while scrolling.

Window control covers launch with position and size, switching, resize and close; Windows services can be listed, started, stopped and checked. Electron apps run on Windows, macOS and Linux; macOS native apps are driven through Appium by title, label, value or identifier and launched by bundle ID. A mouse recorder captures a flow for playback, and desktop application testing shares the same case format, run history and evidence as the web and API steps in the same suite.

Windows
UI Automation API, element path, parent-sibling-index, image, OCR
macOS
Appium, bundle ID launch, title-label-value-identifier locators
Electron
Windows, macOS, Linux
Actions
27 Windows, 11 macOS, 26 GUI (image, OCR, coordinates, hotkeys)
Services
List, start, stop, status
Tools
AI Windows Inspector, mouse recorder, element path detector
Java Swing & SWTWinFormsWPFDelphi & VB6ElectronSAP GUICitrix-published apps via image & OCR

Runs where your code is allowed to be.

SaaS

Hosted by ZeuZ, execution on your own machines.

On-premises

Point the client at your own server.

Air-gapped

Disconnected environments, scoped per engagement.

Runs inside Jenkins, GitHub Actions, Azure DevOps, CircleCI and Bitbucket; results into Jira, Slack and Teams.

Related capabilities

Works in the same suite as.

GUI testing

Image-based and OCR checks for the parts of a screen that have no DOM or accessibility tree.

GUI testing →
SAP test automation

Fiori in the browser, SAP GUI for Windows on the desktop and OData over the API, in one suite.

SAP test automation →
End-to-end testing

One case that crosses the desktop client, the browser, the API and the database.

End-to-end testing →

Read next: Automating legacy desktop apps with AI →Related: See pricing →

FAQ

Questions about desktop application testing.

Ready to automate QA testing today?

See ZeuZ Test Studio write, run and repair tests against your own application code.

or explore our services →
Book a demo