Skip to content
You're viewing the v2 docs. Looking for v1?Go to v1 docs
Docs
Testsigma
Popular questions
↑↓ to navigate↵ to selectesc to close
Book a demo

Testsigma Agent

The Testsigma Agent is a Java utility that runs on a test machine and orchestrates local test execution: queueing tests, running them, and returning results. Install it wherever you want to run tests on your own machines and devices rather than on Testsigma Cloud.

The agent bundles everything a local run needs: a Java JRE, so you install no Java yourself, the browser drivers from each browser vendor, Appium for mobile tests, and the mobile test recorder with its Android and iOS libraries.

Local applications. A corporate firewall blocks outside communication into a private network, so Testsigma’s cloud servers cannot reach an application deployed inside it. The agent sits on a machine inside that network and relays between the cloud and the local machine over HTTPS, without opening the network up.

The local mobile recorder. Automating a mobile app needs the app’s element attributes. With the device connected to the agent machine, the agent collects them and sends them to your browser, where you save them to Testsigma. The cloud recorder needs no local setup but runs with more delay.

ComponentRequirement
Memory8 GB, dedicated to the tests
Disk spaceAround 20 GB, including reserved space for screenshots and downloaded files
ProcessorDual-core or better

Go to Agents and click Download Agent, or take the direct download for your machine:

Operating systemExecutableZIP
Windows
macOS (Apple silicon)
macOS (Intel)
Linux

The download menu on the Agents page, listing the executable and ZIP for each operating system

The agent comes in 4 forms: a ZIP file, an executable, a DMG, or a Docker image. A ZIP or an executable installs on the machine and is then started and registered separately. A Docker image does all three at once. It also runs on Kubernetes as a Helm release. Deploying to managed devices at scale goes through PatchMyPC rather than any of these.

  1. Select the ZIP for your machine from the dropdown.
  2. Extract it to a location of your choice.

Put the folder in your home directory, which avoids file permission and ownership problems, and avoids corruption from iCloud or Google Drive syncing:

OSLocation
WindowsC:\Users\<your_username>\
macOS/Users/<your_username>/
Linux/Users/<your_username>/

On Windows, go to the installation folder and double-click start.bat, or run it from the command line. On macOS and Linux, drag start.sh into a new terminal window and press Return.

Startup takes a few minutes, and the agent registration page opens when it finishes.

  1. Open a command line on Windows, or a terminal on macOS and Linux.

  2. Go to the installation folder, then into Wrapper > Bin.

  3. On macOS and Linux, run TestsigmaAgent start. On Windows, run TestsigmaAgent install.

  4. To stop it, run TestsigmaAgent stop from the same location.

TestsigmaAgent accepts these commands from Wrapper > Bin:

console Launch in the current console
start Start in the background as a daemon process
stop Stop if running as a daemon or in another console
restart Stop if running and then start
condrestart Restart only if already running
status Query the current status
install Install to start automatically when system boots
installstart Install and start running as a daemon process
remove Uninstall
dump Request a Java thread dump if running
  1. Click Register on the Agent Registration page, which opens once the agent is running.

  2. Enter a Name for the machine.

  3. Enter a value in Max sessions for this machine, which limits parallel executions so the machine does not slow down. It cannot exceed the parallels available to your account, and the field needs enabling by Testsigma support.

  4. Select Public or Private for the agent’s visibility.

  5. Select Activate now or Activate later.

  6. Click Register & Activate.

The Add new Agent dialog, with fields for the device name, visibility, and activation

The agent then appears on the Agents page with the browsers available on that machine. The operating system version and browser names take a couple of minutes to appear. If they have not appeared after 10 minutes, the agent has a setup problem.

A local Android or iOS device connects to the machine running the agent, and then appears under Devices on that agent’s page in Testsigma.

Developer options have to be enabled on the device first.

  1. Open Settings and tap About Phone.

  2. Go to Software information and tap Build number 7 times.

  3. Open Developer Options from Settings.

  4. Turn on USB Debugging.

  5. Connect the device to the machine running the agent, and accept the Allow USB Debugging alert. Select Always allow from this computer if it appears.

  6. Go to Agents in Testsigma and click the registered agent.

  7. The device appears under Devices.

    The Devices tab of an agent, listing a connected Android device with its ID, model, OS, and resolution

To run a test on it, select the Connected Machine and the Device.

Arguments passed at startup configure registration, logging, memory, browsers, and proxies:


Terminal window
./start.sh --TS_AUTO_DETECT_PROXY=true
ArgumentWhat it does
--TS_AUTO_DETECT_PROXYDetects and uses a network proxy, including proxies configured through PAC files
--TS_USE_SYSTEM_PROXYUses the system’s own proxy configuration
--TS_NON_PROXY_HOSTSHosts that bypass the proxy
--TS_DELEGATE_SSL_VALIDATIONHands SSL validation to your SSL inspection tools instead of Java, bypassing certificate validation errors
--TS_TRUST_STORE_TYPEThe trust store type to use
--TS_ACTIVATION_KEYRegisters the agent with an activation key
--TS_ADDITIONAL_JVM_ARGSExtra JVM arguments
--TS_AGENT_JAR_PATHPath to the agent JAR
--TS_JAVA_HOMEPath to a Java installation, instead of the bundled JRE
--TS_DATA_DIRThe agent’s data directory
--TS_ROOT_DIRThe agent’s root directory
--TS_LOGGING_LEVELLog verbosity
--TS_ENABLE_GC_LOGWrites garbage collection logs
--TS_ENABLE_HEAP_DUMPWrites a heap dump
--TS_IS_HEADLESSRuns browsers headless
--TS_IS_MOBILE_DISABLEDDisables mobile support
--TS_CHROME_PATHThe Chrome executable path, for when the agent cannot find the browser itself

Where the agent must use a proxy for most traffic but connect directly to internal or trusted domains, set the non-proxy hosts in the agent’s configuration.

  1. Open the TestsigmaAgent installation directory.

  2. Go to agent_data and open args.yml.

  3. Add or update these properties, separating domains with a pipe:

    http.nonProxyHosts: "localhost|127.0.0.1|*.testsigma.com|*.amazonaws.com"
    https.nonProxyHosts: "localhost|127.0.0.1|*.testsigma.com|*.amazonaws.com"

The log level controls what the agent writes to the command line and to its local log files. The default is INFO.

Open an agent from the Agents list page, click the Agent Settings icon in the right navigation bar, and select the level for the CLI and for local files.

The agent Settings panel with the log level options for the CLI and local files

LevelWhat it logs
ERRORCritical issues that cause the agent to fail
WARNWarnings and errors, to catch problems early
INFOGeneral information, warnings, and errors. The default
DEBUGDetailed information for debugging, plus everything above
TRACETraces of the execution flow for deep debugging, plus everything above
ALLEvery message the agent produces

To send logs to Testsigma, go to Agents, hover over the agent, and click Report Agent. Describe the problem in the dialog and click Report.

Automatic upgrades are on by default. Start the agent, and it downloads a higher version if one exists, then restarts itself and reports Upgrade Success. Nothing is required from you.

To control when upgrades happen, go to Agents > Agent > Settings > Agent upgrade settings and select Manual. The interface then shows the current and latest versions when an upgrade is available, and Upgrade installs it.

The agent Settings panel set to manual upgrades, showing the current and latest versions with an Upgrade link

Use this when an automatic upgrade fails, usually from network conditions or a misconfiguration.

  1. Check whether the agent is running. Its icon sits in the system tray on Windows, and in the status bar on macOS and Linux. If it is not running, skip to step 3.

  2. Stop it from the agent directory. On Windows, open a command prompt there and run ./stop.bat. On macOS and Linux, open a terminal there and run ./stop.sh.

  3. Delete the contents of the TestsigmaAgent folder.

  4. Click Download Agent on the Agents page to get the latest ZIP.

  5. Extract the TestsigmaAgent folder from the ZIP into the same location on your machine.

  6. Start the agent from that directory. On Windows, run ./start.bat. On macOS and Linux, run ./start.sh.

The agent talks to each browser through a driver file, and driver updates ship with the agent’s automatic updates. A failed update, from network conditions or a firewall, leaves you to replace the file yourself.

Download the driver for your browser version and operating system from the SeleniumHQ downloads page, then place it in the matching directory inside the agent folder:

BrowserDirectory
Google Chrome/drivers/googlechrome
Microsoft Edge/drivers/edge
Mozilla Firefox/drivers/mozilla
Internet Explorer/drivers/internetexplorer

Trigger tests on a local agent from another machine

Section titled “Trigger tests on a local agent from another machine”

Tests can run on one machine’s agent while you work from another, on the same Testsigma account.

  1. Install and register the agent on the target machine.

  2. Go to Test Plans, open the plan, and click Edit.

  3. On Add Test Suites & Link Machine Profiles, click Link Test Machine and select the target machine.

    The second step of Edit Test Plan, with the Link Test Machine option beside the linked test machines

A long agent list makes picking the right machine harder, so an agent can be pushed to an obsolete state instead of deleted.

To obsolete one, go to Agents, click the ellipsis icon (⋮) beside the agent, click Obsolete, then click Obsolete Agent in the dialog. Restore brings it back.

To delete one for good, click the ellipsis icon (⋮), click Delete Permanently, then confirm in the Delete Agent Permanently? dialog.

The Restore and Delete Permanently options on an obsolete agent in the Agents list

Where an agent will not come off cleanly, remove it in 4 places:

  1. Click the Testsigma Agent icon in the status bar on macOS and Linux, or the system tray on Windows, and click Quit.

  2. Delete the folder the agent was started from.

  3. Delete the agent’s entry in the Testsigma agents list.

  4. Delete the agent.properties file.

agent.properties lives in the agent’s config directory:

OSLocation
Windows%userprofile%\AppData\Roaming\Testsigma\Agent\config\
Linux$HOME/.testsigma/agent/config/
macOS$HOME/Library/Application Support/Testsigma/Agent/config/

How does Testsigma communicate with the agent?

Section titled “How does Testsigma communicate with the agent?”

The agent queries Testsigma’s servers and receives responses. Testsigma never initiates a connection to it, so no inbound firewall rule and no IP whitelisting is needed. Outgoing connections to *.testsigma.com on port 443 have to be allowed.

8 GB of memory dedicated to the tests, around 20 GB of disk including space for screenshots and downloads, and a dual-core processor or better. See System requirements.

Do I need a Windows machine to run the agent?

Section titled “Do I need a Windows machine to run the agent?”

No. The agent runs on Linux, Windows, or macOS.

Can I run the agent without installing it on a machine?

Section titled “Can I run the agent without installing it on a machine?”

Yes. A Docker image and a Helm chart both run it as a container, and both register the agent themselves. See the Docker and Kubernetes tabs under Install the agent.

How do I run more tests at once on one machine?

Section titled “How do I run more tests at once on one machine?”

Raise Max sessions for this machine, set when you register the agent. See Register the agent for its limits.

How do I make the agent bypass our proxy for internal domains?

Section titled “How do I make the agent bypass our proxy for internal domains?”

Add the domains to http.nonProxyHosts and https.nonProxyHosts in args.yml, in the agent’s agent_data directory. See Bypass the proxy for specific hosts.

Change the log level from Agent Settings on the agent’s page, and restart the agent. DEBUG and TRACE add progressively more detail. See Configure logs.

Set Agent upgrade settings to Manual, under Agents > Agent > Settings. See Keep the agent up to date.

An agent that fails to start, or starts and terminates immediately, records the cause in its logs, so read those first. A common one is a port conflict: the agent detects available ports automatically, and an error reading “Port not available” means 8383 or 8484 is taken.

Check them with lsof -i :8383 on Linux and macOS, or on Windows with:

Get-Process -Id (Get-NetTCPConnection -LocalPort 8383).OwningProcess

Repeat for 8484, and free whichever port is held. If the logs are unclear, send them to support@testsigma.com.

Why doesn’t the agent detect my installed browsers?

Section titled “Why doesn’t the agent detect my installed browsers?”

The agent could not find the web driver during startup, so its browser scan failed. Give it the browser path directly.

Open chrome://version in Chrome, copy the executable path, then start the agent with it:

Terminal window
sudo sh start.sh --TS_CHROME_PATH=<chrome_executable_path>

On Windows, use start.bat --TS_CHROME_PATH=<chrome_executable_path>. The agent scans that path, writes it into args.yml, and detects the browser on later runs without reconfiguration.

Your network is blocking the domains and IPs the agent needs. Whitelist these:

PurposeDomainIPs
Local agent and cloud servicesapp.testsigma.com166.117.52.243, 166.117.190.246
Testsigma Tunnelsconnect.testsigma.com166.117.49.200, 166.117.156.234
Mobile Recordermobilerecorder.testsigma.com166.117.86.235, 166.117.227.251
Asset Proxyasset-proxy.testsigma.com166.117.67.252, 166.117.170.206
Test lab incoming connections35.174.92.188, 34.204.63.14, 74.50.105.97

The agent also downloads browser drivers, so whitelist their sources: googlechromelabs.github.io, chromedriver.storage.googleapis.com, storage.googleapis.com, registry.npmmirror.com, and raw.githubusercontent.com for Chrome and Firefox, and msedgewebdriverstorage.blob.core.windows.net for Edge and Internet Explorer. Two more Testsigma services need allowing as well: static-id.testsigma.com and id.testsigma.com.

Was this page helpful?