Docker is an open source platform for creating, deploying and running applications in isolated environments called "containers".
Containers are light, self-contained software units that encapsulate all the elements needed to run an application, such as code, libraries, dependencies and configurations.
Tests designed on Agilitest can be executed with Docker and its containers composed of images. Create and maintain your tests with Agilitest then execute them with Docker to take advantage of graphical interface-free background executions that will result in detailed reports.
What is Docker?
Docker uses images to create containers. A Docker container is a running instance of a Docker image. Images are created from files called Dockerfiles, which describe the steps involved in building the image.
The container provides an isolated environment to execute an application in a consistent and repeatable way, independent of the host environment. Each container is isolated from the others and uses system resources efficiently.
Unlike a virtual machine, which requires a complete operating system, each Docker container shares the same operating kernel with the host, making more efficient use of hardware resources.
To know more on how to use Docker you can consult the Docker documentation: https://docs.docker.com/
Docker and ATS
ActionTestScript is a structured, readable test language used to create reliable, high-performance GUI automated test campaigns.
Test scripts are defined by a sequence of actions executed on a web or desktop application. Scripts written in ATS are converted into Java classes and then executed using the Selenium and TestNG frameworks.
With ATS, test designers focus solely on the functional actions to be performed and do not have to worry about technical considerations.
By combining Docker with ActionTestScript, you now have the ability to run test suites in predefined environments, under Linux or Windows. These environments are equipped with the latest versions of browsers and web drivers.
To use Docker images, copy the DockerPull command line of the image,
%20(1).png)
Then, execute the command in your script created in Agilitest through your Terminal in your computer.
💡 Tip
To update your environment, simply perform a Docker pull before each test launch to obtain the latest version of Docker images based on browser updates, web drivers, etc.
This combination offers great flexibility and enables a high level of control to be maintained over test conditions, guaranteeing accurate and reliable results.
No specific configuration is required on the machine running the tests, with the exception of installing the Docker application.
To install Docker, click on the download link directly on the Docker website: https://www.docker.com/
Use a Docker image
To discover available Docker images of ActionTestScript, you can consult the Docker Hup web page: https://hub.docker.com.
You will need to allow the download of the images addresses, the main addresses provided by Agilitest are:
docker.io/agilitest/linux-desktop
docker.io/actiontestscript/linux
docker.io/actiontestscript/windows
Enter "actiontestscript" in the search bar to show all the corresponding images.

This platform allows you to consult the details of each image, such as its version, metadata and instructions for use.
.png)
Docker Hub makes child's play of using ready-to-use Docker images, such as those from ActionTestScript.
🔸Warning
The first time you download the Dockerhub it will be around 3GB, however, with each update it will only download portions of images since the base will already be downloaded. The images are cut into 'slices' with a GUID. They are generally 150-200MB files.
ATS images
With Docker you have image repositories based on Linux and Windows operating systems (OS) at your disposal.
Linux images can be exectude on:
- Windows host via Hyper-V or via Windows Subsystem for Linux (WSL)
- Linux windows
- MacOs
As for Windows images, they can only be run on a Windows host using Hyper-V and only with a "pro" version of Windows (10 or 11).
Linux OS-based images
linux : Ready to be used to execute tests with ActionTestScript, either with AtsLauncher or Maven.
linux-base : Contains the Java Jdk, Maven and tools such as Git, Zip, Unzip and Bzip2.
linux-browsers : Contains the latest web browsers. The browsers included are : Brave, Firefox, Google Chrome, Microsoft Edge and Opera.
Tests with Docker
In Linux and Windows Docker images, only tests on web browsers and all API tests can be executed. It's also quite easy to run tests with Jenkins or others on non-graphical servers with just a few command lines.
Prerequisites :
- On a Windows host
- Install Docker Desktop : https://www.docker.com/products/docker-desktop/
Once it is installed, you need to execute Docker Desktop on the host to use Docker containers.
2. On a Linux host
Consult the following page: https://docs.docker.com/engine/install/ubuntu/
Next, you need to retrieve the Docker image:
- On a Windows host : In a PowerShell console: Docker pull actiontestscript/linux
- On a Linux host : In a bash console or shell: Docker pull actiontestscript/linux
- Repository Git
🔸 Warning
It is important to note that tests involving system actions will not work.
Once the tests have been executed, you can generate reports that include images, just like a normal test. The report can include screenshots, even though there is basically no screen. Everything is stored in memory thanks to the web browser. This means that the tests can run on servers that do not have graphical interfaces.
Docker executions with Agilitest
What are the advantages of launching an execution with Docker, from Agilitest:
- Parallelization of executions
Several tests can be run simultaneously.
- Background executions
The tests do not disturb your system, as they run in the background. In general, when a test is executed directly from Agilitest, the machine is monopolized by its execution. This is not the case with a Docker execution.
- Display of executions
It is already possible to copy a Docker command line from the execution command panel. This will run in headless mode. However, with a Docker execution, you will be able to see the progress of your current executions.
Prerequisite: To download and to install Docker Desktop
You can find a download link in the tools menu of the Agilitest editor.
Agilitest provides Docker images. They are linked to Agilitest and ATS.
You won't be able to generate them as a user, from the editor.
At the top right of the editor is a Docker button.
.png)
Click on it to access images and Docker containers.
.png)
In this panel, you will find Docker images, as well as running containers.
To differentiate between images and containers:
An image = An execution that is due to run, a forecast.
A container = An execution in progress (virtual and saveable).
To create a container, click on “New container”
.png)
You can decide to execute one or more containers.
Container executions are stored in the machine's memory. If the machine is stopped, the execution will resume at startup.
All containers activated from Agilitest,
.png)
can also be found on the Docker Desktop interface.
.png)
You can stop a container by clicking on the button on the right.
.png)
Clicking on a container's magnifying glass displays the execution in a browser with a running linux system.
.png)
From this system, you can execute commands in the terminal.
Executing a test with Docker
From a script, right-click > Execute script > Execute Docker
.png)
This displays the same container window, with an extra “Play” button.
.png)
Click to execute the test in the chosen container.
.png)
You can execute other tests on other containers in parallel.
A report opens when your tests have finished running.
Executing a Playlist with Docker
You can also execute one or more Playlists on a container.
From the execution management menu, select one or more Playlists.
.png)
Then click on the Docker button
.png)
Finally, select the container in which the selected Playlists will be executed.
🔸 Warning
You need to distribute the executions according to need. The more containers and tests you run, the more machine resources are used.