XStudio comes with an agent called XAgent that you can run in background on any computer.

Hence, from XStudio you will be able to select one or several agents to execute your campaign session. If the relevant agent is running, the tests will be performed remotely on this agent.

  • On Windows platforms, you can find it in the bin folder. The executable is named xagent.exe.
    There is also a console version of the executable: xagent_console.exe that will do exactly the same but also display the console with some more detailed traces.
  • On MacOSX and linux platforms, the executable is named xagent.sh

XAgent can also be started from a web browser without any install. The options must then be pre-configured in the .jnlp file on the server.

More details about the options correspondences in between a fat client and its web counterpart are available here.


XAgent is aimed at being run in background and pool the database to check if there are jobs ready for it. If a session is scheduled to be executed on this agent, the agent will pick the job and will execute it.


To run XAgent in background just execute the executable. Due to the nature of XAgent, it's a good idea to add it to the list of applications automatically started at the boot of the computer.

Usage: xagent.exe [options]
	--alias <alias>
	--poolDelay delay (in sec)
	--headless true|false
	--login username:password
	--forceIpv4 true|false
	--overrideLf none|className
	--options none|javaOptions
An alias is an arbitrary name that you can optionally provide.
  • If you do not provide an alias, the name of the host will be used
  • If you provide an alias, XAgent will simulate to be executed on an agent named as the alias. This can be used for example to run several XAgents on the same host.

The poolDelay determines how often the agent will pool the database to check if there is some jobs to be executed.

The headless option allows starting the application without any GUI. This is useful especially to run the application on a headless linux OS for instance. If you use this option from Windows, it's a good idea to run the console version of the application to get some traces (or you'll have absolutely no feedback from the application).

WARNING: if you run XAgent through ssh on a headless system:
Of course, you must use the --headless true option, but in addition, always prefer Putty (or a local connection).
We've been reported that running the correct command line using MobaXTerm will complain about no X11 available (even though it's definitely not required by XAgent in that case).

The login option allows starting the application even if an authentication is mandatory. This options should be useful only when:
  • XStudio is connected to one or several third-party systems requiring an authentication
  • You did not provide any username and password in the server settings (so you disabled the preliminary connection settings checking)
  • The connection is made exclusively using the username and passwords provided by each user in their user preferences
The forceIpv4 option is useful in some cases to workaround some issues when sending notification emails. Most of the time, it's recommended to set it to true.

The overrideLf option allows applying a custom java skin to the application. The className you can provide to override the default look and feel is a class name supported by your JRE AND your OS.
For instance, if you wish to use the Java cross-platform look'n feel you can provide the following class name:

For more information on Java look'n feels, please check Oracle's website.

The options option is useful to pass generic java VM options.

If you need to execute XAgent remotely on a linux server for example, you can call it within an ssh session using a command similar to:

ssh -o StrictHostKeyChecking=no <account> "cd <path to xagent>;
java -jar xagent.jar <options as above>"