All guides › By use case
By use caseDesktop apps: Electron and macOS apps on the same canvas
QAwalk opens Electron apps through Playwright with every web check, captures macOS app windows with their accessibility tree, and imports screens from any other tool, so desktop flows get the same review as web and mobile.
Desktop apps are often the product nobody walks through before a release: the web version gets the review, the Electron wrapper gets a smoke test. QAwalk treats a desktop window like any other screen.
The problem
Desktop releases are checked by opening the app and clicking around. Nothing is recorded, nothing is compared with the last release, and localized menus or dialogs are seen by customers first.
What changes with QAwalk
platform: electron opens the app through Playwright. Its window is a web page to QAwalk, so selectors, accessibility checks, console errors and semantic questions all work unchanged. platform: desktop captures a macOS app's window with its accessibility tree (or the text on it). Every screen is framed as a window on the canvas, next to the web and mobile runs of the same feature.
How it works
- Name the app
app.electron.main: dist/main.js(or the packaged executable), orapp.desktop.name: Notesfor a macOS app. - Script the steps
Electron steps get a Playwright
page, soapp.tap('#new')or any Playwright code works. macOS steps are driven by your tool, by AppleScript or by a person, and QAwalk captures the window. - Check
packs
a11yandconsoleapply to Electron as on the web. Theapppack checks labels, sizes and truncated texts in macOS windows. - Review and compare
the canvas shows each step in a window frame. The next release's run compares screen by screen against the accepted baseline.
Skills and prompts
Walk our Electron app in en and cs: the empty state, creating a note and the settings dialog. Use the a11y pack and share the run for review.Capture the preferences window of our macOS app after each change in this PR, and tell me which labels got truncated in Czech.Expected outcome: window-framed screens per locale with their checks, console errors from the renderer and a comparison with the previous release.
What you get
- Desktop releases reviewed like web releases: visible, versioned, signed off.
- For Electron, the complete web toolset: DOM checks, accessibility and console, with no extra driver.
- For native macOS apps, the accessibility tree: missing labels and cut-off texts found without reading code.
FAQ
Windows and Linux apps?
The built-in window capture is macOS only. On Windows or Linux, drive the app with WinAppDriver, Appium or your own tool and import the screenshot (and the UI dump if you have one) with qawalk capture --image.
Which macOS permissions does it need?
Screen Recording for window screenshots and Accessibility for the UI tree, granted to the terminal or the agent app. Without Accessibility, QAwalk falls back to text recognition.