Skip to content

The AutoTestX Agent

Record, Pick element and Watch need a browser the tester can see. A hosted server has no screen, and usually cannot reach applications behind the company VPN. The AutoTestX Agent is a small Windows program that opens those browsers on the tester’s own computer.

  • The agent connects out to the server over one secure WebSocket (/api/agent/connect). No firewall change is needed. It works wherever the web application does.
  • When the tester chooses Record, Pick or Watch, the server asks the agent to start the tester’s Microsoft Edge (Chrome as a fallback) with a throwaway profile, and drives it remotely.
  • The browser runs on the tester’s machine, inside their network and VPN, so it can reach internal applications.
  • Each tester pairs their own account. A computer is listed under Profile → Your computers, where it can be disconnected.

Whether the agent is used is set on the server with ATX_VISIBLE_BROWSER: agent (hosted), local (the server’s own screen) or auto (the agent if connected, otherwise local). See Configuration.

  1. In AutoTestX choose Record (or Watch, or Pick). If no agent is connected, the dialog shows Set up the AutoTestX Agent with a download button (AutoTestX-Agent.exe, about 80 MB). It is also under Profile → Your computers.
  2. Run the downloaded file. It installs itself for your Windows user only (no administrator rights), starts at sign-in, and appears in Settings → Apps for removal.
  3. A page opens in your browser asking you to Allow this computer. You must be signed in to AutoTestX there. Approve it.
  4. The AutoTestX dialog continues by itself once the agent connects.

From then on the agent starts silently when you sign in to Windows.

If the agent is installed but not running, the dialog says Your AutoTestX Agent is not running. Start AutoTestX Agent from the Start menu, or sign out of Windows and back in. Check that you are on the VPN.

Unsigned installer: unless your administrator signs it, SmartScreen or endpoint protection may warn about or block the file. Ask your administrator.

One agent can serve several AutoTestX members on the same Windows account, each in their own browser, e.g. one in Edge and one in Chrome:

AutoTestX-Agent.exe --add-user --browser "C:\Program Files\Google\Chrome\Application\chrome.exe"

The approval page opens in that browser, so it must be signed in to AutoTestX as the member being added. Revoking one member leaves the others connected.

Command Does
AutoTestX-Agent.exe Install (first run), pair, then stay connected
--uninstall Remove the agent and its pairing on the server
--server <url> Use another server than the one built in
--browser <exe> Use this browser instead of Edge / Chrome
--add-user [--browser <exe>] Pair one more member on this computer
--no-open Log the approval link instead of opening it
--verbose Also log to the console

If the agent is already running, a command is handed to the running copy.

Path Contents
%LOCALAPPDATA%\AutoTestX\agent.log Log. Look here first when something does not work.
%LOCALAPPDATA%\AutoTestX\agent.json Pairings (one per member)

For administrators: building the installer

Section titled “For administrators: building the installer”

The installer embeds node.exe, so it must be built on Windows:

Terminal window
npm run build:agent -- --server https://autotestx.example.com

It writes packages/agent/dist/AutoTestX-Agent.exe, which the server offers at /api/agent/download (path set by ATX_AGENT_EXE). npm run deploy builds, optionally signs (ATX_AGENT_SIGN_SCRIPT), and uploads it automatically.

To run the agent from source while developing:

Terminal window
npm run dev:agent -- --server http://127.0.0.1:4100 --verbose
  • The agent only connects out. It opens no listening port.
  • Pairing uses a device-approval flow in a browser where the tester is already signed in. No password is ever typed into the agent.
  • The agent authenticates in the first WebSocket message. An unauthenticated connection is upgraded (101) and then closed, which is expected.
  • Each browser it opens uses a fresh, throwaway profile: no cookies, history or saved passwords from the tester’s normal browsing.