XAgent User guide

XAgent

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 xstudio 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.

Goal

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.

Usage

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 --login username:password [options]

Options:
	--alias <alias>
	--poolDelay delay (in sec)
	--headless true|false
	--forceIpv4 true|false
	--onlyNotExecuted true|false
	--overrideLf none|className
	--options none|javaOptions
The login argument allows connecting to the REST API server.

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 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 onlyNotYetExecuted option is useful to specify if XAgent must executed only the not yet executed testcases. If you run a session from XStudio using the "" dedicated button, the linked agent(s) must have this option set. 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:
javax.swing.plaf.metal.MetalLookAndFeel.
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>"