Windows
Windows apps, through UI Automation, the accessibility tree Narrator reads, and the Java Access Bridge for Java apps: native apps (Windows Forms, WPF, WinUI), web views (WebView2: Tauri, Wails), Electron, Qt, Java and Flutter, as they ship.
Axx runs apps on the signed-in user’s desktop: run it in a terminal there, or as a scheduled task for that user (schtasks /it), not as a service or over SSH, which have no desktop. Hosted Windows runners have one. axx doctor checks it.
Each scenario has the desktop, and a clean app. Desktop scenarios take the machine’s desktop in turns: while they run, the screen, the pointer and the keyboard are theirs. Before the app starts, its home is emptied: USERPROFILE, and APPDATA, LOCALAPPDATA, TEMP and TMP in it, which apps’ data folders follow (Java’s user.home too); the registry keys the registration names are emptied too, your own kept aside during the run and put back when it ends. The profile’s own folders, like Documents, are Windows’ to resolve, and stay yours. Java apps are read through the Java Access Bridge of the Java that runs them, which Axx switches on for the launch. An app’s ./ files are its home’s AppData\Roaming.
Add it to a project with axx pack add desktop-windows; it builds on desktop-core, which comes with it.
desktop-windows.app
Section titled “desktop-windows.app”Given the {word} windows app with the following properties: | property | value |The table may start with the row naming its columns, as above, or go straight to its rows.
Register a Windows app. The app starts when a step launches it. On another OS, the registration does nothing, so a feature registers the app once for each OS it runs on.
| Parameter | Takes | For example |
|---|---|---|
{word} |
one word, with no spaces | parcels, PX-4101 |
| Property | Takes | Default |
|---|---|---|
app |
the app: an .exe of the project, or a command |
required |
args |
the arguments it starts with, a quoted one with spaces; a file of the project is relative to axx.yaml | |
env.<name> |
an environment variable it starts with, like env.PARCELS_API |
|
registry |
the keys under HKEY_CURRENT_USER the app keeps its settings in, like Software\Parcels\Depot desk, separated by commas: emptied before each scenario |
|
locale |
its language and region: Windows has none of an app’s own, so the machine’s apply, and the run says so | |
timezone |
its time zone: Windows has none of an app’s own, so the machine’s applies, and the run says so | |
owner |
system for an app the system runs already, like File Explorer (explorer.exe): the scenario reads it as it runs, and never resets, launches or stops it; the windows it shows during the scenario are closed as the scenario ends |
Example:
Given the depot windows app with the following properties: | app | ..\depot-desk\winforms\bin\Release\net8.0-windows\DepotDesk.exe | | registry | Software\Parcels\Depot desk |Since 0.2.0.