No items found.

Dashboard

The dashboard built into the Agilitest ecosystem is not just a post-execution report, but a tool for static analysis and assessing the overall health of your test project.

When your tests are executed (whether from the Agilitest interface or via the command line using ats-core), the engine logs absolutely everything that happens:

  • The actions performed (clicks, keystrokes, submissions).
  • The execution time for each step.
  • The action status (Success / Failure).
  • Screenshots or video recordings of the actions.

Le dashboard compile et croise les données techniques du projet pour fournir une vue d'ensemble de votre patrimoine de tests :

  • Il comptabilise le nombre de scripts, le volume d'actions globales et la répartition du travail par auteur.
  • Il mesure le taux de couverture de vos scripts au sein des différentes suites d'exécution (les fichiers TestNG XML).
  • Il suit l'activité de versioning Git et l'historique d'édition pour identifier les scripts fréquemment modifiés ou abandonnés.
  • Il met en lumière les tests dits flaky (instables), liste les scripts qui n'ont jamais été exécutés et analyse les durées de passage pour repérer les goulots d'étranglement.

The dashboard compiles and cross-references technical project data to provide an overview of your test portfolio:

  • It tracks the number of scripts, the total volume of actions, and the distribution of work by author.
  • It measures the coverage rate of your scripts across the various execution suites (TestNG XML files).
  • It tracks Git versioning activity and edit history to identify frequently modified or abandoned scripts.
  • It highlights so-called “flaky” (unstable) tests, lists scripts that have never been executed, and analyzes execution times to identify bottlenecks.

Configure the Dashboard

The button to access the dashboard is located directly in the left sidebar of the editor.

The “Edit” menu lets you show or hide sections of metrics grouped by theme.

All your dashboard section configurations and exclusions are saved directly to the project's metadata file.

Dashboard’s parameters

You can customize the display of your Dashboard from the Agilitest editor.

Open the left sidebar > Dashboard > Edit

From this interface, you can choose to show or hide certain information depending on your report's audience (for example, hide Git history, complexity, or suite coverage if it's not relevant).

Some examples of parameters: 

Tracker

You can configure an optional tracker

Integrating a tracker allows you to display advanced metrics from your previous runs in the dashboard, such as execution times, flaky tests, or tests that have never been run.

Gamification

Gamification helps boost team engagement by making progress tracking visual and fun. The dashboard fuels this momentum through:

  • Git Activity and Editor History: The system tracks interactions and changes to scripts over time, reflecting the team’s ongoing efforts.
  • Debugging: By openly listing scripts flagged as “flaky” (unstable) or scripts that have never been executed, the dashboard sets clear “cleanup” and stabilization goals for the team.
  • Goal Progress: Tracking test suite coverage serves as a gauge of collective progress toward delivery.

This section highlights statistics on individual users to showcase the work they’ve accomplished. This data is directly linked to the publisher’s identity management system.

In a section called “Hall of Fame,” the dashboard attributes scripts and actions to their respective authors, highlighting the project’s most active contributors.

The dashboard can measure the algorithmic complexity of test scenarios. Successfully maintaining or simplifying complex test suites has become a key metric for highlighting the expertise of test automation engineers.

Related pages

No items found.
Still require support?
Contact support

Browser Providers

In Agilitest, integrations with Selenium Grid, Sauce Labs, and BrowserStack are called “Browser Providers.” They allow you to run web tests on remote infrastructure or in the cloud.

The main purpose of these integrations is to spare testers the trouble of having to install and maintain a multitude of browsers and operating systems locally.

They are used to:

  • Ensure cross-environment compatibility: Test a web application on different versions of Chrome, Firefox, Edge, or Safari, and on various operating systems (Windows, Linux, macOS).
  • Scalability: Execute large-scale test campaigns in parallel on infrastructure capable of handling the load, which significantly reduces the total execution time.
  • Access the Cloud: With BrowserStack and Sauce Labs, you get instant access to thousands of browser/OS combinations that are automatically updated, without having to manage physical servers.

How to configure a browser provider

In the Agilitest sidebar, open the Browser Providers panel.

Add a supplier by entering their login information.

For Selenium Grid, you specify the hub's URL (ex: http://host:4444). 

For BrowserStack and Sauce Labs, enter the cloud URL and your login credentials (username and accessKey).

When you click “Test”, Agilitest queries the provider's API directly to instantly retrieve the list of available browsers and versions.

For each browser, you configure the desired version.

By default, the “Latest” option is selected. 

You can also choose “Latest beta” (cloud-based) or a specific release, as well as the target operating system. You can choose to execute the browser on Windows, macOS, or Linux, depending on what the provider offers.

Example : 

You can add the same provider multiple times but with different release dates or different OS  in order to test various cases.

Once configured, Agilitest saves this configuration in the .atsProjectProperties file located at the root of your project, in the form of an XML <browserProviders> block.

A green icon appears on the browsers to let you see at a glance which browsers are configured and ready to launch.

Use a provider in a test

Once your configuration is saved in your project, you don’t need to open the browser providers anymore.

You have 2 ways to execute your tests on these distant machines instead of your own computer:

- By script:

In your test script, in the action that launches the browser, add an option containing the name of your provider (ex: browser-provider=MonBrowserStack).

- Via the command line or launch button: 

You can set this when the code is executed by passing the global option

Related pages

No items found.
Still require support?
Contact support

AI Agent

Agilitest and AI

To facilitate the design and maintenance of your tests, Agilitest offers AI integration to improve the day-to-day work of test designers.

The key point is that the AI makes suggestions, and humans validate them.

The tester oversees the machine, filters out false positives, and retains full control over the test coverage.

The first time you open Agilitest, or following an update, a window will open asking you to accept or reject the integration of artificial intelligence into Agilitest.

AI helper

🔸 Warning

It is important to specify that the integration is not intrusive and has no access to your personal or company data.

You can change this parameter in settings menu in the side bar.

AI Agent

Agilitest's AI agent is designed to interact with humans in real time using an “AI Interactive Loop” architecture. Artificial intelligence steps in to assist the tester where it provides real added value.

AI helps you explore the application and build reliable step-by-step scenarios without writing any code (no-code).

To configure your AI agent, go to the settings menu. There, you can decide if you allow the help of AI and if you want to open the AI agent window on startup.

You can configure your AI agent with your preferences by clicking on the settings button.

You can set up your provider, API key, languages, etc…

You can also choose to activate the pedagogical mode.

When this mode is enabled, every answer the AI produces is accompanied by a short, plain-language explanation of what each part of the result does and why.

Examples:

  •  For a regex: what each character class matches and why that quantifier was chosen
  • For a date format: what each token means
  • For a JavaScript condition: what the expression evaluates to and the alternatives that were considered. 

The goal is to instruct and train the engineers who use Agilitest so that each interaction with the agent leaves them slightly more autonomous on regexes, date/time formats and JS expressions, instead of blindly copy-pasting an opaque answer. 

This toggle is off by default so the regular output stays terse for power users.

Agilitest's stance on AI is that it should augment the test engineer, not replace them, the human stays in the loop, decides, and learns.

AI in variables

You can use AI to help you create variables.

To open the AI window, click on the "AI" button in your script variable.

This will open the AI Agent window.

When asked to suggest a date or hour format and the source value clearly is not a date/time (random text, identifier, etc.), the agent now warns upfront in a yellow banner before producing any format suggestion. 

Variable references (e.g. $prj-MY_VAR) are detected and pass through unchanged

Example with a regular expression.

You have entered the value of your variable.

Click on the AI button to open the AI Agent 

Enter the data you wish to extract from the value you entered.

The AI will generate the regular expression you need to enter into Agilitest to extract the data. With the pedagogical mode activated, the AI also gives an explanation of the expression.

Click on “Apply in Agilitest” to send the result directly into the script.

🔸 Warning

Even if the integration of artificial intelligence is not intrusive, do not enter personal or company data in the AI search bar. The AI will not process information linked to your Agilitest licence, but it will process all the information you give it in a text input. Do not make it process your passwords, for example.

Self-Healing

Thanks to self-healing, the AI validates interactions before recording them and intelligently adapts to changes in the user interface (UI). It reduces the fragility of selectors, a major challenge given that maintenance can account for up to 75% of automation costs.

In the editor, check the case associated with AI healing.

If you later delete your AI providers, Agilitest will automatically disable this mode to prevent a chain reaction of errors

Self-healing can be of great use in a situation where you have an ATS script with an action to click on a button on an application with a specific ID that does not correspond to the ID of the application.

This can happen when there is an upgrade made after you have created your script and the developers have changed an ID into another. 

In classic execution mode, the test is broken, because the ID in the script does not correspond to the ID in the application anymore.

However, with the self-healing activated, the ATS execution pauses. It captures the HTML context and the exact DOM of the page at the moment of the freeze, and sends all of that to your AI provider along with a simple question: “Where did my button go?

The AI analyzes the changes, finds the new selector, replays the action on the fly, and the test continues as if nothing had happened.

All changes made by the AI are visible in your execution report. 

The AI's trace appears in plain text. You can see the old selector, the new one it suggested, and the “corrected” status.

Still require support?
Contact support

AI provider

Within the Agilitest ecosystem, the integration of Artificial Intelligence (AI) marks a major turning point in how automated tests are designed and maintained. Rather than forcing users to write code or deal with the fragility of tests in the face of interface changes, Agilitest delegates certain analysis tasks to large language models (LLMs).

Here is a detailed explanation of the concept of AI providers, their usefulness, their configuration, and their connection to the open-source ats-core engine.

The concept of “AI Provider”

An AI provider in Agilitest is an external or on-premises service (such as a generative AI model like OpenAI’s GPT or Anthropic’s Claude) that you connect to the tool. Agilitest does not run heavy AI models internally, instead, it relies on these providers to send them technical context (for example, the HTML/DOM code of a web page) and receive intelligent analyses.

AI primarily focuses on four key areas:

  • AI Self-Healing of actions :This is the most powerful feature. Traditionally, if a developer changes a button’s ID, the test script fails because it can no longer find the element. With auto-repair, the execution engine (ATS) pauses, passes the page context to the AI, and the AI detects the change in intent. It instantly applies the correction so that the test continues without interruption.

  • Generation via REPL: You can interact with an AI (such as Claude) using natural language via a REPL (Read-Eval-Print Loop) interface. The AI explores the application in real time and builds the test scenario step by step.

  • Security and Accessibility Audits (RGAA): Using specific commands such as check-security [ai] or check-rgaa [ai], the AI analyzes the entire web page and includes an analysis section in the test report to identify vulnerabilities or usability issues.

  • Report Generation: AI is used to generate the comprehensive summary report (ats-overview).

Supported providers :

  • Cloud services: OpenAI (GPT models) and Anthropic (Claude models).
  • Local models : Ollama with AgiLlama specifically.

AgiLlama is a leading AI provider for project properties, distinct from the generic Ollama provider.

It is compatible with OpenAI, but the editor is aware of the specific characteristics of the AgiLlama server (list of models, request format). Models are selected from an “ats-auto” catalog managed by Agilitest, and other models installed on the server are fetched in real time.

Set up an AI provider in Agilitest

Configuration is managed centrally in the project properties so that it is applied to all scripts and runtime environments.

Each project has its own AI provider and its own configuration.

From the side bar, click on Project > Project properties

In the Project properties window, click on the AI provider to set it up.

This will open an AI provider window in which you can configure:

  • The provider type and its model: OpenAI, Anthropic, Ollama or AgiLlama.
  • API Key: Your private access token if you are using a cloud service (OpenAI / Anthropic).
  • API URL: Required for local models or corporate proxies
  • Language: This option allows you to select the language of communication (French or English).
  • Maximum iterations: Sets the maximum number of “reflection” loops or consecutive correction attempts that an AI agent is allowed to perform to resolve a single problem.
  • Context size: This represents the maximum amount of data (typically measured in tokens or kilobytes) that the application will send to the AI model in a single request, including the conversation history, instructions, and technical data.

When you use AI for self-repair (AI Healing) of a failed test or to perform an RGAA/Security audit, Agilitest must send a large amount of information to the model: the current test script, the error message, and, most importantly, the complete application tree (the HTML DOM for web or the widget hierarchy for desktop/mobile). A modern web page can have an extremely large DOM.

💡Tip

If the size of your web page exceeds the maximum context window supported by the selected AI model, the request will fail (Error 400 / Context Window Exceeded). Adjusting this setting allows Agilitest to intelligently truncate unnecessary data to stay within the limits.

Each configured provider has various feature badges:

  • Text: Indicates that the model supports the processing of standard text queries, the analysis of script text, and the generation of descriptions or diagnostics.
  • Vision (Image Analysis): Refers to a multimodal model capable of processing visual elements. In ATS, this capability is essential for analyzing screenshots of the applications under test, detecting visual anomalies, or validating contrast criteria.
  • Tools (Tool Usage / Function Calling): Indicates whether the AI supports the execution of external functions or tools. For example, the AI uses this feature to call internal ATS tools or to execute JavaScript code snippets on the fly on the page being tested.
  • Structured JSON output: Indicates the model's ability to structure its responses in a strict JSON format. This is essential for properly populating automated report files (such as the ats-overview.json file intended for use by other AI agents).

Activate AI self-healing 

In the editor, check the case associated with AI healing.

If you later delete your AI providers, Agilitest will automatically disable this mode to prevent a chain reaction of errors

For more information on AI healing, please refer to the “Checks” documentation.

Related pages

No items found.
Still require support?
Contact support

Mobile Explorer

Introduction

Mobile test management in Agilitest is based on a “Plug & Play” approach. This architecture relies on the Mobile Explorer tool and the open-source ATS-core engine, enabling smoother, visual automation that is compatible with continuous integration (CI/CD) environments.

Architecture and Prerequisites: ATS Mobile Station

The central hub for the connection between the workstation and the terminals is ATS Mobile Station.

ATS Mobile Station is a standalone component (Windows/macOS) that manages communication with physical devices and emulators. Detection is automatic (USB/WiFi) once ATS drivers are installed on the terminal. With the ability to specify multiple instances (IP:Port) to manage fleets of remote terminals.

💡 Tip

For optimal performance, make sure that the network ports used by the ATS Mobile Station are open in your firewall and that “USB Debugging” mode is enabled on Android devices

Use guide: Mobile Explorer

Mobile Explorer replaces the manual entry of complex parameters with an intuitive visual interface.

Tool access

Two paths can be used to open Mobile Explorer:

  1. From a script

In Agilitest, add a Start channel action > Mobile 

Then, click on the Mobile button > Settings

  1. From the editor side bar

Installation

To install Mobile Station, go to the settings in the Mobile explorer window.

Copy and paste the command line.

Then, use the command line in PowerShell.

This will open a Mobile Station console in your browser.

You can access various emulators from the emulator menu on this page.

To configure Mobile Station with Agilitest: 

Copy the local host

Then paste it in the settings in the Mobile explorer window in Agilitest.

Mobile Explorer

Once Mobile Station is connected with Agilitest, you have access to information from the Mobile Station web page directly in the editor.

The Mobile explorer window displays all the detected devices by Mobile Station. The tool lists all of the installed applications.

By selecting an app on the list, Agilitest automatically retrieves the Package Name and the Activity required, which sets up the channel without text input errors. 

You can also download applications from the Mobile explorer window by using the stores (iTunes on iOS, Aptoide on Android).

Click on the Store button and enter the app you want to download. 

You can select the app of your choice from the list of available apps and choose which connected devices you want to install it on.

Mobile channel and capture

Open a Mobile channel

In Agilitest, add a Start channel action > Mobile

Then, click on the  "Mobile" button

The “Mobile App” window is Agilitest's interactive dashboard that allows you to configure the launch of a test on a smartphone or tablet.

For Mobile Station, the device serves merely as a runtime host for the target application.

You can quickly find your app among the system apps or by using the search bar.

The goal is to create portable tests. If you hard-code a test script to the unique ID (UDID) of a specific phone, your test will fail as soon as that phone is disconnected or replaced.

Mobile Station maintains a lookup table. Its selection algorithm generally works as follows:

  • App Check: Is the app (Bundle ID on iOS or Package Name on Android) installed on any of the active devices?
  • Availability: If multiple phones have the app, which one is available?
  • Priority: It selects the first device that meets the criteria.

If you absolutely need to target a specific mobile device (for example, because you're testing a feature specific to a particular Android version or screen size), you must pass additional parameters when opening the channel:

In the channel settings, you can specify a  deviceId or specific characteristics.

Without these details, ATS considers any device capable of running the app to be a valid candidate.

Mobile Capture

The capture tool displays a real-time view of the mobile screen. You can select elements (buttons, fields, lists) directly from this live view to create your actions.

Keyboard events can be sent globally to the channel or the root element, making it easier to manage forms and special keys on the mobile system.

You can also view a screenshot of the screen directly from the interface for connected devices on Mobile Station.

Technical fondations: ATS-Core

The ATS-core engine ensures robustness behind the scenes:

  • Dynamic Management: ats-core queries the stations to find an available device that meets the test criteria. If a device is already in use by another script, the engine can automatically switch to another available device.
  • Script Abstraction: The test script remains agnostic to the phone’s unique identifier. It simply requests an app on a system (Android or iOS), and ats-core handles the “matching” at runtime.

Related pages

No items found.
Still require support?
Contact support

Agi-container

AGI Container is a key component of the ActionTestScript (ATS) ecosystem, designed for massively parallel, cross-platform execution of automated tests.

What is AGI Container?

It is a lightweight container runtime, specifically optimized for running ATS scripts. Unlike traditional solutions, which often rely on Docker Desktop (which can be resource-intensive or require a paid license in enterprise settings), agi-container is based on:

  • containerd : The industry-standard container engine.
  • nerdctl : A command line interface for containerd.

Usually, when you create a test in Agilitest, you open a channel that launches a browser in your own Windows session.

With AGI Container, the editor shifts to a new paradigm: Instead of searching for a chrome.exe executable on your hard drive, the editor asks nerdctl to mount a Docker/Containerd image. Communication no longer occurs directly, but via a network stream to the container.

Principal functionalities:

  • Maximum Parallel Execution: This feature allows you to execute entire test suites simultaneously, thereby drastically reducing the total validation time (the “Time to Feedback”).
  • Linux & Windows hybrid: That is one of its greatest strengths. It can simultaneously control:
    • Linux containers (via WSL2 on Windows or natively on Linux) for testing browsers like Chrome or Firefox in “headless” mode.
    • Windows containers (using Hyper-V isolation) for applications that require a specific Windows environment.
  • Docker Desktop is standalone: It operates independently, making it easy to integrate into enterprise CI/CD pipelines.

How to activate agi-container?

In the editor sidebar, select “Agilitest Containers

This opens the Agilitest containers execution menu.

Click on the “settings” button at the bottom right to install “agi-container”.

Then, click on “Install”.

You can choose between automatic and manual installation:

Click “Execute in PowerShell” or copy the command line depending on whether you’re using Windows or Linux, then paste it into a terminal.

Once Agi-container is installed, you can select your tests to execute them directly from the container.

From the editor's execution management menu, select the “Execute in Container” tab.

Select the Playlists (TestNG suites) that you want to execute, then click on “Execute”

Select on which container you want to execute your Playlists.

The editor uses predefined images (often hosted by Agilitest or your company) that already contain everything needed: the ATS engine, the browser, and the drivers (Selenium/Playwright).

Why use it?

Agi Container acts as the “conductor” that helps you transition from a test running on your desktop to a test running in an isolated environment, ready for the cloud or CI/CD.

Using Agi Container addresses three critical needs:

  1. Speed: Reduce testing time from several hours to just a few minutes through parallel processing.
  2. Isolation: Each test runs in its own environment, preventing cross-contamination between browser sessions. 
  3. Portability: You can execute the same containers on your development machine, on a build server, or in the cloud.

Scripts parallelization

Unlike traditional sequential execution, agi-container allows you to execute multiple instances of your tests simultaneously. The approach involves dividing your test campaign into several isolated containers.

The key feature is the ability to use a project environment variable as a pivot for parallelization.

The tool will automatically instantiate a container based on the specified value.

In Agilitest, open the command lines interface with a right click on a script

There, you have specific options to configure your execution: 

  • Click on the Agilitest (agi-container) window
  • Activate the “Parallel execution” option: This will activate the execution of a suite of  tests per container..
  • Enter the “Tag

In short, Agi-Container is the scaling tool for the ATS framework, transforming a single script into a powerful tool capable of validating complex applications across multiple environments in record time.

The Diagnostic Window

When a test runs in the agi-container, the logs are no longer simply stored in RAM, where they risk being lost if the container crashes. Instead, they are continuously streamed to the host machine’s disk. Even if the execution is terminated (SIGTERM), you retain the logs to diagnose the failure.

Click on the “Diagnostic” button to open the window.

The ATS engine now features an “Assisted Diagnostics” mechanism that helps identify the source of the failure. During the analysis, the tool cross-references the data to tell you whether the error stems from:

  • A performance issue (page timeout, infinite loading),
  • A network error,
  • Or an actual functional bug (DOM selector not found).

From this window you have access to a dashboard for agi-container:

With maintenance buttons:

  • Restart the engine: Attempts to restart the containerd services and the Agilitest agent directly.
  • Clean: Removes temporary containers, caches, or orphaned files that might be blocking execution.
  • Repair WSL: Forces a restart or resets the underlying WSL distribution.
  • Update: Downloads and installs the latest version of Agilitest’s container components.

The “Processes” section displays the health of software components in real time:

  • Host (Windows):
    • agi-containerd & agi-container: The Windows background services that handle orchestration.
    • wsl.exe: The bridge between Windows and the containerized environment.
  • Distro WSL (Linux):
    • containerd: The container runtime.
    • nerdctl: The command-line tool used to manage containers (equivalent to the Docker CLI).
    • shims, socat, orphelins: Agilitest's network and isolation processes.

The status line (at the bottom of the page):

  • distro v: Displays the version of the installed WSL distribution.
  • images: Number of container images (e.g., Chrome, Firefox, etc.) loaded into memory.
  • containers: Number of containers currently running for your tests.

Related pages

No items found.
Still require support?
Contact support

Agilitest Installation & Update Guide

Free Access to Agilitest

Not using Agilitest yet?

You can explore the platform with a full-featured 1-month free trial.

Simply install the version available on this page. Upon first launch, a trial license will be automatically issued once a valid email address is provided.

This trial grants access to all Agilitest features, enabling you to evaluate the platform in real-world conditions.

ATS (actiontestscript) is an open source functional langage : any tests you create remain fully usable beyond the evaluation period and can continue to run independently of Agilitest.

If you would like guidance during your evaluation, our team is available at: contact@agilitest.com

1. Overview

install-agilitest.ps1 is the single script that handles installation, update, backup and restore of Agilitest and its ATS components on Windows.

It manages the following components:

Browser drivers (chromedriver, geckodriver, etc.) are updated automatically when ATS channels start and are not managed by this script.

Before any install or update, the script stops all running Agilitest and ATS processes: agilitest, windowsdriver, sapdriver, browser drivers (chromedriver, geckodriver, msedgedriver, operadriver, bravedriver), ATS workers (awio, awpy, awjs, awsys, awmath, webviewer), and java.exe instances launched by AgilitestEditor.

2. First Installation

Option 1: One-line install (recommended)

Open PowerShell and run:

 irm https://agilitest.app/install-agilitest.ps1 | iex

This downloads and runs the installer. It will:

  1. Detect that Agilitest is not installed
  2. Ask you to confirm the install directory
  3. Show an operation plan with all components to install
  4. Ask for confirmation
  5. Download and install all components
  6. Launch Agilitest

Option 2: From the .bat launcher

Double-click update-agilitest.bat in the scripts folder of your Agilitest installation. This runs the PowerShell script with the correct execution policy.

Option 3: From PowerShell directly

.\install-agilitest.ps1

If you get an execution policy error, use:

powershell -ExecutionPolicy Bypass -File .\install-agilitest.ps1

3. Updating

Run the same script again. It automatically:

  1. Stops all running Agilitest and ATS processes
  2. Detects your existing installation directory
  3. Checks local and remote versions for each component
  4. Displays an operation plan showing what will be installed, updated, or skipped
  5. Asks for confirmation before proceeding
  6. Creates a backup of current versions (skipped if nothing changed)
  7. Downloads and installs only what needs updating
  8. Relaunches Agilitest

Operation plan

Before any download or file modification, the script displays a recap table with directories, component versions, and planned actions:

  • Update mode — components with pending updates are highlighted

  • When everything is already up to date, no action is taken

You must confirm with Y (or press Enter) to proceed. In -Silent mode, confirmation is skipped.

Update a single component

.\install-agilitest.ps1 -Component Libs
.\install-agilitest.ps1 -Component Drivers
.\install-agilitest.ps1 -Component Jdk
.\install-agilitest.ps1 -Component Agilitest

Force update (even if up to date)

.\install-agilitest.ps1 -Force
.\install-agilitest.ps1 -Component Libs -Force

4. Silent Mode

For automation and CI/CD, use -Silent to suppress all interactive prompts:

.\install-agilitest.ps1 -Silent

Combine with -LogFile to keep a trace:

.\install-agilitest.ps1 -Silent -LogFile C:\temp\agilitest-install.log

5. Backup

Before every update, the script automatically backs up the current versions to:

  • Backups are skipped if nothing changed since the last one. The script computes a SHA1 fingerprint from file names and sizes, and compares it to the most recent backup's fingerprint.
  • Only the 5 most recent backups are kept, older ones are automatically purged.
  • The backup path is shown in the installation summary at the end.

6. Restore

To restore a previous backup:

Option 1: From the .bat launcher

Double-click restore-agilitest.bat in the scripts folder of your Agilitest installation.

Option 2: Command line

.\install-agilitest.ps1 -Restore

The script displays a numbered list of available backups with their date and content. Select the one to restore and it will replace ATS libs, ATS drivers, and Agilitest IDE files with the backed-up versions.

  • Restore mode — select a backup to restore from the numbered list

7. Start Menu Integration

After installation, the script creates Start Menu shortcuts so you can find Agilitest from the Windows search bar (Win key):

  • Agilitest — launches the IDE
  • Agilitest - Update — runs the update script
  • Agilitest - Restore — runs the restore script

Just press the Windows key, type "agilitest", and all entries appear:

Windows search showing Agilitest entries

The shortcuts point to .bat launchers located in the scripts subdirectory of the install folder:

8. Proxy & Enterprise Networks

The script uses the system proxy configuration (same as Chrome/Edge) and supports NTLM authentication out of the box. No extra configuration is needed in most enterprise environments.

To override the proxy:

.\install-agilitest.ps1 -Proxy http://proxy.company.com:8080

9. Custom Install Directory

The install directory is resolved in this order:

  1. %USERPROFILE%\.agilitest\editor_path file (written by Agilitest at startup)
  2. Directory containing the script (if agilitest.exe is present)
  3. Subdirectory next to the script containing agilitest.exe
  4. Search in %USERPROFILE% (depth 2)
  5. Search in %LOCALAPPDATA% (depth 2)
  6. Default: %LOCALAPPDATA%\Agilitest\app (new install)

10. All Options

Help screen

11. Troubleshooting

Script is blocked by execution policy

Use a .bat launcher (see above) or run with:

powershell -ExecutionPolicy Bypass -File .\install-agilitest.ps1

Download fails behind a corporate proxy

Try specifying the proxy explicitly:

.\install-agilitest.ps1 -Proxy http://proxy:8080

Need to see what happened during a silent install

Use the -LogFile parameter:

.\install-agilitest.ps1 -Silent -LogFile C:\temp\install.log

Agilitest was installed in a wrong nested directory

The script auto-detects and fixes recursive paths (e.g. Agilitest\Agilitest\Agilitest). Just run the installer and it will correct the editor_path file and clean up the duplicate folders.

Related pages

No items found.
Still require support?
Contact support

Agilitest Documentation

Getting started

Welcome to the Agilitest documentation.

Agilitest is a no-code test automation platform that allows teams to create, maintain, and execute reliable functional tests at scale.

If you are new to Agilitest, we recommend starting with the following sections:

Quick Start – learn how to create your first automated test
Installation – set up Agilitest in your environment
ATS language – understand the foundations of ActionTestScript

These guides will help you quickly understand how Agilitest works and how to begin automating your tests.

Exploring the documentation

The documentation is organized into functional categories available in the left sidebar.

You can use these categories to explore different aspects of the platform, including:

• project management
• test creation and editing
• automation features
• web, desktop, mobile, and SAP testing
• reporting and continuous integration

Each section contains guides, tutorials, and reference pages designed to help you use Agilitest effectively.

About Agilitest

Agilitest is built on ATS (ActionTestScript), an open and deterministic test language designed to produce reliable and maintainable automated tests.

Unlike many automation approaches that rely on fragile selectors or generated code, ATS enables teams to create stable functional tests that remain maintainable over time.

Agilitest supports test automation across multiple environments:

• web applications
• desktop applications
• mobile applications
• SAP environments
• web services

This architecture allows teams to design, execute, and maintain automated tests with confidence.

Need help?

If you cannot find the information you are looking for, our team will be happy to assist you.

📧 support@agilitest.com

Related pages

No items found.
Still require support?
Contact support

ATS Tracker

Installation

ATTS Tracker download URL: https://actiontestscript.org/tools/ats-tracker/ 


You can retrieve this URL directly from the side bar in Agilitest, in the ATS Tracker menu.

Then, click on the “Install” button

This will open a web page in which you can find details about the installation on Linux and on Windows.

To use ATS Tracker you can plan to use a dedicated server Linux or Windows or you can use your local machine (localhost).

ATS Tracker configuration

You can add a Tracker to your list. To do that, the id of the Tracker needs to be unique.

There are 3 states possible for your trackers: 

  • Grey point: Disconnected or Tracker not found 
  • Orange point: The access exist but the Token entered is incorrect
  • Green point : the Tracker is connected and functional

How to use a Tracker

The tracker can be included in your executions.

Do a right click on your script > Run the script > Command lines

From the test case command lines pane you can choose to add a tracker from your trackers’ list. 

The tracker is active during your tests execution and results from the current tests will be saved in the database of the selected tracker. 

Tracker console

To open the tracker console you can click on the magnifying glass icon on the corresponding tracker you want to open

This will open your tracker URL.

On this page, various information are displayed: 

  • Results gauge
  • Average execution time 
  • Activity map 
  • Various visualization modes (TV, dark, light,...) 
  • Actions number, tests number, executions number…
  • Etc…

The latest executions launched are also listed at the bottom of the page.

When you run a test with a Tracker, the execution of that test also appears in real time.

Dashboard 

The Dashboard is generated automatically at the end of each execution.

To visualize the dashboard, open the system explorer from Agilitest

Then, click on target > ats-output and click on the dashboard in HTML format 

The dashboard displays various information: 

  • Tests status 
  • Tests number
  • Actions number
  • Actions types
  • Etc…

The information on the dashboard is static, unless it is executed with the Tracker.

When Tracker is included in executions, a green icon appears at the top left of the page.

Some of the information are dynamic and synchronized with the Tracker data.

Example: 

The test results pie chart, recent changes...

Related pages

No items found.
Still require support?
Contact support

Property action

What is the Property Action?

The Property action is used to retrieve the value of an attribute or property from a captured graphical element and store it in a variable. Unlike a validation (assertion), this action does not stop the test if the value is unexpected; its sole purpose is to "read" the information.

How it Works

In your script, select the property action in the actions menu.

When adding a "Property" action to a captured element, you must configure three main components:

  • Interface Element: The UI component you captured (e.g., a button, input field, or image).
  • Property Name: The specific attribute you want to read.
    • Web: id, class, href, src, value, placeholder, etc.
    • Calculated Properties: Agilitest also allows you to retrieve properties like text (visible text) or checked (for checkboxes).
  • Destination Variable: The name of the variable (prefixed with $) where the value will be stored.

Common Use Cases

Retrieving Dynamic IDs: Reading an order number generated by the application to use it in a subsequent step.

Design/CSS Verification: Retrieving the class property to check if an element is marked as "active" or "hidden."

URL Extraction: Reading the href attribute of a link to ensure it points to the correct domain.

Calculations and Transformations: Retrieving a price (as text), storing it, and then using a script action to convert it into a number for calculations.

Related pages

No items found.
Still require support?
Contact support

File transfer

The file transfer action allows you to either upload a file from your machine to your application or download a file from your application to your machine.

File upload

The upload action allows you to send one or more files to your application.

Click on the file transfer action and select “Upload file”.

Click in the action to choose a path for your file. 

You can choose a path using special values or point to your machine's hard drive..

🔶 Warning 

If you select the path to the hard drive, this will create an absolute path. When running continuous integration, you must be careful to use the same path, otherwise it will never be found.

You can also copy the file into the project and thus create a relative path to the file in the project's resource directory.

To do that, select “Copy to project assets”.

You also have the option of creating a new directory for these files in your resources directory.

To send multiple files, simply separate the file paths with a comma.

You can select 2 options: 

  • Clear 

The delete option allows you to delete one or more files already present in the entry. In some cases, components that allow files to be sent can enter multiple files.

Example

If 4 files are already entered in the component, when you perform the upload action that includes 2 files with the “delete” option enabled, it will delete the 4 previously entered files and send the 2 files from the action performed.

  • Auto-submit

With the auto-submit action, this allows the entered file to be sent automatically without additional confirmation.

If this option is not enabled, you will need to add a mouse click action to click on a send file confirmation button (specific to each application).

The difficulty with this action is finding the right element in the application that allows you to send files.

The elements that allow uploading are “input” elements of the “file” type.

If you cannot find the element, you can use the “Load” action to help you.

This action lists all the elements that allow one or more files to be sent on the loaded page.

Download file

The download action allows you to download a file from your application to your machine.

For the download action, the element to be found on the web page is of type a, i.e., a hyperlink that points to another file or another web page.

Click on the file transfer action and choose “Download file

Click in the action to choose a path for your file. 

As with uploading, you can choose a path using special values or to your machine's hard drive.

🔶Warning

Using resource files is not a good practice for the download action because it is not an absolute path.

Select a path to a folder on your computer using the “Select a folder” button.

The path used on the test design machine must also exist when the test is executed. You need a common path that you can create with environment variables.

The retrieved file must always have the same name and no extension.

Related pages

No items found.
Still require support?
Contact support

Actions called with conditions

Agilitest allows you to call actions known as “conditional”, meaning that the evaluation of a condition determines whether or not this action is called.

All conditions in Agilitest are interpreted as JavaScript code. For the action to execute, the expression entered must return the value true.

How to create a condition

First, to add a condition to your action you need to open a script and select the action on which you want to add a condition.

Do a right click and select “execute condition

All conditions interpret JavaScript code.

For an action with a condition to be executed, the result of the entered code must return “true”.

Characters strings must be written in between double quotes or single quotes to be executed.

Be sure to check the selected option:

If the condition is a numeric type one, there is no need to use double quotes or single quotes.

Examples: 

1 == 1 

1 < 10

A true condition appears green in the action.

A false / not filled condition appears red in the action.

To suppress a condition in an action, you simply need to click on the cross of the icon.

Examples of conditions

You execute conditions with characters strings, numeric types and variables as well.

You can retrieve a variable from the special value menu.

Example 1 - Subscript call under conditions: 

In this example, we choose to call a subscript depending on whether the variable is equal to 0 or not.

The condition of the first action (line 6) is to execute the subscript if the variable is equal to 0 with the entry: '$var(product_exists)' == '0'

The condition of the second action (line 7) is to execute the subscript if the variable is nott equal to 0 with the entry: '$var(product_exists)' != '0'

Since the variable does not equal 0, the condition is not filled and the subscript of this action won’t be called

Example 2 - To Compare a retrieved value

In this example, we have retrieved a property value in the script and we want to compare this value with the property variable.

Example 3 - Browser’ selection

In this example, we want to determine which browser is going to start depending on whether the execution is done from its test machine or remotely.

To do that, click on the special values button in the enter text section.

Then select ATS script values > Project path

Then, enter the project’s path in plain text which corresponds, or not depending on the condition, to the project’s path variable.

Here, the condition is executed if the project’s path variable does not correspond ( != ) to the value of the project path.

Example 4 - Regular expressions with javascript

In this example, we want the action to be executed only if the postal code is true (contains only 5 numbers).

In the field for your right-click condition, you can type:

/^\d{5}$/.test('$var(code_postal)')

IF $var(code_postal) equals "75001", the JavaScript condition is true 🟢 -> The action is executed.

IF $var(code_postal) equals "7500AB", lthe condition is false 🔴 -> the action is ignored.

Related pages

Still require support?
Contact support

ATS components

Agilitest offers numerous services to improve user comfort and protect user data.

The components used by Agilitest come from the editor and ATS.

For each new version of ATS, ATS components will be pushed by the Agilitest team to the MVN Repository, which is a directory containing all libraries developed in MVN.

Access to the MVN Repository website is free and open to the public: https://mvnrepository.com/artifact/com.actiontestscript/ats-automated-testing/3.5.5

Agilitest's policy is to use the latest versions of components in order to be as aligned as possible with the stability and security of the latest versions.

Using the latest versions improves the software's compatibility with components, minimizes bugs that may be present in the component code, and, above all, addresses vulnerability issues.

Vulnerabilities can take time to detect. A vulnerability in a component version can impact the security of the devices and data used.

It is often difficult to find vulnerabilities in real time, whether using tools or conducting in-depth research. Certain algorithms will analyze the code of components and be able to detect vulnerabilities that indicate that the code is vulnerable to certain things.

With the latest versions of component, it is easier to manage the vulnerability and this also avoids major code modification updates.

Users have access to the MVN Repository site to view the latest versions used, but also to check for potential vulnerabilities.

If a vulnerability is present in the ATS code, it appears in the version description.

Example :

In version 3.2.0, there were vulnerabilities that only became apparent later and were fixed starting with version 3.2.1.

Docker version of ATS

It is also possible to view vulnerabilities on Docker images: https://hub.docker.com/repository/docker/actiontestscript/linux/general

Vulnerabilities are displayed directly in the version descriptions. They do not necessarily correspond to the same vulnerabilities as those in MVN.

In the MVN Repository, it is indicated whether vulnerabilities are present or not. Whereas for Docker, we talk about vulnerability levels.

Agilitest is committed to not delivering any “critical” or “high severity” versions. If they were to be delivered despite this, a fix would be scheduled as soon as possible.

For Agilitest, Linux desktop distributes docker images: https://hub.docker.com/repository/docker/agilitest/linux-desktop/general

These images largely incorporate ATS Docker components, but also include others.

Agilitest performs constant monitoring so that its users can use ATS components, and therefore Agilitest, without encountering any issues.

Related pages

No items found.
Still require support?
Contact support

Dates management

Dates entry is an important part of Agilitest that can impact the creation and execution of your scripts.

First, it is important to note that ISO notation differs from “localized” notation.

The ISO 8601 notation is an international standard date format.

The ISO notation for a date is as follows: year-month-day.

However, there are localized date formats.

Example:

In France: day/month/year

In the United States: month-day-year

There are 3 possibilities when you enter a date:

  1. You can use the ISO standard notation.

In this case, there will be no ambiguity; the date order entered will be the same as the output format.

  1. You can use the “American” notation.

By default, it is recommended to use ISO notation or “American” notation when entering a date in Agilitest.

Whether you use ISO notation or “American” notation, the output format will be the same: year-month-day, which is the standard ISO.

Example :

If you enter the date August 23, 2021 in the American format, i.e. 08-23-2021

Agilitest will display the correct date in ISO format: 2021-08-23

  1. You can use the “local” notation, the french notation in particular.

In this case, you will need to add an indication so that Agilitest enters the correct date.

It is entirely possible to use the date format used in France in Agilitest. However, you will need to specify this to the software.

To do that, go in the execution management menu

In your Executions menu, click on the modify button corresponding to the Playllist in which you want to change the date format of your scripts

Then, define the date order

Example :

If you entered the date August 23, 2021 in the “French” format, i.e. 08/23/2021, you must enter the order “DMY

🔸 Warning

All your dates depend on the original format. If everything is in the correct format, the correct date will be displayed in your script; if not, this may cause problems.

Agilitest converts all dates to ISO format, which is why you need to be careful with French notation.

It is also important to note that the output format, i.e., the date displayed by Agilitest, is different from the input order, i.e., the data entered.

The output format can be changed in the variables.

For more information on output formats, please refer to the JAVA documentation on this subject: docs.oracle.com

Still require support?
Contact support

Differentiation of variables

There are multiple types of variables in Agilitest:

  • $param, parameters passed to a subscript

  • $var, script’s variables

  • $prj, project’s variables

  • $env, execution’s variables d’exécution (defined for each playlist or in a command line)

  • $prop, property’s variables in a “properties” type data file

  • $pass, encrypted passwords types of variables

Among these variables, there are subtypes of variables with a default value:

  • $param,

Example: $param(0,data) if parameter 0 does not exist, the character string “data” will be used instead

  • $env,

Example: $env(name,data) if the environment variable is not set, then the character string “data” will be used

Other subtypes of variables are nested variables:

  • $pass,

Examples: $pass($var(passname)) ; $pass($env(passname)) ; $pass($var(prefix)$env(passname)$param(0))

  • $prop,

Examples: $prop(prop1,$var(key)) ; $prop($var(file),key1) ; $prop($var(file),$var(key)) ; $prop($env(lang)-$var(file),$var(key))

For nested variables, their values can be retrieved from the concatenation of other variables.

Example: To retrieve the value of the “key1” key in the “fr-label” file, you will need to have $env(lang)=fr et le $var(file)=label et $var(key)=key1

Example: To recover a password named “pass1”, you will need to have $var(passname)=pass1 ou $env(passname)=pass1

Still require support?
Contact support

Interface ergonomic

Screen resolution

Make sure that the screen resolution is set to 100% in your Windows settings for optimal use.

Manually changing the size of a channel

It is not recommended to change the dimensions of an open channel as this may prevent the element capture filter from synchronizing.

Two screens to use Agilitest

For a clear view of the tests, Agilitest recommends using two screens.

Agilitest reduced mode

Agilitest reduced mode allows you to hide the Agilitest editor while the test is running. This is useful if you are using a single screen.

Regular expressions

To simplify your operations, we recommend using regular expressions.

Related pages

No items found.
Still require support?
Contact support

Data and ATS code

AI and personal data

Even though the integration of artificial intelligence is not intrusive, do not enter personal or company data into the AI search bar.

Copying ATS code

You can copy ATS code and paste it into the Agilitest editor, which will transform this code into action.

Drag and drop ATS code

You can drag and drop ATS code directly into the Agilitest editor.

Agilitest does not allow you to edit ATS code

ATS and Java scripts cannot be edited directly in the editor.

Have access rights to the Agilitest directory

Make sure you place your Agilitest folder in a directory where you have access rights. If this is not the case, it may cause problems when creating scripts. The “Documents” directory is recommended.

Still require support?
Contact support

Actions

Property action and displaying the root of the element

The Property feature allows you to retrieve the URL of the web page you are on with the “root” element.

SELECT action

The SELECT action works equally well on a drop-down list that is fully visible and on a list that normally needs to be clicked to open. For the second option, you simply need to capture the main element of the list.

Switching windows based on a name

When switching windows based on a name, if the word entered appears multiple times in multiple tabs/windows, the editor will select the one that appears first.

Desktop Channel

For a desktop execution, you also still need to use the “Browser URL” action by entering the path of the application being tested in Windows Explorer.

Using the close channel action in the editor

Do not close your channel manually directly from the application. Agilitest is not intrusive (no plugin), it has no way of knowing that you have closed an application directly through the operating system's actions.

Scrolling a page with text input

In a text input action, you can scroll your page using the keyboard shortcuts “$Key(HOME)” to scroll to the top of the page and “$Key(END)” to scroll to the bottom, without adding any interface elements.

Copy/paste text

You can copy/paste plain text directly into the Agilitest editor, which will convert this text into a comment, including line breaks.

ats-col-name in cell search

If -ats-col-name has been added during application development, you can use it. If not, you will not be able to use this function.

A different browser per script

Although it is possible to open several different browsers in the same script, it is not possible to open the same browser multiple times.

Still require support?
Contact support

Maven

Apache Maven is a Java project management and automation tool. In Agilitest, ATS projects are all Maven projects.

Maven installation

To install Maven, download the Maven runtime binaries: https://maven.apache.org/download.cgi

We recommand to place this file in a “Tools” folder on your system.

Then go to your computer's System settings > Advanced settings.

Open the environment variable settings, then select “Path”.

Add a new variable and select the bin file you have downloaded.K, pour valider la configuration.

Click on OK to confirm the modifications.

Once Maven is installed, you can launch Agilitest.

Launching Maven with Agilitest

To integrate an ATS project into a continuous integration workflow, you can use the standard Maven commands.

To access Maven commands, right-click on a script > Run the script

Then click on “Command lines

Open a terminal (and position yourself in the project directory) or click on the button at bottom right, then copy the command line.

The “mvn clean package” command will create a .jar file containing all the project tests, which you can find in your project's “target” folder.

This file contains the project name and version, which you can also find in the project properties.

Project Explorer> Project properties.

This represents the GAV (group, artifact, version) with :

Group = Domain

Artifact = Project’s name

Version = Project’s version

There are 2 ways of integrating the generated file into a continuous integration process:

  • By Placing the generated .jar in a directory to be declared in the classpath of the test run.
  • By Integrating the .jar into a pom.xml file:
<dependency>

	<groupId>*Domain*</groupId>

	<artifactId>*Project_name*</artifactId>

	<version>*Version*</version>

</dependency>

Example with the project properties of “Agilitestproject” (cf. image above) :

<dependency>

	<groupId>com.functional</groupId>

	<artifactId>Agilitestproject</artifactId>

	<version>0.0.2</version>

</dependency>

Related pages

No items found.
Still require support?
Contact support

Network activity

The network activity action lets you capture network traffic while an ATS test is running.

Use the network capture recording action

There is one prerequisite for enabling network activity capture:

In the channel start action, you need to activate the recorder button

A green dot appears when the action is successfully activated, and the network activity icon is added to your channel start action.

You can then add the network capture action to your script.

This action has two functions:

Capture network settings

Cette action vous permet de paramétrer la capture du réseau. Elle n’est pas obligatoire, vous pouvez ajouter des paramètres au cours du test.

This action allows you to set the network capture settings. It is not mandatory; you can add parameters during the test.

This action can be called multiple times to change the attributes.

  • Latency

This voluntarily adds seconds of waiting time before each network traffic request.

  • Traffic idle

When an action is executed, there are potentially several background requests (invisible to the user) running on the application.

For each ATS action running on an application, the record will retrieve all background requests.

With this parameter you can determine the maximum response time after each request.

By default, the waiting time between a request and its response is 3 seconds.

Beyond the waiting time entered, if the request is not answered, the test execution continues and this request will potentially not be counted in the final capture.

Example :

If you send 10 requests, you're bound to wait for 10 responses. If, during execution, only 6 requests have been answered after 3 seconds, then the test will continue and you will potentially only see these 6 requests in the capture.

  • URL filter

This parameter lets you filter the URLs to which requests can only be sent.

You can manually add one or more URLs to which requests will be sent.

These URLs are in the form of regular expressions.

  • Bandwidth limit

By default, the data reception rate is not limited.

You can set a maximum number of bytes per second for a download or upload limit.

Examples of use: If you want to simulate a weak network connection or a site with degraded performance…

Recorder action

The recorder action records network traffic during script execution.

The action breaks down as follows:

  • Pause recording of background requests
  • Resume recording of background requests

All actions between the record on action and the record pause action will be recorded.

Capture result

Once the script has been run, you can retrieve the capture in the target > networkcapture directory.

You'll find one capture per channel launched during script execution.

This will generate HAR files with unique identifiers and data in JSON format.

In this file you'll find the list of requests linked to specific actions in the test scenario (see the URL used, URL details, server response, etc.).

Network usage

You can capture the network requests made during test executions.

To do that, click on browser in the Start channel action

Then click on the recorder proxy button

A certain number of requests will be captured for each action in the application. Not all actions will generate network traffic and therefore be captured (e.g., property comparisons will not generate network traffic).

The report will display a list of requests made by the browser

Related pages

No items found.
Still require support?
Contact support

Gitlab CI

GitLab is an open source project.

https://gitlab.com/actiontestscript/ats-test

With GitLab  you have multiple executions possibilities. Agilitest recommends those 2:

  • Executions with Docker images. Agilitest can run Docker images on both Linux and Windows, but the standard version of Gitlab can only execute Linux containers.
  • Runner executions, which can be used on all 3 operating systems: Linux, Windows and MacOS

Pipeline Editor

The easiest way to execute ATS tests is in the Pipeline Editor.

To access it, click on Build > Pipeline Editor

Raw code in Docker images:

docker-run
	image: actiontestscript/linux
	script:
		- java AtsLauncher.java outbound=false atsreport=3 suiteXmlFiles=$SUITES
    	- if [ -f "target/ats-output/testng-failed.xml" ]; then exit 1; fi
   artifacts:
    when: always
    name: 'ats-tests-output'
    expire_in: 5 day
    paths:
    	- target/ats-output/

Once the Pipeline Editor is set up, as soon as code is pushed into GitLab, it will launch a Job execution.

You can do a simple check for runtime errors with the code :

- if [ -f "target/ats-output/testng-failed.xml" ]; then exit 1; fi

You can also verify in the target output repository if the testng-failed.xml file has been created. If it does not exist it means there are no errors.

Furthermore, you can check the ats-results.json file. This file is complete with data in json format about tests results status.

You can also add variables to your executions.

To do this, go to Build > Pipelines, then click on “New Pipeline”.

You can choose to add a variable with its name and value.

Example : The name of the suite passed in parameter.

GitLab runner

You can create a runner from Gitlab.

To do that, click on Settings > CI/CD > Create a Runner.

In the TAGS section, enter the tag(s) corresponding to the existing runner tags.

Add a description if you wish, then confirm.

Gitlab offers free runners, but you'll have to wait for them to become available.

You can choose your operating system.

Once you've chosen your operating system, you'll need to install the runner on a dedicated machine, then launch it.

Raw code of the runner:

stages:
	- test
lint-test-job:
	stage: test
	tags:
		- ats-test
script:
    - java AtsLauncher.java outbound=false atsreport=3 suiteXmlFiles=$SUITES
artifacts:
name: AtsSuitesExecution
paths:
	- target/ats-output/

GitLab and Agilitest

In the case of a GitLab runner, you can retrieve the runner execution file from Agilitest.

To do this, click on the runner management menu.

Then click on the Gitlab integration tab.

Enter in the “Runner tags” the exact name of the runner in GitLab.

This will generate a GitLab CI file with a different structure from a Docker image.

When you click on “Generate”, it will generate the gitlab-ci.yml file only if the file does not exist. This avoids overwriting an existing Gitlab file.

Related pages

No items found.
Still require support?
Contact support

SAP scripting

VBscript

SAP recorder in SAP

One of the features offered by SAP is the use of a recorder. Once activated, this function records the actions performed on SAP and then translates them into vbscript.

To launch the capture directly in SAP, go to the options from the drop-down menu: Plus > SAP GUI Options and Actions > Record and Playback Script

sap recorder

This will show you a launch pop-up.

recorder pop-up

Click on the "record" button to start the recording

record button

Once this is done, perform your manipulations and then click on the "stop" button to end the recording.

stop button

Once the capture is finished, a page with all your actions in vbscript format will open automatically.

vbscript

To replay this script, click on the "play" button.

This will open your Windows Explorer and the folder containing your script.

script in windows explorer

By clicking on the script it will perform again the actions that were executed directly on SAP.

To use the vbscript data in Agilitest you have to look at the last lines of your script.

vbscript actions

Scripting action in Agilitest

From Agilitest, you can also create actions in vbscript format and interact with SAP.

Two ways are possible:

  1. Either by using the script lines of the vbscript.

To do this, copt a script line from your vbscript that you want to transform into an action.

line in vbscript

Then click on the “Scripting” action

scripting action

There is no need to specify an interface element.

no element

Click directly on the "Scripting" action and paste the script line

enter text in scripting action

         2. Either by manually creating vbscript actions using the properties

Click on the "Scripting" action.

scripting action

Add an interface element and enter a value that will act on this element

interface element in scripting action

Example : Above, the interface element corresponds to an element in which text can be entered, with the "text" property of this element set to "MIGO".

When the action is executed, this translates into the text MIGO in the text entry on SAP.

"migo" entered in text bar

The difference between these two manipulations is that by passing through a line of code of the vbscirpt the access to the object is done by its id, while by passing through an Agilitest action, the access to the object is done by its properties.

Related pages

No items found.
Still require support?
Contact support

SAP recorder

SAP Recorder with Agilitest

Agilitest lets you use a Recorder for your SAP actions.

Once the SAP channel has been started, you can activate the Recorder.

Click on the button in the channel management menu to launch the Recorder.

record button, red

The button is red when deactivated, and green when activated.

Then perform your actions directly on SAP: text entry, clicks, etc... All of this will be translated into action in the Agilitest editor.

By default, the object selection criterion is "ElementId". To maintain Agilitest's flexibility, you can modify the attributes assigned to each action to suit your needs.

🔸 Warning

All text input actions must be validated by pressing the "ENTER" key at the end of the input.

You can also generate verification actions.

For this purpose, a keyboard command has been set up to create verification actions in the Agilitest editor:

  • Press ALT+F1 to create a property verification action
  • Press ALT+F2 to create an occurrence verification action
  • Press ALT+F3 to perform a property action

These three commands are independent of the Recorder, and can be performed without it being activated while doing a SAP test.

To stop the recorder button, click again in the channel management menu.

record button, green

Related pages

No items found.
Still require support?
Contact support

SAP specific components automation

SAP specific component automation

Switching windows

In some cases, the module opens in a new SAP window. To manage this notion of window, you will have to change the window from Agilitest.

To do this, click on the window action.

Window action

Then switch to the window with index 1 (the main window is index 0).

indexes in switch window action

Actions on a table

Once you have your table open in the SAP interface, open your capture tool to perform actions on it.

When capturing you will need to define a Locator, which is a set of attributes that identify the captured item.

Among the parent branches of the element you will generally find: the object (Example: "TableControl", "GridControl", "TreeControl"), the Rows, the Columns.

Captured element's parents

Several table cases are possible:

  • Searching for an element of a table that appears directly on the interface

Example : A table with few lines.

When we capture an element on the screen, the search of the element with the locator will be less accurate.

The search can be done according to the "Text" attribute of the captured element and the ElementId of the "TableControl" branch.

Table elements

Once the attributes are selected, drag the element into the Agilitest editor to create an action.

click action

This type of search will not search for a row but will simply stay on the same screen.

  • Searching for a table element in a long list

When you want to capture an element from a long list that requires Agilitest to browse the elements, then you must specify it with attributes.

This time you have to tell it that the element is in a "Row

Table elements

Drag the element into an action

Click action

A search in a row is done according to the text in it. Agilitest will browse the rows of the table to find the row with the text entered as an attribute.

💡 Tip

To simplify the operations it is recommended to change the text into a regular expression.

Actions on Grids

It is possible to switch a table to Grid by pressing the F8 key and specifying the number of lines you want to appear in the "Maximum number of hits" box.

change table to grids

With the grids it will display more information that can be read vertically and horizontally.

grids

The capture of an element takes place in the same way as for tables, only the display of the parents of the captured elements will specify that they are grids.

Grids elements

Grids are a set of data organized in rows and columns.

It is also possible to search for the presence of an element in various rows using "Row".

To do this, you need to create a sub-script with runtime log comments to display the items found.

subscript action

Example: If we search for the text "MIERZWA" in all rows using the text property of the "GridRow" branch, then your subscript will display the rows that include this text.

In this example, 5 iterations are displayed, so MIERZWA appears 5 times in the rows. The parameters will indicate the exact location, such as the line "1014". (see screenshot below)

subscript execution parameters

With this action each row is passed to the script and each column represents a parameter.

ats code parameters

Actions on data trees

The data tree is sometimes composed in a simple configuration with a single column that includes several levels and other times in a more complex way, with several columns in the same tree. The execution of tests on trees is similar to those on grids and tables.

The search elements of a component are similar to those of grids and tables.

trees elements

The "TreeNode" branch will represent the nodes of the tree, i.e. the different levels that appear.

Each node has zero or n children that can be deployed.

Tree nodes

Example: The "Basic Data" element has 3 children, while its children have none.

When a tree is complex, a node can have several columns.

As with grids, the tree is configured with rows that will concatenate all columns in the row.

This means that the search for elements of a tree structure is mainly done through the "Row" branch.

Tree row branch

Related pages

No items found.
Still require support?
Contact support

SAP User Interfaces overview

SAP interface

Once SAP is open, just like a test on the Web, you can capture the elements with the capture tool to be able to test them.

capture in SAP

The SAP home screen displays the modules, or transactions, available to users.

sap modules

These modules correspond to programs that allow you to manage different business aspects, such as inventory management or HR information.

You will be able to choose among various possible interfaces according to the screens that were made available to you when you created your account.

SAP screens

The accessibility of these screens is decided according to the role occupied in the company and its needs in data management.

The SAP modules allow for the management of numerous business aspects such as finance, sales, production, logistics, distribution, accounting and human resources. Since SAP manages an information system that by its very nature is subject to change, it is important to regularly perform functional unit tests in your QA process to ensure that all these processes continually deliver the expected results.

Example: SAP offers an HRIS solution that automates business HR operations, but also provides experiences that drive employee engagement and productivity. SAP's HRIS core focuses include employee experience management, core HR and payroll functions, talent management and HR analytics.

Related pages

No items found.
Still require support?
Contact support

Connecting to a SAP server

How to connect to a SAP server?

▶️ You can find a tutorial on how to connect to a SAP server on our Youtube channel

To use SAP you need to install a client: the SAP Logon. This client will allow you to interact with the SAP server. A connection is declared in this client with the elements transmitted by the SAP administrator, notably the target server.

SAP logon

To connect to an SAP server, the operation is the same as for any other application tested on Agilitest.

So start by a Start channel > SAP

Enter the details of the SAP server, present in the SAP log on, i.e. the name of the connection, the customer number (i.e. the associated mandate number) and possibly the language (EN/FR/...).

Example:

Then enter your login details: username + password.

💡 Tip

To prevent your password from appearing in the test, consider creating an encrypted password from the project properties menu.

To start the connection in English, in the logon part you can change the language by adding "/EN" at the end of the id.

SAP english connection

During the execution the connection is done automatically. Once connected, the driver takes over the open SAP window on the SAP home page.

🔸 Warning

:” is also a possible separator in the connection chain to an SAP channel.

Example: connection_name:customer_number:language

Session saved in the ATS properties

As a reminder it is also possible to configure commonly used applications to appear directly in the applications panel in the channel opening action. This is also possible for the sessions you have access to, including SAP sessions.

This shortcut allows you to avoid sharing information related to the connection to an SAP server (id, passwords) if you want to work on an SAP test on several workstations.

To use this shortcut, you need to modify the ATS properties.

To access the ATS properties, go to the "Settings" menu in Agilitest.

Settings button

Then click on “Edit configuration” in the ATS settings

Edit configuration button

This will open the ATS properties page where you can configure various elements.

ats properties

Below is an example of a possible configuration for an SAP session:

📙 SAP Configuration

<sap>

<timeOut>200</timeOut>

<sessions>

<session>

<name>MySAP</name>

<client>800</client>

<connection>(Logon_id)</connection>

<authentication>(Code_source_ATS)</authentication>

</session>

Authentication can be found in the ATS code of your script with an SAP connection.

To access it, open your script and click on the “Script header data.

Script header data button

Then click on “Code ATS”

code ats button

This displays all the actions of the script in code form.

To fill in the connection information in the properties, recover the code string data corresponding to the SAP server connection from the "start a channel" action.

ats code info

Copy the connection information in the ATS properties.

ats properties

Once you have entered the information, save your file and return to the Agilitest applications menu where you will find the session you have entered.

SAP application

Related pages

No items found.
Still require support?
Contact support

Activate SAP automation

Activating SAP automation

There are two things to do to activate scripting, first on the server side and then on the client side.

Server side in SAP

RZ11 transaction:

Enter the “sapgui/user_scripting” parameter

Click on ”Display”.

When the following screen appears, click on “Modif. Val.

Then enter “TRUE” to activate the scripting.

Normally, this operation does not require the instance to be restarted.

Finally, click on the save button.

Customer side, on the SAPGUI

This configuration is necessary to avoid popups at each launch.

Click on the “Options” menu

Then in “Script support”, check “Enable script support”.

Related pages

No items found.
Still require support?
Contact support

Podman

Podman Desktop installation

Podman Desktop installation link: https://podman-desktop.io/downloads/windows

Once the file has been downloaded, double-click on it to open the installation panel.

Select Podman to use with Agilitest. You can add other extensions to suit your own needs.

Select Windows Linux Subsystem (WSLv2), which is the installation recommended by Agilitest.

Installation will then begin. It may take several minutes.

Podman Desktop

You can now create a Podman machine from Podman Desktop.

Click on the “Next” button

Enable the “User mode networking” if it is not the case

Click on “Create

Once it is create, verify that the status is “running

Podman is installed

Podman and Agilitest

Restart Agilitest.

Click on the container a the top right of the editor to open the Agilitest containers control panel

A first image need to be loading, which can take a little time.

Click on start a container

Once a container is launched, click on the magnifier icon to open the container in a browser.

In this container there are:

To the right:

  • Linux distribution version ( LTS with Agilitest)
  • ATS Project: name and version of a project
  • container ID (different for each launched container)
  • Project path
  • Output path: Opens the repository in which the reports are generated

To the left, the icons:

  • 5 browsers distributed in the image of the container maintained by Agilitest
  • Agilitest Project: Opens a reprository of the project and the project path
  • ATS output: Opens the repository of the container
  • Home: Root of the VM system
  • Terminal

Execute a test with Podman

In Agilitest’s project explorer,

Do a right clic on a script > Run a script> Execute in a container

At the end of each execution, a report is generated.

All execution information is also available in the container's ATS Output.

Execute a Playlist

You can also execute playlists in a container.

To do that, go to the execution management menu,

Click on the container menu,

Select the playlists you want to execute and select the container and the execution will be launched.

Podman machine Podman and Agilitest

Images of containers

When you create a container from Agilitest, you'll find the corresponding image in the Podman Desktop.

You can also have mutliple containers running.

When a container already has a test being executed, you can execute it on another available container, or create new one.

🔸 Warning

You need to distribute the executions according to need. The more containers and tests you run, the more machine resources are used

Switch machines

In the container management window, you can select your container tool.

If Podman is installed and running on your machine, the tool will automatically be checked.

If you would like to switch to Docker, it's possible.

To do so, you need to stop the runner from Podman Desktop.

Then check Docker from the Agilitest option in container management.

Agilitest will automatically open the checked option.

The same applies to Docker.

If Docker is checked and you want to switch to Podman, you will first have to quit Docker from the Docker Desktop.

Then you can check Podman, which will be launched when you create a container.

The Diagnostic Window

When a test runs in the agi-container, the logs are no longer simply stored in RAM, where they risk being lost if the container crashes. Instead, they are continuously streamed to the host machine’s disk. Even if the execution is terminated (SIGTERM), you retain the logs to diagnose the failure.

Click on the “Diagnostic” button to open the window.

The ATS engine now features an “Assisted Diagnostics” mechanism that helps identify the source of the failure. During the analysis, the tool cross-references the data to tell you whether the error stems from:

  • A performance issue (page timeout, infinite loading),
  • A network error,
  • Or an actual functional bug (DOM selector not found).

From this window you have access to a dashboard for agi-container:

With maintenance buttons:

  • Restart the engine: Attempts to restart the containerd services and the Agilitest agent directly.
  • Clean: Removes temporary containers, caches, or orphaned files that might be blocking execution.
  • Repair WSL: Forces a restart or resets the underlying WSL distribution.
  • Update: Downloads and installs the latest version of Agilitest’s container components.

The “Processes” section displays the health of software components in real time:

  • Host (Windows):
    • agi-containerd & agi-container: The Windows background services that handle orchestration.
    • wsl.exe: The bridge between Windows and the containerized environment.
  • Distro WSL (Linux):
    • containerd: The container runtime.
    • nerdctl: The command-line tool used to manage containers (equivalent to the Docker CLI).
    • shims, socat, orphelins: Agilitest's network and isolation processes.

The status line (at the bottom of the page):

  • distro v: Displays the version of the installed WSL distribution.
  • images: Number of container images (e.g., Chrome, Firefox, etc.) loaded into memory.
  • containers: Number of containers currently running for your tests.

Related pages

No items found.
Still require support?
Contact support

Agilitest Enterprise

Agilitest Enterprise allows you to synchronize your scripts with your team.

By connecting to a server, scripts from your joint projects can be synchronized with the rest of your team. You will be able to see modifications, additions and removals in real time.

This feature is designed to enhance collaborative work and make it more efficient.

It works for Windows and for Linux as well.

Install a server

From the “Help” menu in Agilitest,

Click on download “Agilitest Enterprise server”

The file is in .tgz format

You will need to extract the zipped files into a directory of your choice.

If you are on Linux:

Run the command: red5.sh

If you are on Windows:

Run the command: red5.bat

The Agilitest Enterprise server is available on your network, depending on the IP address of the machine on which it is installed.

🔸 Warning

Be sure to open port 1935 so that all machines can connect to it.

Connect to a server

The connection to a server can be done in the Agilitest settings

agilitest settings

Enter the IP of the machine in which the server is installed.

agilitest enterprise in settings

Lock a script

The script lock feature lets you block other users from using the script, and vice versa.

There are two ways to lock a script:

  1. With the auto-lock function

You can check the auto-lock option in the server configuration.

As soon as you modify a script, it will be locked automatically. It will unlock automatically when you save the script.

         2. With a manual lock

  • From the project explorer

Right click on a script, then click on “Lock” or “Unlock”.

  • Directly from in a script

At the top of your script, below the tab, you can click on the lock/unlock button

You have a locked script

Here is a script that is locked:

locked script

You can then make any changes you wish to your script: add actions, change elements, rename, etc...

Once the changes have been made, you can save the script and all other users will receive a notification that the script has been modified.

You wish to unlock a script that was locked by another user

The actions are grayed out because you won't be able to make any changes. You will only be able to execute the script.

As long as a script is locked, you won't be able to see any changes made by the user who locked it.

However, if you wish to use this script, you can ask the user who locked it to unlock it.

By checking the “unlock request” option in server configuration, you can choose to send a notification to the user who locked the script.

If you haven't checked this option, when you click on the padlock of a locked script, the other user will automatically receive a notification including a request from you to unlock the script.

The other user can choose to unlock the script or not.

By clicking on “Yes”, the script will be unlocked automatically and thus available for everyone.

Internal messaging

Once you are connected to a server a new tab will appear to the left bottom of the Agilitest editor.

This tab lists other users connected to the server.

intern messagerie

From this tab, you can send a customized message to other uthers.

When you send a message to another user, they receive a notification directly in their Agilitest interface.

You can also view locked scripts directly from each user's profile.

Several types of notification may appear when you are connected to the server with other users:

  • When a user connects or disconnects
  • The creation, modification, renaming or suppression of an item
  • When a user lock or unlock a script

Notifications disappear after a few seconds, unless you click on them, in which case they will continue to appear.

Related pages

No items found.
Still require support?
Contact support

Scripts management

When creating a test, it is often necessary to manage and organize your scripts efficiently to guarantee a smooth workflow and simplified maintenance.

Agilitest offers 4 different levels of scripting:

  • Subscripts
  • Scripts
  • Suites
  • Jobs (Jenkins)

Script levels provide an essential structure for programming and automation, allowing you to manage varied and complex tasks with organization and efficiency.

Scripts

How to create a script

There are two ways to create a script:

  1. In the project explorer click on the “Create an ATS script” button

              2. At the top left of the editor, by clicking on “New component

new component

Enter the name of your script. This will open an editing window with graphical interpretations of the actions to be performed on your script. The ATS format is a textual format that will describe all its actions.

script edition

Subscripts

Sub-scripts allow you to factorize common test functions, such as test data creation, logins, regularly used operations, etc...

You can also pass values as parameters to your sub-scripts, making them scalable and generic. It's also a good way of making your test scripts readable and easy to maintain.

How to create a sub-script

A sub-script and a script have the same configuration in Agilitest.

To create a sub-script, you need to create a sub-script call action in your script.

There are two ways to do this:

  1. Either by entering the name of the sub-script in the action

To do this, click on the call sub-script action in the actions menu.

subscript action

Click on “Call the script [ ]” to enter information

call script action

Then, select the name of the script you want to call as a subscript

enter the name of the script

            2. Either by drag and dropping a script in your test

From the Project Explorer, click on a script you wish to use as a sub-script and drag it into your script.

drag-drop

This will create a “Call the script” action

Agilitest also lets you pass values as parameters to your sub-scripts, making them evolutive and generic.

A sub-script created from a script will always perform the actions of which it is composed with the same parameters. It is also possible to modify the values of the sub-script to use it in several possible configurations.

For more information, you can consult the documentation on passing parameters to a sub-script.

Execution Suites

A suite is very useful for defining test selection criteria. These suites can be made up of tests that differ from one another, or they can be grouped by identical areas: functional, importance and priority when rereading, typing, execution environments, etc...

Executed suites can also be filtered by groups.

To find out more about how groups work, see the Group Management documentation.

How to create a Suite

Open your project menu, then click on "Execution management" to open the Project builder.

executions management

From this page, you can create “Executions”.

executions

Click on the “Add” button to create a new execution Suite,

add button

Then, click on “Import scripts” in the "Scripts" part to add scripts to your execution,

import scripts

You can also directly drag and drop scripts from your project explorer to the "Script" part of your Suite.

💡 Tip

Even if your script is made up of sub-scripts, to create a suite simply add your script, no need to add the sub-scripts since they're used in your script.

Configure Suites

You can also add parameters to your script execution.

To do this, click on the button that appears on the suite line to open the parameters window.

pencil button

You can choose your log level, activate your suite's reports and you can also add a description.

🔸 Warning

Make sure you're on the right Suite when you want to make changes to it. This is verified when the Suite line is highlighted.

suite selected

The green tick means only that the Suite has been selected for execution. There may be several Suites selected, which will then be executed one after the other.

Once you've created your suites, you can select the ones you want and then click on "Generate" → "Compile" → "Execute" to execute them in Java mode.

compile builder

To know more, you can consult our TestNG executions documentation

Jenkins Jobs

A job corresponds to the execution of your Suites. It is used to schedule recurring executions to ensure that all your tested functions are OK or not.

These Jobs, which will automatically launch your tests on your Web, Desktop, API or Mobile solutions, will be displayed on a highly graphic monitor. This can help you ensure the quality of your solutions on a daily basis.

To create a job, click on the "Jenkins integration" button,

jenkins integration

Click on the Jenkins icon to connect to Jenkins

jenkins icon

Then, click on "New Job",

new job button

This will open the window to create a Job

Create job window

You'll be able to enter your Job name, add any parameters you wish, and activate reports and notifications.

To add Suites to your Job, click on the "Add" button in the Suites list.

Suites list

To execute your Job from Agilitest, tick the box on the Job line to select it, then click "Execute".

execute

The status of your execution will be displayed in the Jenkins window.

If you'd like to run your suites without having to use Jenkins, this is also possible, as described above. Simply tick the suites you wish to run directly from the project builder.

To know more, you can consult our Jenkins integration documentation

Related pages

No items found.
Still require support?
Contact support

Java Script

Agilitest is known for its broad coverage of various recent technologies in software development, and generally allows you to automate just about anything with a few clicks and graphically.

In some cases, however, it is useful to call external code to perform an environment-specific operation.

Agilitest can call a piece of Java code, passing in input variables and retrieving output parameters.

Of course, we recommend all the usual precautions when using Java external code, because while it can do everything, it can also have an unwanted impact on the SUT (System Under Test).

In terms of portability, the .ats code produced by Agilitest is transformed into Java for execution. You can therefore assume that the Java code you write will be portable to the various platforms supported by ATS.

Create a Java script

To begin with, you will generate the stub of your java code in Agilitest.

To do that, click on the“Java ATS scripts” folder in the project explorer,

Click on the button to “Create a Java ATS script”.

You can also create a Java script by clicking on Project > New component, in the side bar of the editor

The editor opens a popup asking for the script name. Enter your script name and click "OK".

naming Java script

The editor opens a Java code editing window and, after the necessary and useful declarations, displays the function to be called: testMain().

Java source code

GetParameter

It is possible to pass parameters by value to your Java script.

To do this, click on the "Call script" action in your script.

call script action

Then, click on "Add parameter”.

add parameter button

Next, you can enter the values you want to pass to your script, and you can use all the possibilities offered by the Agilitest editor: use of variables, "hard" values, iterations on a .csv file…

To retrieve them from the Java code, you have the getParameter(int) function, which takes an integer corresponding to the index of the variable in the script call: getParameter(0) will return the first value passed in the parameters.

GetValue

Results are retrieved symmetrically to the script call.

This requires the declaration of variables in the Agilitest editor, which will be of a type that cannot be modified (by the user).

To declare return variables, proceed as follows:

Declare a new variable in the variable management menu on the left of the editor.

create variable

Name the variable and drop it directly in the call script action.

name the variable

Agilitest will change the type of the variable to make it non-modifiable by the user (indicated by the orange coloured variable) and mark it as a “Returned variable” for the called Java script.

returned values

The variable can be used in your script for future operations.

To define a return value on the Java side, you have the ats_return() function, which takes all the values you wish to return:

ATS_return("value1", "retvalue2", param1) ;

Obviously, the number of values returned must correspond to the number of variables declared in the Agilitest editor.

Tools file

There is a tool file directly intagrated in your Java script folder in order to help you with some features.

In this file you will find 2 Java scripts:.

  • concatParams: This file will concatenate the values of a table.
  • sumParams: This file will calculate the total amount of the numbers in a table

Example:

Create a script iwith an URL in which there is a table with multiple numbers.

Add the sumParams java script into your script.

Then, open the capture tool and select a number in your table as a "SPAN" element and drag and drop it into your java script call script action.*

Click on the Java script call script action and select "variables" to return the value.

Create a a variable and execute your action to retrieve the total amount of the table you have captured.

Code execution

If your test includes a Java script, it will be necessary to compile it before running the test. During compilation, any syntax errors will be highlighted.

Once your project has been compiled, you can run your test and Java actions as if they were standard Agilitest actions: step by step (action by action) and with the same execution mode, each Java action being executed in one go.

🔸 Warning

Before running your test, once the Java compilation has been completed, you must close all open channels to reload the compiled Java modifications.

If your Java code is a little complex, and you want to debug it, you can use step-by-step debugging provided you have assigned a Java debugging port in Agilitest and have an IDE such as eclipse or intelliJ.

Example :

With Eclipse,

Select "Remove Java Application" and then enter the same port indicated in Agilitest.

Related pages

No items found.
Still require support?
Contact support

Docker

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,

Docker pull command

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.

DockerHUB

This platform allows you to consult the details of each image, such as its version, metadata and instructions for use.

Docker Hub details

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 :

  1. On a Windows host

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.

Click on it to access images and Docker containers.

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

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,

can also be found on the Docker Desktop interface.

You can stop a container by clicking on the button on the right.

Clicking on a container's magnifying glass displays the execution in a browser with a running linux system.

From this system, you can execute commands in the terminal.

Executing a test with Docker

From a script, right-click > Execute script > Execute Docker

This displays the same container window, with an extra “Play” button.

Click to execute the test in the chosen container.

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.

Then click on the Docker button

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.

The Diagnostic Window

When a test runs in the agi-container, the logs are no longer simply stored in RAM, where they risk being lost if the container crashes. Instead, they are continuously streamed to the host machine’s disk. Even if the execution is terminated (SIGTERM), you retain the logs to diagnose the failure.

Click on the “Diagnostic” button to open the window.

The ATS engine now features an “Assisted Diagnostics” mechanism that helps identify the source of the failure. During the analysis, the tool cross-references the data to tell you whether the error stems from:

  • A performance issue (page timeout, infinite loading),
  • A network error,
  • Or an actual functional bug (DOM selector not found).

From this window you have access to a dashboard for agi-container:

With maintenance buttons:

  • Restart the engine: Attempts to restart the containerd services and the Agilitest agent directly.
  • Clean: Removes temporary containers, caches, or orphaned files that might be blocking execution.
  • Repair WSL: Forces a restart or resets the underlying WSL distribution.
  • Update: Downloads and installs the latest version of Agilitest’s container components.

The “Processes” section displays the health of software components in real time:

  • Host (Windows):
    • agi-containerd & agi-container: The Windows background services that handle orchestration.
    • wsl.exe: The bridge between Windows and the containerized environment.
  • Distro WSL (Linux):
    • containerd: The container runtime.
    • nerdctl: The command-line tool used to manage containers (equivalent to the Docker CLI).
    • shims, socat, orphelins: Agilitest's network and isolation processes.

The status line (at the bottom of the page):

  • distro v: Displays the version of the installed WSL distribution.
  • images: Number of container images (e.g., Chrome, Firefox, etc.) loaded into memory.
  • containers: Number of containers currently running for your tests.

Still require support?
Contact support

Agilitest Standalone

You can execute Agilitest as a Standalone version which means a version with all ATS tools that does not require Internet access to work.

Download Agilitest in Standalone

To have a Standalone version of Agilitest, you need to follow these steps:

  1. To have an Agilitest password

Your Agilitest password is made during the creation of your licence.

If you don’t have one, go to the URL: api-agilitest.com/devices/login.php

Ener your user ID and a password will be sent to your mail address.

         2. Connect

Go to the URL: api-agilitest.com/private/index.php

Enter your username and your password and then click on “LOGIN

login

           3. Download Agilitest Standalone version

Three Standalone versions are available:

  • The simple Agilitest version
  • The Agilitest version with Jenkins
  • The Agilitest version with Jenkins and the SAP driver

You have two possibilities to download the Standalone:

  • By clicking on the “Download” button next to the version you want.
  • By copying the link of the version and paste it in the browser’ search bar. This link will not change and can be used again during automation, without having to authentify.l

🔸 Warning

Please note that you will be downloading a customized Agilitest Editor version with your Agilitest account ID, so do not distribute this archive outside your organization.

Once the Standalone folder is downloaded, you will need to unzip your archive.

standalone archive

You'll find yourself with the version of Agilitest and its tools that can be used independently.

Finally, launch Agilitest from your unzipped Standalone folder.

Customize the Standalone version

You can also customize the versions of your Webdrivers on your Standalone version.

To do this, go to the downloaded Standalone folder: tools/ats-tools/<ats_version>/drivers

Then change the Webdriver versions as you wish.

You can also automate recovery by scripting using the Wget and Curl commands:

  • wget "<Recovered_Token>" -o standalone.zip
  • curl -o standalone.zip "<Recovered_Token>"

For Linux commands:

  • wget -c -O standalone.zip  '<Recovered_Token>'
  • curl -L -C - -o standalone.zip  '<Recovered_Token>'

Related pages

No items found.
Still require support?
Contact support

Subscript executions

▶️ You can also watch our tutorial on how to execute subscripts on our Youtube channel.

Using subscripts will allow you to factorise the common functions of your tests, such as test data creation, login, regularly used operations, etc.

An additional advantage is that you can pass values as parameters to your subscripts, making your sub-scripts scalable and generic.

Finally, if you manage the granularity of your scripts and subscripts correctly, this will also enable you to have test scripts that are not too long, that are readable and easy to maintain.

Create a subscript

The subscript action has been designed to be scalable.

To create a subscript, select all the actions in your script that interest you. You can do so by pressing the CTRL key.

select actions

Then, drag and drop your actions on your “Subscripts” folder in your explorer.

subscript folder

Your subscript will appear in your project explorer.

subscript in explorer

It will also appear in the form of a subscript call action in the script from which the actions were extracted if you cross the “Insert subscript action” box

insert subscript action

Open a subscript

There are different ways of opening subscripts, even if they have different typologies such as multiple iterations, blocked, random, etc…

  1. Call a script action

With the call script action, you can eithet select to call a script or for the script to call itself (in progress)

  1. Drag and drop a script

You can drag and drop a script from the project explorer to your current script.

Once your script is called into your current script, you can open it with the play button on the action.

execute button

If your subscript contains parameters, they will appear in a small window displaying these parameters for a few moments during the execution.

parameters showing

To make these parameters reappear, click on the "\x" button at the bottom right of the screen.

button to show parameters

A subscript with only one iteration

In a subscript with a single iteration, if you click on the "Execute return values" button, it will return to the parent script.

execute return values button

The elements will no longer appear in your subscript but the parameters will remain in the subscript.

It is also possible to stop the link to the parent, so as not to return to the parent once the subscript has finished executing and to continue executing the script.

If you don't want this to happen, and simply run the subscript, simply click on the cross icon to cancel the return action.

cancel button

A subscript with several iterations

In a subscript with several iterations, the number of iterations will appear on the subscript call action line

subscript called 3 times

As well as at the bottom right of the execution of your subscript.

iterations count

If you click on the arrow once, it will move on to the next iteration with its parameters, and so on if you click on the arrow again.

arrow button

At the end of these iterations, as in the previous case, this button will be used to return to the parent.

You can also execute your iterations one after the other.

To do this, click on your editor's "Play" button in the channel management menu instead of executing the actions one after the other.

play button

This corresponds more to a mode of execution, compared with previous cases which corresponded more to creation or maintenance.

Recall script

From your subscript action in the editor you can select Recall a script.

Related pages

No items found.
Still require support?
Contact support

Project's parameters

Project parameters are used to manage and configure a project, whose parameters will be applied to all the scripts in the same project. Each project has its own parameters.

To access the project parameters, you have to click on the context menu for the project in question in the Agilitest Project Explorer.

From the projects explorer, click on “Project properties” to access the project parameters.

project properties

That will open the project’s parameter window.

project's parameter window

Project’s information modifications

project's information

From this screen, you can access your project from the Window explorer and change the project name and description.

You will also be able to version the project, which means that you can stabilise the use of a specific version of ATS by referencing the ATS library you want.

🔸 Warning

We do not recommend changing the version of the project as the changes in the editor and ATS  are closely linked. However this feature is available in case it might be of interest to certain profiles.

Apache Maven

apache maven

You can generate your project in pom.xml or you can package your project in .jar.

You can also package the project directly from the project explorer.

Project’s passwords

Important things to know about passwords in Agilitest:

  • Passwords are not printed in the editor's user interface other than in its edit menu.
  • They are not visible in ATS files.
  • They are not visible in reports and ATSV files.
  • They are not visible in logs generated by Agilitest and ATS.

Passwords are not used everywhere on purpose, for security reasons. It is possible to use them in text input and to enter a password to start an SAP session or API authentication.

project's passwords

You can create and manage passwords, which are reusable in encrypted form in your scripts, with the keyword “$pass”.

Agilitest lets you record variables which are then encrypted in ATS files.

To create a password, click on Add

add password button

Then, enter the name you want to give to your password and its value that will be encrypted next.

password creation

Encrypted variables mean that they do not appear as plain text in the files, or in the test editing interface.

You can use an environment variable as a password recovery key.

From the special values, select the “password” value, then enter an environment variable.

environment variable used in password value

How to manage encrypted passwords

Passwords can also be managed using the shortcut in the special keys when entering text.

passwords in the special value menu

The value can then be retrieved in ATS as a normal variable using the $pass(variable) keyword.

Each variable declared using $pass() variables is treated in the same way.

When to use encrypted passwords

We recommend using encrypted passwords when you have no other options.

We do not recommend that you carry out your tests with real user accounts by encrypting passwords. The solution we recommend is to create users dedicated to the tests and with their own privileges, limited if possible.

💡 Tip

If you can’t do otherwise, like when you want to test the admin account, we advise you to do this on environments similar to production, but secured differently (for example, physically on your premises).

If you are carrying out tests on systems in the cloud, you will not be able to do otherwise. In this case we advise you to supplement this mechanism, for example by using secure transfer protocols such as https or by using one-time passwords issued by a secure server.

Project’s reports templates

project's reports templates

Project report templates are used to customise execution reports.

To customise your reports, click on the edit button.

customize button

Then, click on the stylesheet file edition button.

edit custom button

Related pages

No items found.
Still require support?
Contact support

Groups management

The purpose of group management is to better manage the executions. Scripts are arranged in named groups to customize the organization. This allows you to include or exclude groups of scripts from an execution.

Today, groups are only used to filter run suites or organize ATS scripts. Each execution suite has its own filter configuration. There are two ways to manage groups, either through the group management window or directly through the properties of a script.

Group management window

You can access the group management window from the Project Explorer menu.

Project explorer > menu > Group management

groups management

The edition and maintenance of these groups can be done in the "Group management" page of a project.

The Group Management window allows users to create and manage the contents of script groups.

A group is characterized, on the one hand, by a name and, on the other hand, by the scripts it contains. These groups have the particularity of being able to be used in several contexts, in particular to include or exclude scripts in an execution.

For each group you can:

  • Add scripts
  • Remove scripts
  • Modify the tag (color + ID)
  • Duplicate the group
  • Delete the group

Create a group

Click on “Create group” in the groups management window

That will open a group creation pop-up

create group popup

In this menu you can create the name of the group as well as choose a color and an ID that will represent the TAG of your group.

Once the group is created it is possible to duplicate it by clicking on the "..." button.

duplicate group button

You have the possibility to change the tag of the duplicated group to better organize your groups

duplicate group popup

Group tag

Each group has a tag that is characterized by a color and 3 characters. Seven colors are proposed and the ID can correspond to any 3 characters you want.

You can edit the tag of a group at any time from the group management window.

To do this, click on "Modify group tag" from the "..." button of an already created group

edit group tag button

Then, edit the group tag as you wish

edit group tag popup

If the tag entered already exists, a message appears after clicking on "Confirm".

Existing tag message

How to filter groups?

Groups can be used to filter a number of specific scripts. Today, it is possible to filter the content of an execution suite by excluding, i.e not execute, all the scripts from one or multiple groups.

Filters are applicable from the script insert of the executions management window but can also be managed directly from the properties of a script placed in a group.

From the executions management

From the Project explorer, click on the menu > Executions management

Executions management

From the bottom left pane, it is possible to select, add and remove filters.

To exclude a group allows you to prevent the execution of the scripts it is composed of.

This is also represented visually with unexecuted scripts grayed out.

Example:

You have a group made of scripts:

You want to filter a Playlist with this group,

Then, the scripts are grayed out whether the group is included or excluded in the execution.

Here, the Playlist is filtered to not execute the group “Validate”, so the 2 other scripts that don’t belong to this group are grayed out.

Each project has its own group management and each execution suite has its own filters configuration.

📙 To know more
Scheme of groups and filters system
When scripts are placed in groups, that means that they can be filtered during an execution. If you decide to exclude groups then during the execution, the scripts that belong to excluded groups won’t be exectuted. Groups also allow you to classify your scripts and organize them according to your needs.
(You can find an animation of this scheme here: https://youtu.be/L3PmZmDdaGg)

From the properties of a script

It is also possible to manage groups and their composition directly through the script properties. The script properties allow to:

  • Know which groups a script belongs to
  • Assign or remove a script in existing groups

To do this, right click on an ATS script in the file explorer and click on "Edit properties".

Edit properties

This will open a window indicating in which group(s) the selected script belongs.

properties of a script

Related pages

No items found.
Still require support?
Contact support

Tools configuration

Agilitest can be completed with various tools to optimize the create and maintenance of tests. You can find these tools in the “Tools” menu, situated at the top right of the editor. It is advised to download them all right when you have installed Agilitest in order to have them at your disposition during the use of Agilitest.

You can open the Agilites tools page by clicking on the “Tools” button at the top right of the editor.

tools button

This will open the page with all the tools that can be added to the Agilitest functionnement.

tools page

You can download these tools directly from Agilitest by clicking on the links next to each tools.

download button

Jasper report

jasper report

Jasper reports are used to generate tests reports in pdf format available from the html reports.

pdf report

Apache Maven project management

apache maven project management

This menu allows you to directly manage the ATS dependencies with Maven. It is reserved for expert use for those who wish to use a specific version of ATS while allowing to recover all its dependencies.

Maven corresponds to an utility that enables a project’s construction and the management of its dependencies.  If a library is under a certain version, with Maven it is possible to cohabit several versions and to choose which version will be processed after having compiled its project.

FlaUInspect

flauinspect

FlaUinspect is a Windows tool that is used to identify the components under Windows. It corresponds to what Windows can “see” when there are open applications.

Click on the execute button to open the FlaUInspect window

execute button

The tool starts from the desktop and will show all the windows that are open and the various components they are composed of.

flauinspect window

This corresponds to the Windows interpretation of  Web component, so the level is not as high as the capture tool that is dedicated to the Web. But, it can be interesting to use on native windows application clients. This shows the path you can recreate manually with a locator when the capture tool does not work correctly.

This tool is notably used to debug or debunk particular cases.

Jenkins server

jenkins server

The Jenkins server is a continuous integration tool.  This tool can be deployed in two ways:

  • Embed server: This corresponds to a local use. It is a pre-configurated system made to function locally with basic plugins and settings pushed by Agilitest to run on computers.
  • Remote server: This corresponds to an online server, on the company’s cloud or a dematerialized zone (DMZ).

Once you are connected you will have access to these three buttons:

jenkins buttons
  • Disconnect
  • Stop Jenkins
  • Open page

All these tools are not mandatory for Agilitest to work, however, they provide a complementary service and help to improve the user experience.

Example :

With the continuous integration, it is possible to run tests in a scheduled way: during the night, the morning or at whatever hour of the day. This is possible through Jenkins, not Agilitest.

Related pages

No items found.
Still require support?
Contact support

SAP generalities

SAP: a functional tool

What is SAP?

SAP (Systems, Applications and Products) is one of the world's leading producers of software for business process management, by developing solutions that facilitate the efficient processing of data and the flow of information in organizations.

SAP is used as a data manager. It is an independent tool from Agilitest allowing to create programs through modules.

You can consult the SAP documentation directly on the SAP website.

SAP integration with Agilitest allows you to create and maintain complex tests with a functional approach. SAP GUI tests can be used to manage the modification or development of business rules, or the updating of ERP system functionality.

📙 To know more
architecture beteen ats and sap scheme
SAP is an independent tool from Agilitest. To establish a connection with this tool, a system driver is used to send the elements to the SAP driver. Once the link is established, a connection to the SAP server will be made through the SAP GUI protocol.

Related pages

No items found.
Still require support?
Contact support

Special values

When you can enter text in an Agilitest action, it is possible to click on a button that will allow you to insert special values.

button to open special values

This will show you all the special values organized in a dedicated menu.

Among these special values are:

Environment variable

environment variable

Environment variable are linked to the current execution.

They are found in the execution variables in the project builder.

To access it, click on "Executions management" in the project explorer.

executions management

This will open the project builder page where you can find the environment variables in the special values box.

execution variables

You can find the same information about environment variables in the special values menu.

values of environment variable

Variable de projet

These are the global variables defined in the global properties of your Agilitest project. They are shared and accessible by all scripts in the project. Important

Script variable

script variable

The script variables correspond to the variables declared in a script.

In the editor, they can be found in the part dedicated to variables under the project explorer.

script's variables

You can find the same information about script variables in the special values menu.

values of the script variables

Script parameter

script parameter

Script parameters are the parameters that are passed in a sub-script call.

They are found inside of the sub-script call action, in the added parameters.

parameters passed in subscript call action

You can find the same information about script parameters in the special values menu.

values of the script parameters

Property variable

The property variable retrieves a specific system or runtime property using the $prop identifier.

Data files

This value corresponds to the path of all the files that are in the data files (Example: csv, json...). This corresponds to the relative path taken by these files.

The values can be found in the project explorer, in the "Data files" view.

Resources file

Allows you to specify the relative path to resource files or assets (images, documents, configurations) that are embedded in the project tree and are necessary for the test to run successfully.

Passwords

Passwords

The passwords correspond to all the passwords entered in a project.

They can be found in the project properties page.

To access the properties, click on “Project properties” in the project explorer

project properties

In the properties you have access to the created passwords.

project's password in the project's properties

You can find the same information about passwords in the special values menu.

passwords values

ATS script values

These are values intrinsic to the ATS execution engine. They are evaluated only during a Java execution and are derived from the root script (Top script).

ATS script values are values that are only valued in a Java execution.

ATS script values are:

  • Project id
  • Project description
  • Project path
  • Output folder
  • Test name
  • Test id
  • External id
  • Test description
  • Test prerequisites
  • Test author
  • Test groups
  • Executed-steps count: the value is resolved at runtime.

Calculated values

calculated values

The calculated values are summarized in a drop-down menu.

These values are: Now, Today, Unique ID, Random string, Current iteration, Iterations count

calculated values in special values

The random character variable can take various forms, depending on the data entered.

You can define the number of characters you want to appear and the way they are presented in the variable.

Examples of rnd_string forms:

$rnd(10) ; $rnd(5) =  The value entered will indicate the number of characters to appear

$rnd(10,upp) = Characters will only appear in uppercase

$rnd(10,low) =  Characters will only appear in lowercase

$rnd(10,num) = Characters will appear in numeric form only

$rnd(10,111111222223) = The odds will be stronger on multiple characters. In probability, the string will display more characters that are numerous rather than characters that appear once

Channel values

Channel values

These values correspond to the values returned by a running channel.

Example:

In a script that opens a "Chrome" channel,

If we ask to retrieve the value of the “Application name” in the special values,

Channel values in special values

Then the name of the application opened by the channel will appear.

🔸 Warning

If the channel is not started, then the value cannot be retrieved.

Channel not started message

Other scripts variables

Allows you to reference and retrieve the value of a variable from another script in the project, thereby facilitating communication and the transfer of results between different stages or sequential test scenarios.

Property variable

It is possible to create .properties data files, which are composed of property variables.

You can create a .properties file. from the project explorer, in the data files menu,

The property file looks like a data file with a “key” column and a “value” column.

properties file

Example :

Key : Channel

Value : Chrome

You can also import .properties files from your own computer.

You can sort the values alphabetically using the small arrows in the columns.

You can find the property variable, $prop, in all fields with a burger menu.

In an action, add a special value and select “property variable”.

property file in special values

Select the property file and the key with the value

property file's key

This will retrieve the value from your properties file

$env variable with the property variable

Environment variables defined by playlist type can be used in conjunction with the property variable.

With this action, you can quickly switch from one value to another in all fields that include a $env.

In an action, select property variable from the special value menu

Then, change the property key field with an environment variable ($env).

Example :

If you create an environment variable:

Webbrowser = url1

And a property variable:

Channel = Chrome

Then, you can change the field “Channel” with $env(Webbrowser) to retrieve the value “url1”

If you wish to modify the value of this variable, you can change the value from the environment variables menu so that it applies to the entire project.

execution variables

Related pages

No items found.
Still require support?
Contact support

ATSMobileStation

ATSMobileStation allows to perform tests on mobile (USB and Wifi) and on tablet (USB) through ATS or directly through Agilitest.

🔸Warning

Before continuing this documentation on the use of Mobile Station with Agilitest, make sure you have installed all the prerequisites by consulting the Mobile Station documentation on Gitlab: https://gitlab.com/actiontestscript/mobile/mobile-station#android-testing

To run Agilitest mobile tests on Apple platforms, your development Mac, Xcode, and target iOS/iPadOS versions must be mutually compatible. More information her : https://developer.apple.com/support/xcode/

Download links:

MacOS: https://actiontestscript.org/mobile.php?dl=macos

Windows: https://actiontestscript.org/mobile.php?dl=windows

You can also find these up to date links in the “Help” menu in Agilitest.

Configure a ATSMobileStation server

How to configure a MobileStation in order for Agilitest to discuss directly with MobileStation?

Find a video showing the steps to connect a Mobile Station server to Agilitest by watching this tutorial: https://youtu.be/-SE1kN03LMw (configure a Mobile Station server)

Connection to a server

To connect to a server, you must go to the Agilitest settings by clicking on "Settings" at the top right of the screen.

Access to settings in Agilitest
Agilitest settings

In the "ATS Mobile Station server" box, you can add a server that you will connect to Agilitest by clicking on the "Add" button

ATS Mobile Station server box in the settings
ATS Mobile Station server box

You will be asked to enter the IP address and port, which will be retrieved directly from the Mobile Station interface.

ATS Mobile Station server information box
IP address and port information

Press the "Enter" button to confirm your selection and the server will appear in a new line within the Mobile Station insert.

Click on the server to display the details and to be able to change the IP address and port.

Server information

Connect Agilitest to a mobile

There is a connection between Mobile Station and Agilitest, which allows Agilitest to know which devices (including IOS/Android tablets) are connected to Mobile Station.

Once the Mobile Station server is configured, open a new channel.

Start channel action line in Ailitest

Then, select "Mobile application" in the choice of applications (phone icon in the upper right corner)

Mobile application selection button

Agilitest will open a pop-up to enter the phone's IP address and port. You can enter this manually, or select a server connected to Mobile Station, like the one shown above.

Enter the phone's IP address or select a server.

Mobile explorer

Click on the "Discover" button to open the mobile window and its applications.

Discover button in the mobile explorer

This will display the applications installed in the phone as well as a set of information accompanied by a visual of a phone that is not necessarily representative of its real appearance but is intended to differentiate an Android from an iOS.

From the list of applications on the phone, select the one you want to test, then click "Ok".

Once you have done this, you will be able to see that the channel has been modified with the new information, then click on the run button to open the application.

Start channel action open a mobile app

Requirements to connect an Android

For Android, you need to set up your mobile in developer mode.

Check the Gitlab documentation to configure your device beforehand:

https://gitlab.com/actiontestscript/mobile/mobile-station#android-testing

Go to the "Help" menu, at the top right of the editor

help menu

Click on the “ATSMobileStation” link corresponding to your OS (Windows or MacOS)

download links

Execute the downloaded package to install this mobile device detection module locally.

Mobile Station unique use

On the MobileStation side, you will see a lock appear next to the mobile in which actions are executed. That means that this mobile is linked to this computer using Agilitest, so if another person who is using Agilitest on another computer wants to use this mobile a error message will appear to inform that the phone is already used.

To free the phone et stop its utilisation in Agilitest, you simply have to close the channel of your script.

Mobile Station execution

Mobile Station allows you to run tests on mobile devices and tablets through ATS or directly through Agilitest. The tests can be done on Windows, where only Android can be executed, or on MAC where it is possible to execute both Android and iOS. There are two ways to connect to mobile devices:

  • By Wifi connection, except for iOS devices and tablets.
  • By USB connection

Here is a scheme showing the execution system with Mobile Station:

Open a mobile application

Here is an example of a mobile test executed on a MAC. Agilitest is open with an already filled in script and Mobilestation is working with a plugged in Iphone.

The test procedure follows the same principles as a Web test.

Firts, open a channel,

Channel start action

When you want to use the capture tool, a visual rendering of your phone will open on your screen.

calculator app opened with the start channel action

Capture of an element

To capture an element, the system is the same as for other forms of testing (web, desktop, etc...).

Then press the CTRL key on your keyboard to open the parent window of the captured element and the attributes.

capture of an element in the calculator app

With the capture open, it is also possible to interact directly on the elements of the application by pressing the Shift key on your keyboard.

Special buttons in Mobile Station

Mobile tests are very similar to tests done on other applications.  However, two buttons are specific to Mobilestation:

  • Home” button

It appears in the center at the bottom of the phone’s visual. It serves as the home button you find on physical phones. By clicking on it the home page of the phone will appear.

Home button on the device

  • Refresh” button

It appears at the top of the phone’s visual. This button is to reset the capture if it encounters any problems. It is used to reinforce the update.

Refresh button on the device

Save parameters

You can save a setting to launch the mobile application you want in your ATS settings.

Click on the "Settings" button in the top right-hand corner.

settings button

Click on the "Edit configuration" button to open the .atsProperties file in your default text editor.

edit configuration button

Then you can add your parameters in the configuration file by naming the application and adding the URL of the concerned application.

Example :

<mobiles><mobile><name>Betclic</name>

<url>mobile://192.168.0.39:8080/sport.android.betclic.fr</url>

<waitAction>100</waitAction></mobile></mobiles>

example

Mobile Station and continuous integration

Continuous integration allows the deployment of a mobile application developed externally to Mobile Station through an API Rest.

Scheme of continuous integration with mobile station

The application is sent to Mobile Station using a Rest API. Mobile Station then installs it on the devices so that the application can be run and tested with an ATS script through USB or WiFi.

There are three different strategies for implementing continuous integration:

Strategies for implementing continuous integration

  1. The tester's continuous integration launches the application developer's continuous integration
tester's CI launches the developer's CI

With its continuous integration, the test designer triggers the continuous integration of the application developer who will generate an application from the source code. This application will be sent to Mobile Station who will install it on the devices to make it available for testing. (Link to the video of the animated scheme: https://youtu.be/ISN874CZxxI)

       2. The continuous integration of the application developer launches the continuous integration of the tester

Developer's CI launches the tester's CI

The application developer's continuous integration will generate the application from the source code. Then it will be sent to Mobile Station and installed on the devices. With the intervention of the test developer's continuous integration, the tests will be generated via the source code which will allow the execution of tests from Mobile Station. (Link to the video of the animated scheme: https://youtu.be/5ui7ZPKnOKQ)

       3. The application developer and the tester work asynchronously

asynchronous work between the developer and the tester

The application developer and the test designer can run their tests asynchronously. With its continuous integration the application developer will install its application on its devices via Mobile Station. With the test designer's continuous integration, the application installed on Mobile Station and its devices can be tested. (Link to the video of the animated scheme: https://youtu.be/CyMW2N2tjiE)

Related pages

No items found.
Still require support?
Contact support

Create a Bitbucket-hosted Git repository

This article introduces the management of Agilitest projects with a Git repository hosted on Bitbucket.

What is Bitbucket?  

Bitbucket is a service offered by the Atlassian company, which allows the hosting and versioning of files using Git. It is well known in the corporate world, easy to use, and allows a perfect integration with Jira, a bug tracking system developed by the same parent company.  
The management of Git repositories is done from the web interface of the SaaS service, but a desktop software is available to perform files staging and commit operations. It is called Sourcetree.  
For the purposes of this article, the Sourcetree software has been configured in English for greater clarity on the original Git terms: Stage, Commit, Pull, Push, Fetch, Branch, Merge, Stash. Moreover, not all the terms of the application are translated from English.  

For the purpose of this article, it is therefore necessary to have a Bitbucket user account, and the Sourcetree software in connected mode. The connection of Sourcetree with the Bitbucket account can be done through the login credentials, or through API tokens that are created on the Bitbucket back office in Personal settings > App passwords > Create app passwords.  
SourceTree has been configured to use the "system" installation of Git and not the embedded version which can sometimes cause authentication problems for repository clones.

Setting up an Agilitest project managed with Git  

The first step is to create a Git repository from the Bitbucket web interface or from the Sourcetree software in connected mode.

Creating an empty repository  

From the software, go to the Local tab, click on the Create button.  
Enter the path of an empty folder to contain the repository on the local hard disk, as well as the name of the repository (here repository-test). Tick Create Repository On Account and select the Bitbucket account on which to synchronise the repository (Account, Owner, Description). Tick "Is Private" to avoid publishing your content in open-source in full view of everyone.  

Figure 1: Creating a repository in Sourcetree

Setting up an Agilitest project in the repository  

In local operation, without Git, Agilitest allows you to create new projects. These projects are populated automatically with a default tree structure that includes libs, src, target, etc.  

But in this case we started by creating the empty project folder (to make it a repository). So we need to copy the elements of an empty project into our Git repository folder (here, repository-test). One way to do this is to create the repository-rest-2 project in Agilitest and copy and paste its contents into repository-test. Be careful however to update the README.md, .atsProjectProperties, and pom.xml files to adapt the correct project name.

Another way is to create the Agilitest project first, move its content elsewhere, initialize the Git repository, put back its content, then Stage and Commit the repository.

First commit  

At this step, we are at level zero of the project and ready to start. It's time to Commit.  

To do this, go to Sourcetree: Unstaged files > Stage all, then click on the Commit button at the bottom right. Be careful not to confuse this with the Commit button at the top left.

Figure 2: Staged files for Commit and Push

The project is thus "snapshot" in its initial state and, in the future, it will be possible to return to this state. To synchronise the repository and its commits on the Bitbucket server, click on the "Push" icon.  

A question that often comes up is how often to commit. To answer this question, let's take a look at the notion of atomic commits, which it is advisable to respect:  

  • A commit concerns only one task: a test maintenance, an evolution of an ATS test, a new ATS scenario, etc.  
  • A commit does not break the consistency of the repository by preventing the execution of the tests or the campaign.  
  • A commit must be associated with a concise and explicit message.

Possibilities offered by this configuration  

The possibilities offered by this Git Bitbucket repository are the same as for any Git repository:  

  • Versioning of Agilitest projects and in particular of .ats files.  
  • Collaborative work between several automation profiles on the same project, and in particular the notion of Merge.  
  • Synchronisation of project folders between the Git repository, the automation roles, and the execution server. Git is thus a pillar of the CI/CD chain.  

Note that report retention is usually handled by Jenkins, with the retention of artefacts from each job launch (#1, #2 etc), rather than by versioning of runtime report files.

Related pages

No items found.
Still require support?
Contact support

Git repository for Jenkins builds

How to use a project from a Git repository as an Agilitest project source for running Jenkins jobs

In this guide, we will explain how to use a project from a Git repository as an Agilitest project source for running Jenkins jobs. With each build, Jenkins will first perform the Clone of the Git repository, and then proceed to run the ATS scripts configured in the test suite, and then generate any reports.  

For the purpose of this guide, the Git repository is hosted at Bitbucket and has been initialized with a new empty Agilitest project by following the steps in the documentation Setting up a Bitbucket-hosted Git repository for Agilitest projects.  

Then, the Agilitest project (here, repository-test) lived on through commits, with the accumulation of ATS scripts, test suites, and data files.  

Creating the Jenkins job  

The Jenkins server must be started and connected to Agilitest from the Tools menu. It can be a local Jenkins server installed by Agilitest, or a remote server managed by your administrator.  

It is then time to create a new Jenkins job from the Agilitest run menu (by clicking on the "Manage project's execution suites" button in the "Projects explorer" accordion zone).

Figure 1: "Manage project's execution suites" button in the form of a cogwheel

Then switch to "Jenkins integration" mode and click on "Create a new task". Note that Agilitest has already recognized the presence of a Git repository in the project folder with its hidden .git subfolder. In our example we leave the */master branch by default. Then we drag and drop the desired test suite into the "Suites List" area.

Figure 2: Creating a new Jenkins job from Agilitest with a project initiated with Git

After validation, the new Jenkins job appears in Agilitest like this.

Before launching the build, it is essential to prepare the Agilitest project to support the Push and Fetch operations that will be performed by the Git client and the Jenkins server respectively. Git's default operation is not to synchronise empty folders, yet some of them are essential to Agilitest. A workaround is to drop an empty .gitkeep file in each empty folder of the Agilitest project. These files will force Git to synchronise the (empty) folders that contain them.

  • ./target/ats-output/.gitkeep
  • ./target/classes/assets/resources/lang/.gitkeep
  • ./target/classes/assets/resources/certs/.gitkeep
  • ./target/classes/assets/resources/images/.gitkeep
  • ./target/classes/assets/data/.gitkeep
  • ./target/report/.gitkeep
  • ./libs/.gitkeep
  • ./src/main/java/.gitkeep
  • ./src/main/scripts/.gitkeep
  • ./src/main/ats/subscripts/.gitkeep
  • ./src/assets/data/.gitkeep
  • ./src/assets/resources/lang/.gitkeep
  • ./src/assets/resources/certs/.gitkeep
  • ./src/assets/resources/images/.gitkeep

Configuring Jenkins  

First, the machine running Jenkins must have Git installed. The Jenkins server must have the Git plugin. Then the git.exe executable must be configured in the Jenkins Manage Jenkins > Global Tool Configuration > Git > Path to Git executable. In this case we have set C:\Program Files\Git\bin\git.exe.

Figure 3: Global configuration of tools (here, Git) in Jenkins

Let's take a look at what the newly created Jenkins job in the test repository project looks like from the web back office.

Figure 4: Configuration of a job from the Jenkins back office

The URL to the Git repository is recognized. It is important to configure authentication to the Git repository in Jenkins. Here we used a Bitbucket account (paul-chevalier) and an API token created from the "App passwords" menu in the Bitbucket administration interface.

One can initialize the Git repository in SourceTree with the syntax https://paul-chevalier:my-app-password@bitbucket.org/paul-chevalier/repository-test.git. The app password figures into the URL so in this case, configuring the Credentials in Jenkins is not required. To do that, SourceTree may require to address the System git.exe instead of Embedded gitlib.

Launching a build  

When launching a build on the Jenkins job thus configured, you can follow the Clone operation of the Git repository orchestrated by Jenkins in the standard output (Console Output icon). The name of the last commit appears here.

Building in workspace
C:\Users\paulc\.agilitest\work\jenkins\workspace\job\com.functional.repository-test\newJobJenkins
[…]
Fetching changes from the remote Git repository
>C:\Program Files\Git\bin\git.exe config remote.origin.url https://paul-chevalier@bitbucket.org/paul-chevalier/repository-test.git # timeout=10
Fetching upstream changes from
https://paul-chevalier@bitbucket.org/paul-chevalier/repository-test.git
[…]
>C:\Program Files\Git\bin\git.exe fetch --tags --force --progress --
https://paul-chevalier@bitbucket.org/paul-chevalier/repository-test.git +refs/heads/*:refs/remotes/origin/* # timeout=10
>C:\Program Files\Git\bin\git.exe rev-parse"refs/remotes/origin/master^{commit}" # timeout=10
Checking out Revision f167510d99abb5af2674db52227860cf423869fa(refs/remotes/origin/master)
>C:\Program Files\Git\bin\git.exe config core.sparsecheckout #timeout=10
>C:\Program Files\Git\bin\git.exe checkout -ff167510d99abb5af2674db52227860cf423869fa # timeout=10
Commit message: "Ajout de fichiers .copy manquants"
[…]

In addition, a new Git menu appears on the Jenkins page for the build (here #5).  

Through this article and its pre-requisites, we have used Git to link the test automation engineer's workstations that use Agilitest and the Jenkins server. Our continuous integration chain is ready!

Related pages

No items found.
Still require support?
Contact support

Setup a 2016 Windows Server

In this guide, we will present a step-by-step method to execute massive Agilitest tests.

In this guide, we will present a step-by-step method to execute massive Agilitest tests.

Global context  

The Windows server  

For the purpose of this guide, we installed a 2016 Windows Server. This is a common enterprise version, but the 2019 version works as well, as both share the same kernel as Windows 10.

This server is a virtualized VM with Linux KVM, and the hypervisor server itself is hosted in a datacenter. All configuration operations are done via Remote Desktop with the RDP protocol.  

During the setup, you need to check the "Windows Server 2016 Standard (User Experience)" version with a graphical environment. Firstly to facilitate administration operations, but mainly because most of the ATS tests generated with Agilitest require a desktop environment.

Two user accounts were created: worker1 and worker2.  

Installing Agilitest  

Agilitest was installed on the server from the Administrator session in C:\Program Files (x86\Agilitest. This installation is global for all users, and everyone will find an Agilitest shortcut on their desktop.  
On the other hand, the dependencies and configuration files are specific to each user concerning the two folders below:  

  • C:\Users\Administrator\.actiontestscript  
  • C:\Users\Administrator\.agilitest  

The same folders will be created for the worker1 and worker2 users automatically, during the first Jenkins build.  It is thus possible to have a particular configuration of the software for each user. For example, it is possible to modify the version of the Chrome or Firefox browser that will be used by the worker1 user by modifying the file C:\Users\worker1\.actiontestscript\.atsProperties.

You can find more information on the official actiontestscript page on GitHub.  

Installation of Jenkins  

Service or user command line  

Here Jenkins has been installed from the .msi installer for Windows. This installer offers to set up an independent Windows service, which we did (Login type: run service as local or domain user) with the user Administrator.

It is interesting to note that the Java package jenkins.war can later be run as a service or as a command line from a user session with desktop environment.

It is also important to mention that the way Jenkins is launched will have implications on the ATS builds that are executed. In service mode, running a test (e.g. Chrome web browser channel) will not generate any visible windows on the user session, which can be closed or locked, but the ATSV screenshots will be blank. In command line mode from a user session with a desktop environment, the test will generate visible windows on the user session, and the ATSV screenshots will work.

Anyway, it is recommended to run Jenkins as a service, and to run test suites with Jenkins Agents into user sessions with desktop environments. Jenkins agent can be stated at the opening of the session with shell:startup.

A tutorial in English on allowing a user account to run an executable as a service is available here. The steps to follow are as follows: Administrative Tools > Local Security Policy > Local Policies > User Rights Assignment > Logon as a Service (NT SERVICE\ALL SERVICES). The Administrator user has been added here.


The path to the Java JDK is requested by the installer. Java 52 (Java 8) or 55 (Java 11) are recommended by default but it is possible to use Java JDK 15 by adding the argument - enable-future-java in the Jenkins.xml configuration file.

The first connection to the Jenkins web back office requires entering a password contained in a text file. We then installed the recommended plugins.

At this point, the Windows Services Manager should allow the Jenkins service to be started and stopped. The auto-start type allows the service to start as soon as the server is started, even before a user logs on.  

The Jenkins installation was configured with the following points:  

  • Installation of the Locale extension to force the language "en" regardless of the language requested by the browser.  
  • Installation of the following Jenkins extensions:  TestNG Results Plugin & Test Results Analyzer  
  • Configure the path to git.exe (see article Using a Git repository as an Agilitest project source for Jenkins builds)
  • Add the label ats-executor in the menu Manage Jenkins > Manage Nodes and Clouds > Built-In Node > Configure.  

In this type of configuration, be careful to perform a Commit and then a Push of your Agilitest project so that Jenkins can execute your updates.


Related pages

No items found.
Still require support?
Contact support

Launching tests from an Azure DevOps pipeline

There are many ways to run ATS tests on Azure DevOps, here's a short overview of the solution we have implemented, which might give you some tips and tricks to implement yours.

To operate, Azure Pipeline relies on two types of agents:

1. Setting up the environment

You can install the Azure Pipeline agent on a Linux, MacOS, Windows or Docker machine. In this article we will detail the steps to use an agent on a Windows 10 machine. You can refer to the Microsoft documentation for the specifics of other platforms.

How to download and install the agent

To start, log in to Azure DevOps and click on ”User settings and then on ”Personal access tokens:

Follow the next steps:

  • Create a new token by selecting the Agent Pools (read, manage) permission
  • Return to the Azure DevOps home page and click on Organization settings at the bottom left.
  • Click on Agent Pools and select the Default pool or create a new Self hosted one.
  • Click on New Agent and follow the instructions on the page to upload your agent.
  • Unzip the downloaded archive on the machine where you want to install the agent and run config.cmd.
  • Follow the script to set up your agent, including the token created earlier. When you have the choice between an interactive mode or as a service, choose the interactive mode otherwise you will not be able to launch the ATS tests.
  • Once your agent is configured, run run.cmd to start it.
  • For more information about how to download and install an Azure Pipeline agent: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows?view=azure-devops

Machine setup

Once the agent is installed, several elements are necessary for the proper functioning of the ATS tests:

  • The .actiontestscript folder: this folder must be present at the root of the user's folder that will run the agent. It is created automatically and updated when Agilitest is launched. If you do not wish to install Agilitest on the machine where the agent is installed, you can copy and paste this folder from another computer where Agilitest is installed. In the future it will be possible to update this folder via npm and to automated it in the pipeline.
  • The JDK must be installed. Currently Agilitest needs JDK version 11 or higher.
  • Maven must also be installed, you can download it here: https://maven.apache.org/download.cgi

2. Creating a new pipeline on Azure DevOps

On Azure DevOps click on the “Pipelines” menu

Then click on "New pipeline" and indicate where your Agilitest project code is located

Follow the instructions to connect the Azure pipeline.

You can choose to use a preconfigured pipeline for Maven.

The selection of a maven project will allow AzuredevOps to directly manage the dependencies and external required libraries.

  • You can also start from an empty pipeline and add a Maven task.
  • In the pool section, change the "vmImage" type to "name" and enter the name of the pool you created earlier.

Modify the Maven task:

  • Change the value of "goals" to "clean test"
  • Change the value of "javaHomeOption" to "Path"
  • Add a "jdkDirectory" property and specify the path to the JDK on your machineo Remove the "jdkVersionOption" and "jdkArchitectureOption" properties
  • Add a "mavenVersionOption" property with the value "Path"
  • Add a "mavenDirectory" property and specify the path of Maven on your machine
  • Add a "mavenSetM2Home" property with the value "true"

Your YAML file should look like this:

For more information on the Maven task: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/maven?view=azure-devops

If you click on Save and run, the YAML file will be added to your source code and your tests will be run according to the configuration in your pom.xml file.

Related pages

No items found.
Still require support?
Contact support

Hardware and software requirements

Agilitest is an heavy-client application running on Windows operating systems or MacOS operating systems.

It allows you to create test projects, design tests and campaigns, and replay them directly from the Agilitest client.

Tests are generated in ATS (ActionTestScript), an open-source language compatible with Maven and TestNG standards, enabling seamless integration into continuous integration and DevOps pipelines.

More about ATS: www.agilitest.com/documentation/what-is-ats-actiontestscript-and-its-link-to-agilitest

Prerequisites

Software requirements

Supported systems

Installation of the Agilitest client requires access to a recent Windows system, at least:

  • Windows Server 2016
  • Windows 10 or 11
  • MacOS recent version (in particular for iOS testing)

The Agilitest client is not tested to work on emulated environments (but works on most of them)

For ATS test execution

ATS tests can run on multiple environments:

  • Windows
  • macOS
  • Linux (2018+)

Agilitest provides preconfigured tools and launchers to simplify ATS deployments.
Execution is fully supported in containerized environments, including:

  • Docker Desktop
  • Podman Desktop

👉 More information: actiontestscript.org

Installing Agilitest

Agilitest is delivered as a .zip archive.
Simply extract it into a directory with read/write access, ensuring the folder structure is preserved.

Make sure to:

  • Verify access rights to the installation directory.
  • Configure antivirus, Windows Defender, or anti-malware software to avoid interference.

To obtain a trial version, please send a mail to : contact@agilitest.com

First Launch and Configuration

Required components:

  • Java JDK 21 or later (Agilitest can provide a preconfigured version).
  • .NET Framework 4.8

To verify installation:

  1. Run Agilitest.exe from the root installation directory.
  2. On first launch, Agilitest will:
    • Propose installing or configuring a JDK.
    • Download the latest ATS libraries required for execution.

Once complete, you can create test projects and automate executions directly.

👉 Quick start guide: Getting started with Agilitest

⚠️ Note: Some tools set environment variables (e.g., JAVA_TOOLS_OPTIONS) that can affect Agilitest’s behavior.

System Under Test (SUT) Access

Depending on your target technology (Web, Mobile, SAP, etc.), additional software may be required.

  • Web: Chrome, Firefox, Edge, Opera, Brave, Chromium/JXBrowser, Safari (macOS only)
  • WebServices: Built-in graphical browser, no installation required
  • Android: Requires ATSMobileStation + physical devices or emulators
  • iOS: Requires ATSMobileStation + physical devices or emulators, Xcode dependency
  • SAP: Requires SAPLogon + automation enabled on both server and client

More information on mobility testing : www.agilitest.com/documentation/mobile-station

More information on SAP testing : www.agilitest.com/documentation/sap

Hardware Requirements

  • Processor: 4 GHz recommended (2 GHz minimum)
  • Memory: 32 GB recommended (16 GB minimum)
  • Disk: ~2 GB (tools included)
  • Display: Dual-screen setup highly recommended, minimum resolution 1920×1440

For containerized test execution:

  • Disk space for Docker or Podman: 10 GB minimum

Network Requirements

Agilitest requires internet access to regularly update components:

In offline environments, a standalone mode is available.
👉 More info: Agilitest standalone

ATS deployment on CI/CD systems

ATS and Agilitest are complementary.
ATS executions can be fully integrated into CI/CD and DevOps pipelines, with support for:

  • Windows, macOS, Linux
  • Containerized environments (Docker Desktop, Podman Desktop)
  • Integration with open-source tools and automation frameworks

👉 More information: actiontestscript.com

Related pages

No items found.
Still require support?
Contact support

Genymotion emulators

Agilitestet and ATS, through free software ATSMobilestation, downloadable here let you use Android emulators from Genymotion Desktop.

Download and install the Genymotion solution

The prerequisite to be able to do this is to have downloaded and installed the Genymotion solution and installed an emulator.

By default, the Genymotion Desktop solution will allow you to launch emulators for your personal use. This can allow you to carry out tests before opting for a paid version.

The advantage of using this solution is that it is perfectly integrated with Agilitest and ATS, and that you will be able to very easily launch a wide variety of Android emulators:

  • Different formats (phone, small tablet, large tablet)
  • Android version
  • Screen density
  • Screen size in pixels
  • Source

Genymotion Desktop

Then you just need to launch an emulator:


Start a Samsung Galasy S7 emulator in Genymotion
Emulateur Galaxy S7 Genymotion

Then, you must launch ATSMobilestation, which indicates the terminals which are connected, you have several possibilities:

In our case, the Genymotion Desktop emulator appears directly in the list of terminals connected to the PC:

ATS mobilestation - Agilitest

You just have to use it to perform a mobile test.

In the image below, you will be able to identify: the Genymotion Desktop solution having launched an Android emulator, Agilitest and ATSMobilestation launched and carrying out a capture operation on a key on the calculator.


Related pages

No items found.
Still require support?
Contact support

Genymotion cloud

Agilitestet and ATS, through free software ATSMobilestation, downloadable here allow you to use Android emulators in the Genymotion cloud.

The prerequisite to do so is to have a Genymotion cloud account.

At launch, ATSMobilestation shows the connected devices :

In our case, we have a OnePlus physical mobile connected by USB and controlled by the Wifi network.

A physical mobile is connected by Wifi

Setting up your Genymotion account

ATSMobilestation will manage your Genymotion account, launch emulators and perform tests on them using Python scripting language gmsaas .

Click on the "gear" icon to open the settings menu:

Menu paramètres d'ATSMobilestation

You need to install Python, then enter its path in the "Python folder" field.

Click on "Install components", ATSMobilestation will install the gmsaas components:

Installation of gmsaas

Enter your Genymotion credentials:

Renseignez vos identifiants

The installation is finished!

Click on "Finish"

Launch a Genymotion emulator in the cloud

ATSMobilestation then displays a new tab, with the list of Genymotion terminals to which you can have access:

Liste des devices Genymotion dans ATSMobilestation  

Click on the green + to launch an emulator in the cloud, the emulator is then installing...

Install a Galaxy S7

... and is displayed in the list of available emulators. The "chain" icon indicates that the emulator is linked to your instance of ATSMobilestation. The emulators available on the same Genymotion account but on other PCs/Servers do not have a chain.

The device is installed

You can also count them in the Genymotion cloud tab:

3 Genymotion devices are launched

The new terminal is available in the list of connected terminals:

Connected and ready to run

Use the Genymotion

You can use it in Agilitest to write or launch tests:

Opening a channel on a Genymobile terminal in the cloud
Performing a test on a Genymobile device


Related pages

No items found.
Still require support?
Contact support

Android emulators

First, you must be familiar with the use of ATSMobilestation, which centralizes all of the mobile terminals that are accessible from a given PC / server.

ATSMobilestation can connect to your physical terminals, with mobile terminals in the cloud (via the Genymotion solution, which is also available on the desktop), but also perform tests on emulated Android terminals installed on your machine.

There are several, and we do not have an exhaustive list of the terminals supported by ATSMobilestation, in general, an access to adb is enough for us to support them.

For the demonstration, we will use an emulator provided by Google with the suite Android Studio

Install Android Studio and launch an emulator

By clicking on the previous link, you will be able to download and install Android Studio. There is no particular difficulty, just make sure that the installation of "Android Virtual Device" is taken into account.


Installing Android Studio

At the end of the installation, launch Android Studio and select the menu  "Tools" and  "AVD Manager":

Launch of AVD Manager

Click on "Create virtual device".

Then select a device type, the version of Android on which you want it to work and download the system image.


Selecting an Android configuration

Then complete the download and configuration of your device, you should then see it appear in your list of available terminals:

 List of installed Android devices

Then just click on the "Play" button on the right, and wait for the system to launch.

Launch ATSMobileStation

Then launch ATSMobilestation which will automatically spot the launched Android emulators, and you should see your emulator appear in the list:


The Android emulator spotted by ATSMobilestation

The right button allows you to launch the emulator, stop it, etc.

Once launched, it appears in the list of "Connected devices", in the image below you will see an emulator launched on your PC, and a phone connected to your PC: both are accessible by ATS and Agilitest.

Liste of connected devices

Launch Agilitest

Then, you just have to launch Agilitest and you should see your emulator appear in the list of accessible terminals to perform a test:

Selection of a device in Agilitest

Then you just have to select an application to test


Selecting an application to test


Agilitest in Capture mode on the Android Studio emulator

Related pages

No items found.
Still require support?
Contact support

Automation of HTTP Archives

Agilitest allows you to automate the creation of HTTP Archive (HAR) files which will be useful for analyzing network flows during the execution of a test.

HAR format

The HAR format makes it possible to record the details of the Urls  visited and the chronology of their loading made during an HTTP request.

It records the information related to all of the pages, files and images that are downloaded by a browser when you visit a URL.

You can then use a .HAR file viewing software that will allow you to display this query graphically.

You can obtain this result :

More information on the HAR format: https://en.wikipedia.org/wiki/HAR_(file_format)

How it works in Agilitest

The HAR format recorded by Agilitest involves more than visiting a  single URL, it can record all of the performance of a software test and  all of the URLs that were visited by the test, and it can do it action  per share.


We have an ATS actions specific to this integration, you can put URL filters, start and stop recording as well.

Activating performance mode


The performance mode is not activated by default in Agilitest.

To do this you will need to modify your .atsProperties file and insert an XML element <performance> inside <execute>:

<?xml version="1.0" encoding="utf-8">
<execute>
	...
	<performance>
    	<idle>4</idle>
    	<blacklist>
    		<url>https:\/\/www.google.com.*</url>
        	<url>https:\/\/accounts.google.com.*</url>
    	</blacklist>
	</performance>
	...
</execute>...
The performance tag allows you to integrate other configuration elements.

Example:

Integration with Octoperf will allow you to transmit your HAR files directly into Octoperf projects to carry out load tests.

The parameters are the following:

  • idle : Allows you to change the default network timeout. See the "Configure Network Capture" action below.
  • blacklist: allows you to specify URLs whose browsing information you do not want exported to the HAR file. This allows you to remove advertisements, for example.

Once this configuration is done, if you restart Agilitest, you will see a Performance action  appear on the right of the actions menu:

The Performance menu is drop-down and displays the following sub-menus:

Open a channel in HAR recording mode

You must create or modify your channel opening action to indicate to Agilitest that you wish to activate the network recording and control functions.

Click on the third icon to the right.

performance button

The channel opening action will make the "Performances" icon appear.

channel with performance action

Add recording functions

Settings

This action will allow you to configure the network capture

You can modify the behavior of Agilitest when recording the replay of the test allowing to provide a .HAR:

  • Latency:  This allows you to add latency in seconds to all requests sent and received by the web browser in use by Agilitest.
  • Traffic idle:  Maximum time in seconds before considering network traffic to have ended after the last recorded network activity (default: 3 seconds).
  • Upload: Limits the uplink bandwidth in bytes / second.
  • Download:  Limits downlink bandwidth in bytes / second.
  • Add URL filter: This allows you to filter the URLs that will be counted and saved in the corresponding HAR file. You can add as many filters as you want.

You have the option of adding unauthorized URL filters, which will therefore not be saved in your HAR file. As this is more of a general configuration topic, this is done directly in the configuration of your .atsProperties file.

Record

This action is a switch on/off which tells to Agilitest when you want to start recording network traffic.

You can stop and resume recording at will depending on the actions that are performed by Agilitest.

Recover HAR file

When your test is performed, if the channel has been opened in Performance mode, the channel closing action will generate the .HAR file.

You just have to recover it in the following directory:

target/performance/generateHAR.

Related pages

No items found.
Still require support?
Contact support

Automation of Octoperf scenarios

What is Octoperf?

Octoperf is a SaaS and On-Premise Load Testing solution.

Agilitest allows you to automate the generation of scenarios and to import them directly into your Octoperf account.

The two solutions are therefore very complementary since you will be able to transform any functional test carried out with Agilitest into a load test in Octoperf.

This is how it works:

  • You record a functional test scenario with Agilitest
  • You add the ATS actions necessary for its instrumentation with Octoperf
  • You replay this scenario so that Agilitest will generate a .HAR file and transmit it directly to your Octoperf account, in the worspace and the project you want.
  • You can then use in Octoperf the data that has been imported by Agilitest to carry out load tests, and analyze the results.

This makes it possible to benefit from the Agilitest capability of recording and replay a scenario to transform any functional scenario into a load test.

We have an ATS action specific to this Octoperf integration called “Perfomance”.

Activation of the Octoperf mode

First of all, you must activate the Performance mode, to allow the generation of HAR files.

It is also necessary to activate the Octoperf mode by modifying your .atsProperties configuration file and insert a <performance> tag inside the <execute> tag.

The following code activates the two necessary modes:

<?xml version="1.0" encoding="utf-8"?>
<execute> 
...
	<performance>
		<octoperf>
    		<host>https://api.octoperf.com</host><apiKey>1b3b3b85-bbb5-219b-936b-61bb521b23ed</apiKey>		
        	<workspaceName>AgilitestWorkspace</workspaceName>
        	<projectName>AgilitestCaptureProject</projectName>
		</octoperf>
    	<idle>4</idle>
    	<blacklist>
    		<url>https:\/\/www.google.com.</url>
        	<url>https:\/\/accounts.google.com.</url>
    	</blacklist>
	</performance>
...
</execute>...

The parameters are as follows:

  • host : corresponds to the address of the Octoperf server, in general leave it by default.
  • apiKey : corresponds to your API key which you can obtain on your Octoperf account by clicking on the "Profile" section of your account

Profil Octoperf

It is then displayed at the bottom right, you just have to make it visible and copy it by clicking on the "eye" icon.

  • workspaceName : Corresponds to the name of the Octoperf workspace in which your project is located
  • projectName : The name of your Octoperf project

Once this configuration is done, if you restart Agilitest, you will see a Performance menu appear on the right of your screen:

The Performance menu is scrollable and displays the following submenus:

Open a channel in Octoperf recording mode

You must create or modify your channel opening action to indicate to Agilitest that you wish to activate the network recording and control functions.

Click on the third icon to the right.

The channel opening action brings up an icon identical to the "Performances" menu

Add integration functions with Octoperf

Settings

This action will allow you to configure the network capture.

You can modify the behavior of Agilitest when recording the replay of the test to provide a .HAR:

  • Latency: This allows you to add latency in seconds to all requests sent and received by the web browser in use by Agilitest.
  • Traffic idle: Maximum time in seconds before considering network traffic to have ended after the last recorded network activity (default: 3 seconds). The default value of this parameter can be modified with the <idle> tag in your .atsProperties file.
  • Upload: Limits the uplink bandwidth in bytes / second.
  • Download:  Limits downlink bandwidth in bytes / second.
  • Add URL filter: This allows you to filter the URLs that will be counted and saved in the corresponding HAR file. You can add as many filters as you want.

You have the option of adding unauthorized URL filters, which will therefore not be saved in your HAR file. As this is more of a general configuration topic, this is done directly in the configuration of your .atsProperties file.

Record

This action in switch on / off mode allows you to tell Agilitest when you want to start recording network traffic.


You can stop and resume recording at will depending on the actions that are performed by Agilitest.

Save VU

This action completes the registration, finalizes the generation of the .HAR file and sends it directly to your Octoperf account according to the methods defined in the configuration parameters of your .atsProperties file.

You have the possibility to act on the following information:


  • Modify the description of the VU that will be sent to Octoperf
  • Change the name of the virtual user
  • Add a list of tags, separated by commas which will be used in Octoperf.
  • Select the possibility of appending the actions:

               - Append: the HAR actions accumulate in your Octoperf project

                - Don't append : the HAR previously saved in your project are erased before sending the HAR file.

Related pages

No items found.
Still require support?
Contact support

Making software tests more robust

There are a number of tips to know when doing software test automation in general, and with Agilitest in particular to make your tests more robust.

Indeed, when it comes to automated software testing, there is an automation tool, and there is also the SUT (system under test) which has its own behavior, its response times and its peculiarities that will have to be taken into account.

This post covers a set of tips that we recommend you use to make your tests more robust.

About the use of Max / Wait for in a test

Your server is slow to respond : never mind, we will wait 5 more seconds !

We do not recommend doing that, this post will explain why and how to deal with the subject. The proposed technique will allow you to manage all the solutions where a certain latency between the software and Agilitest can occur : waiting for a server response, complex calculation on a Desktop solution...

Object identifiers

Some component frameworks generate identifiers that may only be valid for a given browser session, and relying on these identifiers to perform tests is risky, since it is highly likely that during execution The identifiers have been changed.

In some cases this can still be done using regular expressions.

It is enough to recognize the part of the value of the attribute of the component to be recognized that is always fixed, for example a prefix or suffix, in the following case :

"select_

"id = select_4657

To treat this case, the following regular expression applied to the attribute "id" should do :

select_( d{4})

So the number of four digits can vary depending on the executions, but we will always find in a very robust way the component with an id beginning with "select_".


The design of ATS

During the design of Agilitest and the ATS language, we have benefited from several years of experience in market automation solutions, and we aim to overcome a number of shortcomings and/or defects. This involves the implementation of configurations specific to runtime environments: by default, ATS is designed to work correctly in most cases, But it is still possible to change its configuration.

Double property checks

When recovering a value on a composter, Agilitest will double-check the value to ensure that it retrieves accurate and stable information. This ensures that the values we want to control are definitive and those provided by the test, while adding stability and reliability.

The configuration by robot execution

The reliability of a test also depends on its speed or its slowness of execution. Indeed, networks and machine performance can put tests into chess.ATS takes into account the possibility that machine performance impacts the execution of tests. Thus, when it is launched, ATS will recover a configuration file .atsProperties specific to the job it is running on.

This makes it possible to fine-tune runtime environments to the desired context, for example a development software version or a production version may not respond in the same way: With this system there are many more guarantees to always have a regular replay.

Configuration by navigator

The behavior of the test and therefore the result of its execution may also vary depending on the browsers. It is therefore also possible to configure the execution environment according to the browsers used.

Robustness at the center of the issues of our development product

Robustness and maintainability of the tests are at the center of our concerns because we want that the testers focus on what is really important to them. In Agile/Lean jargon, we seek to remove "muda" (waste of time/waste) as soon as we have the opportunity.

Related pages

No items found.
Still require support?
Contact support

Automating dialog box validation

How to automate a dialog box validation

It will happen often that you will need to validate a dialog box on supported web browsers in order to confirm or cancel an action.

However, it is impossible to capture a dialog box with the capture tool.

To automate the validation with Agilitest, you will need to select the dialog box from the root application available in an action.

When you create an action without inteface element, it will show the root application.

Click on the “Mouse” action in the actions menu and click on "Mouse click"

Click on the “Root application" to select the interface type

A new menu will appear with the following possibilities:

  • Add an interface element
  • Add a parameter element
  • Modify the system element
  • Manage a dialog box
  • Screen record

To know more on the other elements types, you can consult ou documentation about Editing actions.

Confirm the dialog box

From the root application, select “Dialog box” to show its options

There are three actions possible on a dialog box.

Select the validation type you need for the dialog box:

  • Accept
  • Dismiss
accept box

Example:

A dialog box that needs to be accepted or dismissed

example dialog box

Click action

It is also possible to simply use the click action on a dialog box if only one button appears.

click on dialog box

Example :

An “Ok” button that is used to make the dialog box disappear

ok button on dialog box

Property action

On each of the proposed actions it is possible to perform a property action which will enter the information entered in the dialog box.

Example :

To do that, click on the “Property” action situated in the action menu

Then, select “Dialog box” from the root application.

This will return the text shown in the dialog box,

dialog box text

As a value in your property action.

value in a propert

Related pages

Still require support?
Contact support

Encrypted passwords management

The default encrypted Key vs. the custom Key

It is crucial to understand the difference between Agilitest's native management and the use of environment variables:

  1. Agilitest Default Key

Useful for rapid local development. Agilitest and the ATS runner share an internal key that allows for transparent encryption and decryption on your computer

If you want the password to be managed and encrypted directly by Agilitest (for local use, for example, without going through the OS).

In Agilitest, go to the Project > Project secrets menu

Click on the key button to create a password that will be used as a variable

Agilitest will encrypt the value securely (it will not be visible in plain text in the source code).

To call it in the script, use the special menu value or enter: $pass(MY_PASSWORD).

  1. Custom project/environment key

In a corporate setting or for your CI/CD pipelines (e.g., GitLab CI), using a generic key is not sufficient. You can associate a specific environment key.

If you use an environment variable such as $env(...), it is not “encrypted” by Agilitest itself, but by your orchestrator. If you run your tests through a software pipeline (Jenkins, GitLab CI, GitHub Actions), your CI/CD tool is the one that encrypts the password. 

You create a protected secret or credential in Jenkins,GitLab or directly in the exploitation system of your machine, and the tool handles injecting it as a masked environment variable at runtime. This is the industry best practice for separating secrets from code.

Create the environment variable in the operating system

On Windows:

  • Using the graphical interface:
  1. Open the Start menu, type “Environment Variables” and select Edit System Environment Variables.
  2. Click the Environment Variables... button.
  3. In the User Variables or System Variables section, click New.
  4. Name the variable (e.g., MY_PASSWORD) and enter your password, then click OK.

On Linux or macOS :

  • Via a terminal :

export MY_PASSWORD="Secret123!"

This will only work for the active session, to make it permanent, add this command at the end of your file: ~/.bashrc or ~/.zshrc

In Agilitest,if you have an enter text action on a password field, simply use the corresponding environment variable by using $env(MY_PASSWORD).

When executed, ATS will retrieve the value stored in the system of the machine running the test and enter it.

Security in Reports and Logs

The primary role of ATS Core is to ensure that decrypted data does not “leak” anywhere other than to the target element of the application:

  • Execution logs: The text logs generated by ats-core automatically replace encrypted passwords with security masks. 

Agilitest automatically masks these values ($pass) with asterisks (****) in HTML execution reports to prevent security breaches.

  • Visual reports: In Agilitest reports (screenshots and videos), fields identified as passwords remain blurred or masked during automatic entry to prevent exposure when viewing the results.

🔶Warning 

When using the environment variable, it is essential to set this environment variable with the correct key on the test designers' machines and on the test execution machines. Otherwise, the data will not be decrypted.

Related pages

No items found.
Still require support?
Contact support

Quick start

Whether you want to try Agilitest or start using your license, this documentation will guide you through your first steps: downloading, installing and launching Agilitest, then creating your first tests.

1. Download and install Agilitest

Agilitest is installed on a Windows computer.

Before getting started, we recommend reviewing the technical requirements and following the detailed installation tutorial available here:

https://fr.agilitest.com/documentation/agilitest-installation

This page explains step by step how to download Agilitest, run the installer, and complete the installation on your computer.

Once the installation is complete, you can launch Agilitest from the shortcut created on your computer or from the Windows menu.

Warning

Make sure you install Agilitest in an environment where you have the necessary permissions. Insufficient permissions may cause issues during installation, updates, or script creation.

2. Launch Agilitest

The ChangeLog window will appear at the opening of Agilitest when it is your first time opening Agilitest or when modifications have been made since the last time you have opened the software.

ChangeLog

The ChangeLog is there to inform you about the last current Agilitest version and about the modifications that have been made on the software (sometimes with a short explicative video to better understand).

For your first opening of Agilitest, the terms and conditions of use will be presented to you.

Read them and click on the “Accept” button.

terms and conditions

Once this is done, the first ATS components updates will start automatically.

ATS components update

An update is made about every week, notably to support the browsers and webdrivers evolutions.

Agilitest works with the JDK (Java Development Kit). Java will be used during the whole compilation and execution phase of automated projects. By default you will need a JDK in your environment.

To parameter youor JDK you can do it from the settings menu at the bottom left of the side bar in Agilitest.

It is possible to link to an existing JDK on your computer or you can directly download it from Agilitest as indicated by clicking on the "Download" button. This will download the open JDK which is a selfported version of the JDK.

The two prerequisites to use ATS are the ATS package and the JDK which will make the editor functional.

You need at least a version 11 of the JDK. Agilitest will download the latest version.

💡 Tip

If you have UFT installed with a JDK in the environment variables, then you can make Agilitest cohabit with this existing Open JDK.

Display the Agilitest editor interface art the top left of your editor.

In this interface you can find various information:

  • All the information regarding your machine connected to Agilitest as well as your licence
  • Changelogs menu: to display all the previous changelogs
  • "Copy the date" button
  • Used Licneces: to access your licence page with your ID
  • Reinstall button
  • Command: to open a terminal

You can also have access to various links from the "help" menu, at the top right of the editor.

These links complement the use of Agilitest.

You will find the link to download Agilitest. Links to download Mobile Station on Windows or MacOs and a link to download the ATSV player.

As well as are various resources with links to Agilitest documentation, website, tutorials, web drivers and a list of integrations you can use with Agilitest.

In the external tools menu, at the bottom of the sidebar, you will find additional tools that can enhance the use of Agilitest.

By default, Agilitest will display an error icon if they are not downloaded. It is recommended to download all of them during the installation to have them accessible.

The side bar to the left of the editor has multiple menus to create, organize and maintain your scripts.

The project explorer is where the different scripts and their components are placed.

The channel management part is used to manage the execution of the scripts.

Then the part dedicated to the variables below.

A documentation is at your disposal for more details concerning the Agilitest interface.

3. Create a new project

▶️ You can find a tutorial on how to create a new project on our Youtube channel.

To create a new project, click on the action “New project” in the side bar.

You can rename your project and change its domain if you want to divide your project into different domains.

When you create a new project, it will create a project directory "AgilitestProjects" where all your projects will be automatically placed.

The path to your project in Windows Explorer will be indicated. You can also add a description to your project.

Once the project is created, it will be placed in the project tree in the project explorer, with the name of the current project at the top left of the editor.

Note: Agilitest scripts are ActionTestScript files (.ats). You can create sub-directories to better categorize your projects. You can also create sub-scripts, which have no differentiation with scripts, both are ats files, only one is called by the other.

There are two ways to create a script:

  1. By clicking on the “Create an ATS script” button inthe project explorer.

       

          2. By clicking on the “New component” button in the side bar.

           And by selecting “Create ATS script

Enter the name of your script. This will open a window corresponding to the graphic interpretations of the actions that will be performed on your script. The ATS format is a textual format that will describe all its actions.

To do the link between Agilitest and the tested application you need to open a channel.

To do that, click on the “Channels” menu and select the action “Start channel” and then select your application.

It is possible to do multi-channel by creating several open channel actions. The name of these channels will automatically adapt to the number of open channels. It is also possible to rename them.

🔸 Warning

You can only make one instance with web browsers, which means that for the same browser opened in several channels it will correspond to several tabs or channels that open different browsers in parallel.

Once you have created the channel action, click on the execution button to launch the action

This will open the channel opening window with various information about the browser and the operating system.

channel opening

On the Agilitest interface, the opening of the channel will be indicated by its presence in the channels management area with a line that appears with the name given to the channel.

In a web test, to access a URL you must click on the "Navigation" action and select "Browser URL".

Click on the action to open the input bar and indicate the url you want to launch.

input

Once the site is open you can perform various actions using the elements that compose it. To do this you must capture the elements with the capture tool.

Click on the “Capture” button in the channels management

The capture tool will open by placing a filter on the channel and bringing up the capture window. With your mouse you can hover over the DOM elements that will be highlighted by a blue box.

capture tool open

To capture an item, press the CTRL key on your keyboard to open the parent window of the captured item.

captured element's parents

This window displays the tree structure of the element from the root to the targeted component. Each branch of the tree has properties that can be selected as attributes. The properties can be taken from the various branches of the tree for further clarification.

🔸 Warning

Pay attention to the properties that are going to change and that cannot be recognized in the script afterwards (Example: text, class, etc).

Click on an attribute to open the property value. This can be changed in the form of a regular expression.

regex

Once the attributes are selected, click on the statistics button to confirm the uniqueness of the element found.

statistics button

If several elements match these attributes, you can select others by moving up in the branches.

Once this is done you can drag and drop your element into the script which will create an action.

Select the action you want to use.

Action selection of the captured element

Once the capture is complete, you can close the capture from the channel management menu in Agilitest.

close capture tool button

Or you can click the "Close" button from the capture window to stop the capture tool.

close button in captured window

Your actions will be added to your script. It is possible to move them manually.

action presentation
  1. Each action has an index that is automatically added and adapts to its position in the script.
  2. In the action is the nature of the action which can be configured.

Example : For the text input you can enter the text you want to appear in your test.

       3. Finally, you will see the component that has been captured. You can click on it to have access to its value which you can change. You can add parents and children to your element and change the nature of the component.

children and parent's element

Once your script is completed, you can launch the execution by clicking on the “Play” button in the channels management menu.

Execute test button

🔸 Warning

In access remote, make sure that your sessions are kept open during the executions.

When you want to close your channel, you can create an action “Close channel”.

Close channel action

You can also close your current channel from the channels management menu.

To do that, click on the “Close” button

Close button in channels management

Or you can click on the “Stop” sign in the channel line

Stop button

🔸 Warning

You should not close your channel manually directly from the application. Agilitest is not intrusive (no plugin), it has no way of knowing that you have closed an application directly by the actions of the operating system (Example: by clicking on the cross of the application window).

Related pages

No items found.
Still require support?
Contact support

Activation of Agilitest

You have just ordered an Agilitest license and you should have received your customer ID. If this is not the case, please contact our sales department who will provide it to you. (mail : contact@agilitest.com )

How to activate your Agilitest licence

Here is all the information necessary to obtain the activation of your licenses on your workstations, this operation must be done for each license and for each workstation:

  • Connect to the computer on which you want to activate the license.
  • Launch Agilitest and click on the license activation banner at the top
 License activation banner  

Once you have obtained your license, you will receive an email to activate your customer ID and access your admin dashboard.

Enter your email address and password for your Agilitest account.

🔶 Warning

Before activating your license, the demo version must be deactivated. If this hasn't already been done, please contact our customer service team via Slack or email: contact@agilitest.com

Once you've logged in, you'll have access to your customer dashboard, where you will see all your activated licenses.

About Agilitest Editor

The “About Agilitest Editor” window has a card-based layout: 

  • System: Machine name, User name, System ID, System build number, System language
  • License: Customer ID, Company, Email, Expiration 
  • Capabilities: Agilitest, AgiliDoc, AgiliPerf, AgiliSecOps, IA/SAP functions

When the editor runs without a license server connection, the popup displays the agilitest.lic file metadata, the activated products (Agilitest, AgiliDoc, AgiliPerf, AgiliSecOps, struck through when not activated) and the AI / SAP capability state.

From the editor, a license-server connection status dot is at the top-left corner of the logo (green = WSS, orange = HTTPS fallback, gray = standalone / unreachable)

Related pages

No items found.
Still require support?
Contact support

iFrames automation

Some HTML pages include iFrames (inline frames) in their design, especially to insert elements from another server into the page.

How to identify iFrames elements

To find elements on these HTML pages, you will have to select each iFrame in the page's DOM otherwise you won't be able to find the children of this IFRAME on the page.

Example below :

  • Select the iFrame attribute that allows you to recognize it:
  • Select the attributes of the children you want to automatically find in this iFrame:

The object is then recognized without any problem.

Note :

If the iFrame is not identified, the result will be negative to detect its children as accurate as the selection of attributes.

Related pages

No items found.
Still require support?
Contact support

Test reports

Agilitest is able to generate an XML file containing all the important information about the test process, as well as the successive images of the different actions performed. We have chosen to rely on an open format (.xml) and a document generation engine under free license (FOP).

These .xml files can be used to produce all types of reports:

  1. Execution reports:

              · Execution report: for a global reading of tests execution

              · Detailed execution report (with or without screenshot): to analyse the reasons for failed tests

                 ◦ Summary report (HTML): for a global reading of test success in a specialized format

                 ◦ ATSV report: Execution images compiled in a video format (played via the ATSV player)

        2. Validation report: to document and to archive the implemented executions

Below is a scheme on how to use the reports according to the needs ot the teams and the way the organisation of the information can be used (plus, an animation video of the scheme https://youtu.be/2UdsYINPk_s)

Scheme about test reports organisation

Agilitest utilizes the open-source ATS (ActionTestScript) engine to execute automated tests. Upon completion of a test run, the system generates a comprehensive suite of visual and technical reports. these are designed to help teams analyze results, troubleshoot failures, and provide quality metrics to stakeholders.

The main HTML report (ats-report.html)

The ats-report.html file serves as the central hub for viewing test campaign results.

Key Interface Components:

  • Dashboard: Provides a high-level overview using pie charts to show the number of passed, failed, or blocked tests.
  • Script Details: Lists every executed ATS script with its final status. Clicking a script expands the view to show individual steps.
  • Action Log: A chronological breakdown of every action (clicks, text input, assertions). Each entry includes:
    • Execution duration.
    • Status (Success/Failure).
    • Associated screenshots (if enabled).
  • Visual Media: Integrated screenshots and videos for debugging. Since 2023, the report includes an automatic HTML player for .atsv (ATS Video) files.

Reports are typically generated in the project's /target/ folder following a build or execution.

The reports have various capabilities:

  • Stability Analysis: Tracks "flaky" tests by comparing current results against historical data.
  • Assisted Diagnostics: Analyzes the context of a failure to determine if it is a performance issue (timeout), a network error, or a genuine application bug.
  • Report Customization: Users can brand their reports by adding a watermark.png in the src/assets/resources/reports/images directory, which will appear on all generated screenshots.

CI/CD & Devops integration

Agilitest reports are designed to fit into modern automation pipelines:

  • XML Export: The Surefire-format XML files are the industry standard for integration with Jenkins, Azure DevOps, and GitLab CI.
  • Test Management: Results can be automatically pushed to test management tools like Squash TM or Xray to maintain a centralized "source of truth" for quality assurance.

Configurations

Reports generation

It is possible to configure the information that you want to see appear in your reports (execution or validation) from the project constructor by checking the “Generate report” case or from your Jenkins integration. You will be able to choose to generate execution reports or a validation report.

In side bar in the editor, click on “Executions management

Then by click on the case “Generate report” in the project’s builder. This will give you access to the “Report detail level” drop-down menu as well as the possibilty to check the “Generate validation report” case.

Reports storage

At the end of the execution, the reports will be stored in one of these default files:

Report generated via Agilitest;

  • Java : <Agilitest_project_file>\<project_name>\target\ats-output
  • Maven : <Agilitest_project_file>\<project_name>\target\surefire-reports
  • Or placed according to the user choice

Report generated via Jenkins integration:

  • Jenkins : <jenkins_job_folder>\builds\<numero_de_build>\htmlreports\<nom_du_publisher>\

Execution reports

The level of information in the execution reports can be chosen in Agilitest by using the drop-down menu "Report detail level".

The execution reports provide three level of information from the project’s builder in the Agilitest editor.

Each report level has the following headers:

To the top right you have access to:

  • Dashboard: which is the landing page and the high-level summary of your test execution
  • Summary report (summary.html): which is the high-performance, bird's-eye view designed for large-scale test campaigns
  • Overview: which is the Executive summary, the primary landing page or default view of the ats-report.html file.

Execution report

The execution report provides a global reading of tests execution.

Detailed execution report (with or without screenshots)

The detailed execution report provides a better understanding of the tests design and of potential bugs.

For each playlists it indicates:

  • The modifier
  • The last time it was modified
  • When the playlist started being executed and when it ended
  • Test and external ID
  • Links to the ATSV file and the HTML file
  • A test description
  • Various graphs (executions history, actions durations, actions type)

For each actions (with screenshots) it indicates:

  • Action type
  • External links
  • Details of the action
  • Execution time
  • The status of the action’s execution (passed or failed)
  • Screenshot of the action (if the option was selected)

A purple insert corresponding to the action will appear in the image when an executed action corresponds to an user interaction (example : Mouse actions, text input, etc…).

When an action is failed or is not validated but does not prevent the test’ success, a explanation of the error will appear in the information part of the action.

For each execution, you can select a test directly in the report and add a filter which will automatically put the test into the selected group in the editor.

The video report: ATSV

The ATSV_HTML file can be accessed directly from the execution reports and corresponds to a video format of the report presented as a set of compiled images accompanied by animations of the executed actions.

Summary report

The summary report is generated directly from the execution report in a HTML format. It is consulted by managers and the teams project to have a report of the executed tests’ success in a specialized format. It corresponds to a summary by execution Suite and by test in order to have a global status of the software quality assurance.

Directly from the Execution report, click on the Summary link to generate the HTML file (at the top right of the Execution report)

The display of your summary reports can be customized with project report's images.

To access it, open your project properties by clicking on menu located in the side bar of the editor.

Then choose the images you want to display in your reports.

The validation report

The validation report is generated by checking the box "Generate validation report" in the project’s builder:

The validation report is designed to be a proof of execution to be saved or archived.

It includes the same information as the detailed execution report with clickable screenshot, except that:

  • It has no link,
  • There are all actions (execution time, action execution status) except these: no ActionChannel as well as ActionProperty and ActionComment,
  • In the information part, there is no "error" part and in the "element" part, we find the Tag and Criteria but we do not find the number of elements found, the search time, the location, the click position.

Related pages

No items found.
Still require support?
Contact support

Activation of the automation module

Agilitest support the tests automation on Android devices.

Prerequisites on the Android terminal

  • Enable the smartphone's developer mode to allow "USB Debugging"
  1. Go to the settings.
  2. At the very bottom, go to "About the device" (or in "System - About the device", on some models).
  3. Press the Build Number box several times (seven times) until a message appears "You are now a developer". You have just activated the developer mode on Android.
  4. Return to the main settings menu, you will then see a new sub-menu: "Options for developers" or "Development options" depending on the manufacturer customization.
  5.  In the developer options, enable "USB Debugging".
  6. Disable all the automatic screen locking functions.
  7. Connect the Android terminal on USB.
  8. Connect the Android terminal to the same WiFi network as the one to which you are connecting Agilitest.
  • On Windows 7, install the developer driver provided by your phone manufacturer. For example, here is the driver for Samsung Devices. After installing the driver, an "Android ADB Interface" line appears in the Windows Device Manager by connecting the phone via USB.

Prerequisites on Agilitest

  • In the "Help" menu, click on the link dedicated to downloading "AtsMobileStation" in agreement with your OS (Windows or Mac OS)
  • Run the downloaded package "AtsMobileStation.exe or .dmg" to install this mobile device detection module locally

Start of test automation

Launch ATS Mobile Station. The first screen displays that there are no devices found, but the system starts scanning the USB ports. If this screen persists, make sure that you have connected your Android device to the USB port on your PC and that it is in developer mode..

ATS Mobile Station has just discovered a connected Android device and is configuring the connection.

Finally, the terminal is found, configured and ready for use. Get the IP address of the connected terminal to enter it in Agilitest.

In Agilitest, create the ATS script that suits you and insert the "Start channel" action and select "Mobile".

Start a channel on mobile devices

Enter the IP address of the connected terminal, click on "Discover" and then select the installed application you want to launch automatically:
 Click on "Ok" to finalize the pairing.

Enter your Android device's IP adress

The opening action of the mobile application is configured in Agilitest.

The action "Start channel" on an Android device

The activation of the capture in Agilitest opens an remote display of the screen of the controlled terminal in order to automate directly above the desired actions.

Saving the settings for launching a mobile application

You can save this setting for launching the desired application in your ATS settings as follows:

Click on the "Settings" button on the top right.

Click on the "Edit configuration" button (this opens the.atsProperties file in your default text editor)

Fill in the configuration file by naming the application and filling in the URL previously defined

<mobiles>
<mobile>
<name>Betclic</name>
<url>mobile://192.168.0.39:8080/sport.android.betclic.fr</url>
<waitAction>100</waitAction>
</mobile>
</mobiles>

Related pages

No items found.
Still require support?
Contact support

Configuring ATS

When using Agilitest for the first time or during its use, you can configure the software to optimize its use. Agilitest works mainly with the ATS and Java (JDK) packages that will be used to create, maintain and execute automated projects.

At the top right of the editor there are various support menus including the "Settings" menu.

settings button

Click on the “Settings” button to open the window in the editor

settings page

Agilitest settings

Error reporting

You can enable error reports (or logs) by checking the "Error reporting" box.

error reporting

Three log options are available:

  • The Startup logs, in case Agilitest crashes at launch

Then the test execution logs which will display technical errors (related to a driver, not functional errors):

  • To open the current logs, empty by default, which display the last created logs
  • To open the logs directory in your Windows explorer and have access to the logs history

Languages

In this configuration menu, you can also change the language to English or French.

agilitest languages

Mandatory tools

There are two prerequisites for the proper functioning of Agilitest: the ATS package and the JDK.

ATS settings

Agilitest requires an up-to-date ATS library to operate.

ats settings

From these configurations you can :

  • Create a configuration: This will create a global configuration of ATS in the system. By clicking on it you can modify the configuration.
  • Download ATS components
  • Download ATS-OpenCv
  • Create a Neoload configuration
  • Open a Maven directory
  • Open an ATS directory

How to set up ATS?

It is also possible to configure some of the functions of the Agilitest editor via the .atsProperties configuration file.

To access the ATS properties, click on the "edit configuration" button of the ATS settings

edit configuration button

The currently allowed parameters are as follows:

  • Default number of executions of each action in the editor before deciding on a failure. By default they are set to 10.
atsproperties maxtry

  • Positioning of windows opened automatically by the editor. By default, the coordinates of the upper left corner are set to x=20 and y=20.
  • Sizing of the windows opened automatically by the editor: width and height set by default to 1500 x 960
atsproperties sizing

  • Management of the "timeOut” on the execution of the scripts and the loading of the web pages. By default, it is set to 60ms and 120ms
atsproperties timeout

  • Management of access paths to different browsers and specific waiting times for each of them:
atsproperties path

  • Management of access paths to the various Windows desktop applications installed on the computer. A shortcut will be automatically created from the "Applications" menu in the startup action of a channel.
atsproperties path windows app

You will find the application registered in the properties directly in the applications when you open a channel

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/6091037db25653a59aa30cfc_image-51.png

🔸 Warning

The access paths will have to be adapted according to your configuration.

Java (JDK) settings

Java allows to load, compile and execute ATS projects.

From the configuration menu it is possible to download the JDK or to enter the path to a JDK already existing in your computer.

Java JDK settings

🔸 Warning

You need at least a version 11 of the JDK for Agilitest to work.

It is also possible from this interface to add Java execution arguments for the launch of tests by clicking on the "Add argument" button.

add arguments button

External connections

ATS Mobile Station servers

It is possible to set up an ATS Mobile Station server to automatically connect the set up server during your mobile tests.

By clicking "Add" button, you will be asked to enter the IP address and port, which will be retrieved directly from Mobile Station interface.

You can check our documentation on mobiles tests.

GIT accounts

The Git account in Agilitest allows you to clone an existing Git account and thus use a Git project.

Click on the “Add” button to add an account

add git accounts

Then, enter your Git account information.

git account info

Related pages

No items found.
Still require support?
Contact support

Script comments and log

▶️ You can watch our tutorial on how to use script comments and logs on our Youtube channel.

Agilitest lets you use advanced comment formatting directly from the editor. HTML format is used to design your comments as you wish.

You can use script variables to make comments with actual script data.

There are four types of comment:

  • Script comment
  • Functional step
  • Execution log
  • Report summary

Script comment

The script comment is the one that will be applied by default when you click on the "Comment" action.

comment action

This commentary explains the operations performed by the script, for the benefit of those who will need to consult it in order to maintain it.

"Functional step" comment

functional step button

This type of comment will appear in the final execution report.

"Execution log" comment

execution log butto

This type of comment appears in the test execution logs.

“Report summary” comment

report summary button

This type of comment appears in the test execution summary in the execution report.

For each comment type, you have the option of voice input:

comment with vocal input
  • The first microphone icon is used to speak your input aloud.
  • The second microphone icon with the "A" is for formatting (bold text, italics, etc...).

Insert a special value

It is also possible to insert a special value for all types of comments.

special value button

Example of formatting

Below are a few examples of the HTML string formats allowed in Agilitest:

  • Bold characters:

<b> Bold characters </b>

bold characters

  • Underlined characters:

<u> Underlined characters </u>

underlined characters

  • Italic characters:

<i> Italic characters </i>

italic characters

  • Using bullets:

<UL> <LI> Using bullets  N°1</LI><LI>Using bullets  N°2</LI></UL>

using bullets

  • Prioritized into numbered paragraphs:

<OL><LI>Number 1</LI><LI>Number 2</LI></OL>

numbered paragraphs

  • Insert an active clickable link:

<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1431248">Bug 1431248</a>

clickable link

  • Insert and display a link to a screenshot:

<img src="https://bugzilla.mozilla.org/attachment.cgi?id=8943437" width="300" height="110"/>

screenshot

  • Colored text

<font color="red">text</font>

Related pages

No items found.
Still require support?
Contact support

Passing parameters to a subscript (JSON/CSV)

One of the features of Agilitest is the ability to use subscripts. This will allow you to factorize the common functions of your tests. Agilitest also allows you to pass values as parameters to your subscripts and thus make your subscripts scalable and generic.

A subscript created from a script will always perform the actions it is composed of with the same parameters.

It is also possible to modify the values of the subscript to use it in several possible configurations.

There are different ways to pass parameters to a subscript:

  1. Manually, by entering the parameters in the script
  2. or with a dataset, using a CSV/JSON file

▶️ You can find a 3 part tutorial about passing parameters to a subscript on our Youtube channel : Part 1, Part 2, Part 3

Add parameters to a susbcript

If you don't have a sub-script call action in your script, you can create one in two ways:

  1. Enter the name of the subscript in the action

To do that, click on the action Call a script > Sub-script

Click on the action “Call the subscript [ ]” to enter information

Then, enter the name of the script you want to call as a subscript.

      2. Drag a script into your test

From the project explorer, click on a script you want to use as a subscript and drag it into your script.

This will create a “Call the script” action with the dragged script.

1. Parameters entered manually

It is possible to pass parameters manually.

Once you have created the sub-script call action in your script, you can pass parameters manually to your sub-script, directly from your script.

To do this, click on the call sub-script action, "Call the script [scirpt_name]

call script action

Then click on “Parameters list

For information, the first parameter will always be named "Parameter 0", then the second parameter will correspond to "Parameter 1", the third parameter to "Parameter 2", etc…

parameter entered manually in call script action

Once you have entered the parameters in the script, you need to add them in the subscript.

To do this, open your subscript from the project explorer.

From your subscript, click on the action that will execute the parameters and then open the special values view.

Select "Script parameter" from the special values and choose the parameter you are interested in.

When the action of calling a subscript is executed, it will execute the specified parameters.

📙 To know more
With the call script action, a script will call a subscript. When the script has parameters defined, the subscript will retrieve them and pass them to $param(x) (see the scheme above "Passing parameters to a subscript from a script”)

During the execution, the parameters will be shown in a pop-up at the bottom to the right on the editor.

parameters shown during execution

For your information, to make the pop-up indicating the settings reappear, you can click on the "\x" button.

\x button

When the parameters are entered manually, the execution of your parameters will be done only once. To multiply the iterations, you will have to create as many subscript call actions as the number of iterations you want. In other words, you will have to repeat the previous steps for each new iteration.

💡 Tip

Add comments to your parameters to track data and to tag the parameters. Those comments will be visible in the execution report.

2. Parameters entered with a data file (JSON/CSV/Properties)

Create a Data file

It is also possible to pass parameters from a JSON, CSV or Properties file. Those data files can create iterations so the behavior of the subscript on a data file will be to loop the number of iterations contained in the dataset.

Unlike a manual input, where you would have had to create the subscript call action several times and enter parameters each time, for a data file, the parameters will be organized in a table that will be used by a single subscript call action.

There are two ways to create a data file:

  1. Click on “New component” situated at the top left of the Agilitest editor

You can either select “CSV file”, “JSON file” or “Properties file

          2. In the project explorer, open the “data files” view

data files view

Finally, click on a button to create a JSON, CSV or Properties file

Once your data file is created, it can be used from a call script action.

To associate your data file to your script, click on the call script action “Call the script [name_of_script]

call the script action

Select “Data” file

There are two ways to add your data file in the action:

  1. Directly from the project explorer

Drag your data file from the project explorer to the call the script action.

        2. By selecting the file from Windows explorer

Click on the file icon to search your file from Windows explorer

Once your file is added to the subscript call action, it will automatically open during the execution of your test.

CSV, JSON and Properties files are in the form of a table.

table from a csv file

They are both used in the same way with the only difference that it is possible to rename the column hearders in a JSON file.

table with titled headers in json file

In the table, you can add columns that correspond to the parameters, as well as rows that correspond to the iterations by clicking on the assigned buttons.

buttons to add iterations and rows or remove

With a CSV/JSON file, the subscript is executed as many times as there are iterations.

Once your file is completed, you can recover the variable of your subscript by using the $param(…) function and by passing the value of the parameter column you are interested in.

Example :

Enter $param(0) in the action to return the value of the first column in your CSV/JSON file.

param(0) in an action

📙 To know more
The parameters of the subscript are defined from a CSV (comma-separated values) file consisting of an array with rows and columns. Depending on the number of rows, this determines the number of times the file will be called, this is called iterations. (See the scheme above "Passing parameters to a subscript with a csv file")
The same goes for the parameters of the subscript defined from a JSON (JavaScript Object Notation) file composed of an array with rows and columns. Depending on the number of rows, this determines the number of times the file will be called, this is called iterations. (see the scheme above "Passing parameters to a subscript with a json file")
For a complex JSON file, it is composed of an array with rows and columns like a classical JSON file. Only, the iterations are done according to the number of values in a line. The number of values in a line corresponds to the number of parameters (See the scheme above "Passing parameters to a subscript with a complex json file").
Parameters can be created from an http file or a database from a web page. The principle is the same as for a JSON/CSV file, the iterations correspond to the number of lines and the parameters to the number of columns (see the scheme above "Passing parameters to a subscript with a http file").

Data file execution options

You can add options on the execution of your data files. By default, the iterations are done according to the order presented in the table, but it is possible to ask Agilitest to make the execution of your iterations random.

To do that, click on your element and check the box “Use random row

You can also give a "Range of indexes", which allows you to limit the number of iterations among the total iterations that make up the JSON or CSV file.

If you want, with this option you can also execute only one precise row by indicating its number.

Example: If your JSON file consists of 150 iterations, you can specify 0-50 in the index range to limit the execution to the first 50 iterations.

Finally you have the option "Execute as suite" so that the execution continues until the end even if an iteration is in error.

When you encounter an error in one of the iterations, this will cause your test to be in error, and thus stop the test considering it as KO. This option allows you to consider each iteration as an independent test.

Example: On an execution of 50 iterations, if the 48th iteration encounters an error, it will be indicated as being in error but will not prevent going to the 49th and so on.

🔸 Warning

Actions created after the call script action is executed as a suite are not saved and will not appear in reports.

3. Parameters from an interface element

It is possible to make only one element of your parameters appear. In a complete subscript, if one of the actions does not have an element then the param(0) will be used by default. To fill in the param(0) that will be used, you can add a "Parameter element" to the action that calls the subscript.

From the call script action, click on "Parameter Element’".

Then add an element selected with the capture tool.

add recognition criteria interface

When you execute your subscript, it will display the element you have captured.

This is especially useful when you are looking for data in your table among a set of rows. Agilitest will allow you to iterate until you arrive at the line you were looking for and allows you to take a specific action on this line.

Example: You have a table that contains 5 different rows. By giving the component "table" as input to the subscript, Agilitest will loop through the rows of the table in the subscript.

📙 To know more
Parameters can also be taken from elements. For a list of elements (DIV), each element corresponds to an iteration and each separate value of a text property "\n" corresponds to a parameter. (See the scheme above "Passing parameters to a subscript with a list of elements (div)”)
For a complex list of elements (Rows), each row corresponds to an iteration and each separate value of a divided text "\t" corresponds to a parameter. (see the scheme above "Passing parameters to a subscript with a list of complex elements (rows)”)
For a list of special elements, each of its elements has sub-elements which themselves have values. The number of iterations is determined by the number of sub-elements and the number of parameters is determined by the separate text property values that make up these sub-elements. (See the scheme above "Passing parameters to a subscript with a list of special elements”)

Convert an EXCEL file as a data file

You can use your Excel files in Agilitest by converting them in data files.

To do that, export your Excel file and convert it into a .csv or .json file.

Once it is done, open your “data” repository of your project from the Windows project explorer.

Then, copy and paste your data file in the repository.

4. Parameters with data splitter

It is also possible to call a subscript by passing parameters in table form.

To do this, drag a script from your project explorer into your script.

Then click on “data splitter

This table is composed of data in text format:

  • Either manually entered
  • Or with a variable

When passing this data, you can specify a separator character to define rows and columns.

Enter the character you wish to define as a separator, then add it to your data to perform its function.

Example :

If you enter the “/” character as a column separator

You add this character to your data where you wish to create a separation

Then it will display a table with the data separated according to the position of the column separator “/”.

It is possible to not enter a separator character:

  • Erase button

By creating an empty separator, this will separate all existing characters.

  • Cross button

By creating a null separator, this will not affect the data, which will remain as it is.

Call script action with external scripts

Javascript script

From the project explorer, open the “Javascript ATS scripts” menu

Create a Javascript script and give it a name.

All the information you need to use the elements and parameters can be found directly in your Javascript script.

This script is editable from the Agilitest editor.

From your ATS script, drag your Javascript script to create a call script action

You can retrieve the parameters passed in your Javascript subscript (manuals, data separators, CSV/JSON files).

To do this, you can use the function indicated in the Javascript script, i.e. ats_parameter.

The special feature of the Javascript subscript is that it is possible to pass an element.

To retrieve an element, you can use the variable indicated in the Javascript script, i.e. ats_element

Python script

From the project explorer, open the “Python ATS scripts” menu

Create a Python script and give it a name.

All the information you need to use the elements and parameters can be found directly in your Javascript script.

This script is editable from the Agilitest editor.

From your ATS script, drag your Python script to create a call script action.

You can retrieve the parameters passed in your Python subscript (manuals, data separators, CSV/JSON files).

To do this, you can use the function indicated in the Javascript script, i.e. ats_parameter.

🔸 Warning

Unlike Javascript subscripts, it is not possible to pass an element with a Python subscript.

Parameter execution options

Iterations

Adding iterations will allow your script to be executed multiple times. This is handy when you have a function that can be used successively and will allow you to check your UI behaviors.

Example: The "go back" function to return to previous pages of a web page that can often be repeated several times.

To add iterations to a subscript composed of parameters, click on your subscript call and increase the number of iterations.

subscript iterations

Example: If you add 3 iterations, the subscript and its parameters will be executed 3 times.

Adding iterations allows you to avoid flaky tests, i.e. actions that are executed several times and that will sometimes produce an error for no particular reason.

Iterations, conditions and variables are not always usable depending on the case :

  • Executing the subscript from the parameters added from your script will give you access to all available options: iterations, variables and conditions.
  • Executing the subscript from a JSON or CSV file will not allow you to use variables or iterations but will allow you to add conditions.
  • Executing the subscript with adding the text of an element will allow you to add iterations and conditions but will not give you access to variables.

Passing parent elements

It is possible to pass an element retrieved in a subscript.

From your subscript action, click on “parameter element”.

Switch to capture mode, then select an element with a parent.

Drag the element into the subscript.

Once in your subscript action, add an action then click on “application root” then on parameter item.

You'll find the previously captured element, to which you can add children.

Return value

It is possible to get data from a subscript. This will create a dynamic (non-modifiable) variable since the return variable will automatically value the variable of the main script.

There are two ways to obtain a returned value:

1. Create a variable

At the very bottom of the subscript is a small yellow arrow allowing you to add a return value.

add return value button

Once the return variable has been created, it must be retrieved from the script call action.

To do this, click on the "Variables" button to tag it in the main script with an equivalent variable opposite.

variables button

2. Property variable

Create a property action to get data from the interface.

To do that, click on “Property” in the action menu

property action

The property action will target an interface element.

For that, click on the “Load” button in the property action

load button

It will load all the properties that are associated with this element.

Click on the property you are interested in to have it loaded during the execution.

properties' list

These properties correspond to the attributes of the element that are found in the "Captured Element's Parents" window when the element is captured.

ATS properties also appear in the list of properties as well as formatting elements (CSS).

When a property is selected, it will be placed in a variable that will take the value of the selected property.

property var

Example: If you select the property "text" with the value "Hello world - Wikipedia" in the list of captured properties.

text property from the captured properties

Once the value is created from the property, you can return it.

Click on the "Add a return value" button

add return value button

Then, open the special values menu and select in the script variables the one that corresponds to the property variable

property var from script variable

Click on the sub-script call action, then on "Variables" to specify that a value is returned from the subscript.

variables button

Select the variable that will store this return value from one already created or you can also create a new one.

newvar returned value

This means that the return value of the sub-script will be retrieved from the variables of the main script.

This allows to pass data between a script and its sub-scripts.

📙 To know more
The main script calls a subscript that contains values. It is possible to pass parameters to this subscript and it is also possible to return the values from the sub-script to the main script. With the return value action, you can call a number of values that will be returned based on the values in the subscript. Sometimes the information sent (parameters or return values) is not expected and therefore not processed.

Related pages

No items found.
Still require support?
Contact support

Channel management

▶️ You can find a tutorial on how to manage channels on our Youtube channel.

Tests performed with Agilitest are created from scripts that open channels to communicate with the application under test. Agilitest allows you to open multiple channels on multiple devices.

In an Agilitest-generated ATS script, there is always one active channel at any given time, and all actions are directed to that channel.

In Agilitest there is a distinction between actions to manage channels in ATS scripts and the channel management menu in the editor to perform graphical element capture operations.

Start a channel

All tests must start with a channel start action.

To do this, click on the channel action in the action menu

Then, click on "Start channel".

The "Start channel" action allows you to select the application that Agilitest will launch for you.

Here are the possibilities:

Browsers

You can select between these browsers : MsEdge, Chrome, Firefox, Brave, Opera, IE and Safari.

Chrome will be selected by default. 

You can also use special values to open a web browser.

You can also connect an account to your browsers.

To do that, click on the key button to enable authorization and enter your id and password.

You can add executable arguments to your start channel actions by clicking on the last button.

Examples: 

“Private” argument, 

Or “headless” argument

All options used by Chromium drivers can be executed.

https://peter.sh/experiments/chromium-command-line-switches/ 

Application

You can either open the file explorer of your machine or the desktop.

You can also use special values in the enter text section.

You can also select a more specific application installed in your machine with the file button.

And you can add arguments to the Application start channel.

You can add a shortcut of another application.

To do that, go to the Agilitest settings

Then, click on Edit configuration in the ATS Settings.

This will open the ATS Properties of your project. 

In the application section of your properties, add the name and the path to your application.

🔶 Warning

If you use this and execute your test on other machines, the ATS properties file must also be on the other machine.

Process

It is also possible to open a channel to a process already existing in your operating system.

To do this, Start a channel with a Process > Start process 

Then, enter a command line corresponding to a process or click on the file button to select an executable file.‍‍

You can also start a channel with the Attach to Process action.

To do that, in the start channel action, select Process> Attach to process.

To attach to a process, you must enter keywords that exist in the process command line.

Example: 

You can use Process Explorer to access the command line of your applications.

Then you need to select some key words of the selected application.

Window

You select to open a Window either with the Window ID or with the Window title.

To open a Window ID you need to enter the NativeWindowHandle of a running window.

The NativeWindowHandle is not a permanent value, it will change each time the window will be open. 

To retrieve the NativeWindowHandle, you need to open a Desktop channel and retrieve the  NativeWindowHandle property of an existing window.

To open a Window title you need to enter parts of a title of a running window.

UWP application

UWP is one of many ways to create client applications for Windows that run on Windows 10 and Windows 11 devices, and can be combined with other platforms.

To start a UWP application channel you need to enter the Windows UWP app ID.

You can use special values in the enter text section.

Here is the Microsoft documentation about UWP Applications : https://learn.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide

Mobile

To start a Mobile channel you need to enter the access point of the Mobile in the MobileStation server.

You can also click on the button to load a llthe connected devices to AtsMobileStation.

You can use special values in the enter text section.

To learn more about AtsMobileStation : www.agilitest.com/documentation/mobile-station

Web Service

You can either open a Web Service using a Standard URL (http) or a Secure URL (https).

For either of them you need to enter the beginning of the web service URL.

After that, all your calls from this channel will be entered relatively to this URL.

You also have 3 buttons that are options that you can add to start your channel.

  • Launch channel with ATS record proxy
  • Enable “Basic” authorization
  • Accept cookies on this channel

Example:

When you are going to do a REST or SOAP webservice and you enter https://mywebservice.com/api

The link of the webservice REST will be https://mywebservice.com/api/getListItems

SAP

To open a SAP channel you need to be connected to a server.

You will need to enter details of the SAP server which are displayed in the SAP log on: the name of the connection, the customer number (i.e. the associated mandate number) and possibly the language (EN/FR/...).

To learn more about how to connect to a SAP server : www.agilitest.com/documentation/connecting-to-a-sap-server

Electron application

Electron desktop apps are testable just like Chrome or Firefox, via the new electron://<path-to-exe> channel URL.

The visual recorder treats Electron as a headless target (the capture comes from the BrowserWindow content area, not the OS desktop): the overlay rectangle aligns with the application client area (title bar + dev-tools dock accounted for), the initial window resize works the moment the channel starts, the window is reliably brought to the front, and the application icon shown by Agilitest matches the bundled executable.

Rename your channel

Next, it is best to rename the channel you have opened so that it can be referenced in the following actions.

To do this, click directly on the “Start channel” action

Then enter the name you want to give to your channel.

It is possible to open multiple channels in a same script.

Switch channel

The "Switch channel" action allows you to switch from one channel to another opened channel identified by its name.

switch channel action in editior

From this action, all the following actions will be directed to the specified channel in the "Switch channel" action.

🔸 Warning

Starting a new channel means that it will activates it directly.

You can also use the channel management menu to change the active channe.

To do this, click on the blue check mark next to the channel name to make the channel active

channels management

However, switching channel in the channel management menu will not figure as an action in your script.

Close channel

Closing a channel tells Agilitest that this channel will no longer be used during this test, and will close the application.

You can also close the current channel from the run management panel in the Agilitest editor.

To do that, click on the “Close” button

Or the “Stop” sign on the channel line

🔸 Warning

You should not close your channel manually directly from the application. Agilitest is not intrusive (no plugin), it has no way of knowing that you have closed an application directly by the actions of the operating system (Example: by clicking on the cross of the application window).

Channels management menu

The channel management menu allows you to manage the different input channels of the actions when debugging tests.

The channel management menu is located on the left, under the project explorer.

It has several icons with the following functions:

Capture button

This action is only available if you have already opened a channel. It allows you to enter the capture mode and select the elements on which to perform actions.

Close button

This action allows you to cleanly close an open channel, i.e. close the application and tell Agilitest that it is closed.

Play button

This action starts a complete execution from the current action. If you use the play button to an action that can not be executed, you will receive an error message.

🔶 Warning

In Agilitest, all scripts can be subscripts of other scripts. In the editor, it is impossible for Agilitest to determine the start of a test, so you must indicate which action you want to start your test with in the editing and debugging phases.

Next button

This action executes the selected action and moves to the next action. You can therefore execute your test in sequence, step by step. This action is equivalent to the execution action of each action displayed to the right of the current action in the editor.

Parameters button

This action displays a sub-menu for selecting the current execution parameters in the editor.

executions management parameters
  • Animate: This allows you to replay the test by animating the actions performed.

Example: mouse movement, clicks, text entry, etc...

  • Visual report: The visual report has the same result as the animation, but in the form of a video report: an ATSV file (ATS Video) is generated in the /target/reports directory. It is not necessary to put the replay in animation mode to get the visual report.
  • XML Report: Agilitest will produce a test execution report in XML format (actions.xml), as well as a set of images corresponding to the screens that were visited by the test. These elements are stored in the directory /target/report/>test_name>. They can then be manipulated to produce three levels of execution reports as well as a pdf report using JASPER. The production of an XML report activates the generation of a visual report.
  • Run in reduced mode: This allows you to hide the Agilitest editor during the test execution, and thus better see the application under test.
agilitest execution in reduced mode

💡 Tip

The reduced mode is very useful if you use Agilitest on a single screen.

Potential problems

Channel opening failures

What to do if the Agilitest editor won't open a test and capture a channel?

If this is a JDK problem, then :

  • Verify that Java has been installed and that its version is compatible with Agilitest (version 14+)

It can be installed directly from the Agilitest "Configurations" menu in the top right-hand corner of the editor.

Click on the "Download" button to download the latest version of Java directly from Agilitest

download button

If the problem is with the drivers and/or libraries:

This means that a file is blocked by the firewall or antivirus software. In this case there are two possible solutions:

  1. Regenerate drivers and libs files
  • Repeat the operation, making sure that the blocking does not recur (temporary neutralisation of the antivirus).
  • Close Agilitest
  • Go to your computer's user folder to manually delete the "drivers" and "libs" folders.
drivers and libs folders
  • Open Agilitest again to force a regeneration of the files with the latest versions available in SAAS
Components update

        

         2. Download packages manually to deploy them yourself

  • Via the "Settings" menu, download the zipped Drivers and Libraries package
Download ats components button
  • The "ats.zip" archive will be automatically downloaded via your default browser.
  • Unzip this "ats.zip" archive containing the "drivers" and "libs" folders into your own user folder.
  • C:\User\”Your_Account”\.actiontestscript

If the problem persists, you can contact our support team at support@agilitest.com or directly via Slack.

Open a channel with plugins

When you start a browser channel with Agilitest, the channel will be without plugins, without history, accounts, etc…

This simulates the use of a real user visiting your application for the first time. This is why a channel started by Agilitest does not load extensions by default.

There are several ways of achieving the behaviour you want, the simplest being to create a user profile and define this user profile when the channel is started.

Or, there is also the option of adding elements to your ats.properties file.

See the official documentation: www.actiontestscript.com

Related pages

No items found.
Still require support?
Contact support

Windows management

▶️ You can find a tutorial on how to manage windows on our Youtube channel.

‍The window management action allows you to manage the Windows operating system, Windows desktop modal applications and browser tabs.

It does not allow to manage internal windows of some Web applications, which are floating HTML elements, directly accessible with the Web automations.

A specific menu is also available to manage dialog boxes without adding unnecessary complexity.

In other words, the window action does not only concern various windows but also tabs on the same page and pop-ups.

When an application opens a window, Agilitest cannot determine whether the capture should take place on that window or whether it should remain on the current window. This depends on how the application designers intended to do it, whether the window is modal, non-modal, etc.

To access the window action options, click on the "Window" button in the action menu

The window action has a sub-menu with three possible actions:

  • Size and location: This moves the window by specifying its new Cartesian coordinates or change its size (height and width)
  • Window visual state: This allows you to send an event from the operating system about the current window
  • Switch window: This changes the current window by indicating the number of the window to be changed
  • New window: To open a new window

Size and location

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360b49e959fc8bc06f2_image-211.png

This action allows you to move the window by specifying its new Cartesian coordinates, or to change its size: height and width.

Simply activate the parameters you wish to change by clicking on the yellow stars, then enter the desired values.

This action will affect the current window.

Window visual state

This action will allow you to send an operating system event to the current window.

It works in the same way as if you had clicked on one of the icons of your application (top right for Windows).

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360e8e6f57b55aa7ddd_image-19.png

The possible actions are as follows:

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360d3595f5b5552df4a_image-212.png
  • Close: To close the current window
  • Maximize: To enlarge the current window to the maximum
  • Reduce: To reduce the window

Switch window

When there is only one window in the application, all actions performed are sent to this window. When an application has several windows, a current window must be defined.

This is similar to the current channel: all actions performed are sent to the current window.

switch window action

This switch window action can be applied for different windows of a channel as well as different tabs from a window.

Index

This function allows you to change the current window by indicating the number of the window concerned.

The number 0 corresponds to the application's main window, and the following numbers are in the order of appearance of windows (or tabs in a browser).

Example:

You have a channel with 7 windows.

The first window is index 0.

The 2nd window is index 1.

The 3rd window is index 2.

Etc…

Name

To switch window with a name, you need to enter a name that is displayed in the tab you wish to switch to.

Example:

A tab from a browser

If you want to switch to the “Cat - Wikipedia” tab, you can enter “cat” in the name field.

switch with name

🔸Warning

If the word you enter appears several times in several tabs/windows, the editor will use the one that appears first.

URL

To switch window with an URL, you can enter the URL from window/tab you want.

New Window

Select "new window" to open another window to your channel.

You can choose to either open a tab or another window by using the corresponding URL.

Problematic interventions

All these actions will allow you to precisely influence the configuration of your application's windows.

In some cases, this can cause problems:

Forced positioning

If you always place your application windows in the same position, you may not see any bugs, in which case we recommend letting the applications use the screen space as they wish, and possibly testing on different screen sizes.

Obviously, in some cases, it is useful to force a specific configuration, if you use graphical recognition for example, because contrary to an approach related to the application structure (DOM, Desktop), graphical recognition will act on the elements actually visible on the screen.

Direct intervention on the application

Closing the current window gets rid of a cluttered pop-up window.

But we do not recommend closing the main application window (unless you want to control an alert window).

To do this properly in Agilitest, use the action to close the channel.

Related pages

No items found.
Still require support?
Contact support

Text input

▶️ You can also watch our tutorial on how to use text input on our Youtube channel.

Create an enter text action

The "Enter text" action can be accessed directly from the actions menu,

or by dropping a locator in the editor

enter text with a created action

The enter text action looks like this:

enter text action in the editor

To enter the required text, click on the "Enter text [ ]" action.

text input

A set of additional keys are available to simulate the keys on a keyboard.

You can also enter special values when entering text.

Of course, in order for your text to appear in the application being tested, the interface element on which you are performing this action must accept text input from the keyboard.

However, Agilitest will not prevent you from doing this on a wrong element, as the final operation will always depend on the reaction of your application.

enter text action succeeded

Related pages

No items found.
Still require support?
Contact support

Mouse actions

▶️ You can also watch our tutorial on Mouse actions on our Youtube channel.

‍During your tests, the mouse actions proposed by the Agilitest editor are used to simulate the mouse actions made when using the application under test.

Mouse actions can be used for all applications, including mobile applications (the click corresponds to a tap on the screen).

Create a mouse action

There are two ways to create a mouse action:

  1. From the actions menu

In the Agilitest editor, click on the mouse action

Then, you can select the mouse action type you want to execute precisely.

         2. By creating an action with a locator

Once you have captured an element with the capture tool, drop it into the editor to create an action.

create action with the locator

Hover over the mouse action to open a sub-menu and click on the type of mouse action you want to execute.

Types of mouse actions

🔸 Warning

When you drag and drop an element to create an action, do not click on “Mouse” action. You only need to hover to open the sub menu (cf. image above)

Types of mouse actions

Mouse click

The mouse click action is used to do a click on the tested application or to simulate finger pressure on a mobile test.

You can edit and specify the type of mouse click you want to do by clicking on the Mouse action in the editor.

You will have access to a sub-menu that allows you to select the type of click you want to generate: left click, wheel click, right click or double click.

By default, the click is at the center of the element. However, you may want to click on an offset zone or on another element whose Cartesian coordinates you know based from the captured element.

To do that, you can select a corner or side of the element from which you are going to specify a Cartesian offset.

Positives coordinates will always define a point inside the element.

Example :

If you select the top right corner with a 10x and 10y offest, then click will be pointed 10 pixels at the top right inside your element’s box

You can also add the press of the “CTRL” or “Shift” key to your click action.

Over

The hover action lets you indicate that you want to hover over a specific area of the screen. This is particularly useful for unfolding the drop-down menus in your applications.

Over action

As with other mouse actions, you can also redefine the mouse position using Cartesian coordinates.

cartesian coordinates of mouse actions

Drag, drop, swipe

Drag and drop actions simulate a mouse movement during which the left mouse button is held down.

This action is very often used to perform drag-and-drop operations between several windows in one or more applications.

The actions must be carried out in this order:

  • Start with a drag action by defining the element from which you want the left click to start and then hold.
  • (Optional) Insert zero or more swipe actions: these correspond to swipe zones that are visited by the mouse with the mouse button held down.
  • Then add a drop action by defining the element on which the mouse button is released.

The swipe action can also be carried out independently from the drag and drop.

Once you have entered the element on which your swipe action will be performed, you can specify the action.

To do that, click on the swipe action

A swipe 20 pixel to the right is set by default.

This will open the actions parameters menu

swipe parameters

You can change the orientation of the swipe by clicking on the directional arrows as well as define the number of pixels vertically or horizontally.

As with other mouse actions, you can also redefine the mouse position using Cartesian coordinates.

Scroll

The scroll action simulates a rotation of the mouse wheel, causing the displayed page to scroll. In the case of a mobile application, scrolling means swiping the screen.

In both cases, Agilitest is used to indicate the number of pixels for scrolling up or down. This number is positive if you want to scroll down.

To be effective, the selected interface element must respond to a scrolling action. You can perform this action on the main application window by not selecting an interface element.

The action can be used on sub-windows (DIV) which have scrolling options, by selecting the element including the desired window.

When the scrolling action is created, it will be performed as automatic scrolling by default.

However, it is possible to set the scrolling you wish to execute.

To do that, click on the scroll action

In the action parameters, you can define the pixel value to be scrolled.

scroll parameters

This can be done by manually entering the value, or by placing your mouse over the square provided and scrolling your mouse wheel up or down.


Related pages

No items found.
Still require support?
Contact support

Automation of Neoload scenarios

Agilitest automates scenario generation in Neoload

This allows you to benefit from Agilitest's ability to record and replay a scenario.

Activating Neoload mode

Neoload is not activated by default in Agilitest. To do this you will have to modify your file .atsProperties and add the following lines:

<neoload>
    <recorder>
    	<host>192.168.0.28</host>
    	<port>8090</port>
    </recorder>
    <design>
    	<api>Design/v1/Service.svc</api>
        <port>7400</port>
    </design>
</neoload>

The parameters are as follows:

  • recorder / host: corresponds to the IP address of the machine running Neoload and which records the scenarios.
  • recorder / port: the Neoload listening port on this machine. The default is 8090.
  • design / api: Listening service of the Design api allowing you to listen to and modify the current Neoload project.
  • design / port: Port du Servie. The default value is 7400.

Once this configuration is done, if you restart Agilitest, you will see a Neoload action appear on the right of the actions menu:

The Neoload menu is scrollable and displays the following submenus:

Start

This action allows you to tell Neoload to start a user scenario.

The UserPath value is not mandatory but will allow you to register a user in your scenario.

Stop

This tells Neoload to stop the current user journey.

There are two options available:

  • Find framework parameters: This option allows you to define replacement parameters in Neoload in the framework in order to be able to use them during variabilisation.
  • Search for generic parameters: This option allows you to define generic parameters in Neoload in order to be able to use them during variabilisation.

Container

This action creates a container in Neoload and names it.

Recording

This action activates and deactivates the recording in Neoload.

You can pause and resume the recording during the script.

Related pages

No items found.
Still require support?
Contact support

Desktop and Windows applications automation

=With Agilitest, it is possible to automate software solutions developed and compiled under Windows. It is also possible to do test directly on your system through a desktop channel, supported by a specific desktop driver

Running tests that are not on the Web

Open a native Windows application

To open a native Windows application, start a channel, then click on the icon to select a .EXE file.

Agilitest then opens a file explorer allowing you to select your executable file.

Then, everything works like on web technologies: switch to capture mode to select the components:

capture window

Press the CTRL key on your keyboard to select a component and open the “captured element’s parents” window

captured element's parents

In this case, the components that are displayed are not DOM elements as on web browsers, but correspond to the Widgets used to build the graphical interface of the desktop application.

The identification of a locator to uniquely find the component in the page works in the same way. In the case of a desktop application, there may be an "AutomationId" generated by the component framework used to develop the application.

Create an action by dropping the component at the desired location in the editor. The action entered by the desktop is then inserted into the editor.

Desktop application

There is also the Desktop button located directly in the applications when opening a channel.

desktop button

This one will not open a window if you run it, but it will allow you to capture the elements of your desktop and to execute actions on them.

The tests performed on the Desktop are done in the same way as the Web tests.

🔸 Warning

When opening a Desktop channel, you will still need to go through the "Browser URL" action by entering the path of the tested application in Windows Explorer to access your files.

Capture a system element on a web application

The Desktop Driver is always active in Agilitest, even when you are automating web solutions.

This allows you to select specific components of the .EXE application for your browser.

To select a Desktop Locator on a web application, simply press the ALT button in capture mode: Agilitest will switch from the DOM view to the Desktop component display. Press ALT again to return to the DOM selection.

You can also click the "Sys. (Alt)" button at the top of the capture window.

capture window

If you want to test your application on several web technologies and several browsers, we don't recommend using this mode, as you may activate non-DOM components, specific to your browser, and thus cause malfunctioning on other browsers.

This feature is very useful if your web application allows you to upload a local file to a web server: no special effort is needed to automate this action.

Applications management

Configuration of a commonly used application

You can configure a commonly used application by editing the .atsProperties configuration file.

The icon of this application will then be automatically displayed in the action of opening a channel, allowing you to open it directly.

To do that, click on the “Settings” button in the editor

Settings button

Then, click on “Edit configuration” in the ATS settings

edit configuration button

This will open the atsProperties in your notes.

ats properties

Different configurations exist in the properties, including one concerning the applications. To add a frequently used application:

  • Enter the entry tag <application>.
  • Add <nom> and enter the name of your application
  • Add <path> and copy and paste the path to find the application in your window explorer
  • Finally, enter the closing tag </application>

🔸 Warning

Don't forget the entry and exit tags for any new applications that you would like to add to your favorites.

Execute an already open application

With Agilitest it is also possible to open an application that is already running.

To do this, open a new channel, and enter in the command line :process:// followed by the name of the application you want to run.

The application must be written in the language used in the file explorer.

command process

When you perform your action, the open application can now be captured by Agilitest.



Related pages

No items found.
Still require support?
Contact support

Using a non-unique locator

Some test configurations require that you can retrieve multiple elements of the same type with a single locator. There are several reasons for this:

Count the elements

It is useful to be able to count all elements of a given type to make sure without going into the details that a page, a table, a list, a search has the right number of elements.

We will take the example of a table that displays the main browsers and their porting on different operating system:

Our sample table: browsers / OS

We will make a first check that verifies that the number of lines is equal to 8.

We are looking at the lines (TR)

We will start by selecting a line, with an attribute that allows us to identify it, and we make sure to also identify one of his parents common to all the elements wi want to count in a unique way (starting with this one).

Select a unique line

Then we drag-drop the element following our script to make an occurrence check equal to 8.

The first check fails

Obviously, the first attempt to launch the test on the fly will fail, since this element is uniquely recognized with its xid = tr5, and thus Agilitest only finds one line occurrence.

We then remove the attribute TR xid = tr5 from the locator

Suppress the unique id specific to a single line

We obtain a non-exclusive locator which allows to find all the occurrences of TR under the element TABLE table-main

Check the number of lines in a TABLE element

When performing the action on the fly, we confirm that Agilitest finds 8 rows in this table.

If you click on the magnifying glass:

The magnifying menu

Agilitest displays all the elements that correspond to the locator used, as well as their order number of appearance in the structure of the tested software.

Search an item by its index

When we have locators that make it possible to find several elements, it is possible to specify by an index which we wish to address.

You wish to put an index on TR : click on TR


You must click in the editor on the item that is multiple

Then to the right of the element, you will see a # and two up / down controls that identify by an index the element defined by your locator.

Define an element by its index

By validating, Agilitest allows you to retrieve specific attributes of an element identified by its index. For example, we retrieve the text in the third line of the table below.


Retrieving the text contained in the 2nd row of the table

To go further

You can use the indexes on several elements of the same locator.

This can allow you for example to go check the contents of a specific cell of a table.

Get the text of a specific cell

This feature of identifying an element by its index can also allow you in some cases to get out of complex situations, if you lack attributes to uniquely select an item in a page.

You can also bring more robustness to your tests, for example if you often change your test data, to not select an item by its content but by its index may be more effective in the long run, but your test will be less deterministic.

Related pages

No items found.
Still require support?
Contact support

Version management

Regular updates

Agilitest is a software solution that updates automatically as soon as it is launched. New versions are updated regularly, every one to three weeks.

Agilitest supports the latest browser versions, which is absolutely essential for checking changes and updating dirvers.

ATS and Agilitest editor

At launch, Agilitest begins by updating the ATS open-source library.

ATS is the open-source library that manages all the interfaces with the technologies supported by Agilitest and replays tests written in ATS format.

This update will enable Agilitest to use the latest version of ATS.

The Agilitest editor then updates itself: a welcome screen informs you that a new version is available, and suggests that you update it.

The content of the new version will also be presented in the ChangeLog, which includes the following elements:

changelog

Added: These are new functions that are not linked to existing functions.

Changed: New functions linked to existing functions and function extensions

Fixed: Functional bug fixes, feature corrections, technical improvements, etc.

Refuse the update

Naturally, you can refuse the update, but you should be aware that the impact is fairly limited, since it only concerns the editor and its functions: the ATS update is automatic.

If you decline the proposed update, a button will appear at the top right of the editor allowing you to update to the most recent version of Agilitest.

update button

Use a specific ATS version

It is perfectly possible to stabilise the use of a specific version of ATS by referencing the ATS library you want.

🔸 Warning

We don't recommend this because the changes in the editor and ATS are closely linked, but we do consider that this feature may be of interest to certain profiles. In general, you may not have access to certain recent features developed in the editor.

To specify the desired version of ATS, click on edit “Project properties

project properties

Then enter the version you wish to apply to your project.

project's ats version

If you want to let Agilitest manage the dependencies and automatically download the libraries required for the selected version, you can tick "Use Maven with Agilitest".

use maven button

Otherwise, you'll have to manually move the version to your .actionTestScript directory.

Finally, if the ATS version of the installed components is not the same as that of your project, Agilitest will indicate this by means of information panels in the properties tab and in the project banner of the project explorer.

information

💡 Tip

We recommend that you systematically update your version of the Agilitest editor and the ATS library it uses.

Configuration reset

Here how to reset your configuration:

  1. Uncross "Use Maven" in the project properties.
use maven button

        2. Delete the two directories libs and drivers (in your user directory under the .actionTestScript directory).

        3. Close and restart Agilitest.

        4. Check that the libraries are updated at start-up and downloaded in the "Settings" tab.

settings window

As well as in the “Tools

tools window

If not, click on the "Download" button

download button

How to use a specific Web driver version?

Agilitest supports the latest browser versions, which is absolutely essential for checking changes and updating dirvers.

However, you can change the version of your webdrivers.

To do that, you will need to modify the version of your drivers in the folder in which your Agilitest archive is located, in your Windows explorer.

Follow this path:

tools/ats-tools/<ats_version>/drivers

From there, you can change the version of the drivers with the version you want.

ATS vulnerability verification and management policy

Vulnerabilities in code can lead to a variety of problems, such as system integrity being compromised by an external source, integrated data or confidentiality being compromised, etc…

One of the latest known vulnerabilities is the "Apache Log4j" (December 2021), which affected Agilitest as well as several organisations, including the government.

Agilitest performs maintenance before each delivery to find these vulnerabilities, understand where they come from and fix them.

ATS versions are released approximately every one to three weeks through Maven, and some of these versions may contain vulnerabilities.

Analysis of these vulnerabilities involves two levels of research through the MVN repository and DockerScout.

MVN repository

From the MVN repository, you can view all the ATS dependencies.

mvn repository interface

In detail, for each version of ats, MVN repository can report the presence of vulnerabilities.

Example:

vulnerability in mvn repository

Version 2.9.3 have a vulnerability.

This was implemented just 10 days before moving on to 2.9.4, which corrected the vulnerability in the previous version.

To consult the versions of ATS and the vulnerabilities that may be present: https://mvnrepository.com/artifact/com.actiontestscript/ats-automated-testing

Dockerscout

Docker is an image generation integration. A Docker image contains all the ATS components (ATS library, system drivers, web browsers, etc.) unlike Maven, which only contains the ATS library.

Agilitest uses the Dockerscout tool provided by Docker to analyse potential vulnerabilities.

There are four levels of vulnerabilites with a colour code from red to dark orange, light orange and yellow:

dockerscout interface
  • Critic
  • High
  • Medium
  • Low

Agilitest is committed to not delivering versions with critical vulnerabilities and to avoiding high-level vulnerabilities as much as possible. Nevertheless, the latter may be delivered for some time with a view to being removed in the next few days.

Medium and low vulnerabilities remain under vigilance.

To view Docker images that may contain vulnerabilities: https://hub.docker.com/repositories/actiontestscript

Related pages

No items found.
Still require support?
Contact support

Tests executions

Designing tests and maintaining test scripts are two essential aspects of the software testing process. The Agilitest editor enables you to build your tests and modify them directly in the interface during execution in "step by step" mode.

A range of functions are available at action level to configure and modify the execution of your tests.

“Step by step” execution mode

The step-by-step mode is a special mode dedicated to editing and modifying tests.

Agilitest lets you replay actions independently of each other, so you can run them step by step.

To do this, click on the play button that appears on the line of each action you hover.

play button

Agilitest will then immediately perform this action on the software being tested and send you the result.

action executed

This operating mode allows you to run your test step by step, selecting actions one after the other and checking that each action has been carried out.

Execution options

Marking a stopping point during execution

It is possible to add a breakpoint to an action during test execution, for debugging purposes.

To do this, click on the tick below the action index to display the "Stop" icon.

stop icon

When you run your test, it will stop at the stop point you specified.

Manage the number of tries for an action

It is possible to increase or decrease the maximum number of attempts. This tells Agilitest that it must try several times to wait for the feedback of the application before generating a failure.

This contributes greatly to the robustness of the tests when you know that your server may be in a situation where it does not deliver the desired page immediately.

The maximum number of attempts is limited to 50, but the waiting time between each attempt follows an exponential curve: this makes it possible to quickly check the conditions for success when they are met, but also to wait "a certain amount of time" for a long processing to be carried out.

action tries

These tests can also be separated by a time interval. The higher the value, the longer Agilitest will wait between tests.

wait time

Managing waiting times with Java

Another solution is to use a Java code piece, here's how:

In the Agilitest explorer, select the view to “Java ATS scripts

JAVA ATS script view

Click on the button to “Create a Java ATS script”.

create Java script button

You can also create a Java script by clicking on “New component”, at the top left of the editor.

new component

Enter the name of the script you want to use as a standby function

The editor opens a java code editing window. Paste the following code into the testMain function () :

try {    final int ms = Integer.parseInt(prm(0, "1000"));    Thread.sleep(ms);} catch (Exception e) {}

Finally, drag and drop the Java script from the Agilitest explorer to the script where you want to call it in your test.

callscript java

💡 Tip

If you want to be able to specify the waiting time directly from your ATS script in Agilitest, you can declare a parameter passed by value to the script and then use the following code:

try {        final int ms = getParameter(0).toInt();        Thread.sleep(ms);} catch (Exception e) {}

To indicate that an action may fail

Action without a functional status

Actions without functional status are actions like “Commentary”, “Go to URL”, “Start channel”, etc…

Those actions can not functionally fail. They can only fail if there is a test conception error.

Examples of conception error : a missing subscript, a missing file, a technical error…

Actions with a functional status

  • Blocking action
normal action in a test

By default, actions in the script are blocking the test during an execution.

If the action fail, the test stops and will be considered as failed.

  • Non blocking actions
    • Optional action
action with 2 green arrows

By specifying that the action is optional, if the action fails, the test will not stop and the test status will not be changed.

    • Non blocking action with fail status
Action with a green arrow and red cross

By specifying that an action is non-blocking, if the action fails, the test will continue to be executed, but its status will be definitely failed.

To indicate this behavior in Agilitest, press the CTRL key on your keyboard and then click on the green arrows.

Execute in Java mode

ATS has been designed to generate Java code to execute compiled tests, which is particularly well suited to launching continuous integration tests, or running complete test campaigns in Agilitest.

Execution in Java mode is fast and efficient. Unlike execution in step-by-step mode, which allows you to build and modify your script, execution in Java mode allows you to execute end-to-end in a production environment.

There are three ways of running tests in Java mode:

  1. Directly from the script

Instead of running your script step by step from the Agilitest editor, you can choose to run the test in Java mode.

To do this, right-click on the script in your project explorer. and select “Java execution

java execution

This will compile your script and open a Java execution window

java window

             2. Create an execution suite

It is possible to create execution suites. These suites group together a set of scripts that will be compiled and executed with Java.

To do this, open your project menu then click on "Execution management" to open the Project builder.

executions management

From this page, you can create suites in the "Executions" area.

executions

Once you have created your suite, click on "Generate" → "Compile" → "Execute" to execute your script in Java mode.

compile builder

This will open the Java Terminal window

java terminal

               3. Java execution outside Agilitest

You can enter the command line in your terminal to execute the code without using Agilitest.

To retrieve the command line, copy the command line from the project’s builder,

command line

Then copy the command line into your terminal on your computer to execute it without using Agilitest.

Element not found

In test automation, it can happen that an element is no longer recognized during execution due to changes made to the software.

To remedy this, Agilitest lets you adjust tests directly in the editor.

Location and analysis

You can use the video of the failed test execution and/or a report with screenshots to understand and locate the recognition failure. There are two possibilities:

  • The item originally searched for no longer exists in the software under test.
  • The element initially searched for exists but is no longer recognized.

Correct the test

  1. If the required element no longer exists

The test can be modified by deleting this action in the editor.

To do this, right-click and select "Delete".

delete button

Check the previous and following actions that may be related to test execution, if necessary.

            2. If the element you are looking for exists, but is no longer recognized

The test must therefore be modified, in particular by updating the recognition criteria for this element in the Agilitest editor.

To do this, Agilitest indicates precisely which attribute is not found to locate this element.

element not found

Open the capture tool from the editor,

capture tool

Capture the element by pressing the CTRL key while hovering your mouse on the element,

selection of attributes

Adjust detection attributes.

It's possible to use a "regular expression" on each attribute for robustness.

Remember to validate detection uniqueness using the built-in statistical test.

statistics

Drag and drop these new attributes onto the action concerned by this "non-detection" to update it.

element dragged in the editor

Save your modifications.

Custom waits

The problem of action verification

“Custom waits” are a function used in a peculiar context to wait that certains things are done before the execution of an action.

There are some things that ATS or Agilitest can't handle in terms of checking test execution continuity.

When an action is executed, there is a lot of processing before the action is passed (checking whether the element is clickable or not, checking whether the element is moving, etc.). Some of these cases cannot be foreseen, as they depend on the application and its specific development.

One solution would be to add a control or wait ATS action before each action, which would thicken your scripts.

The other solution is to add a "custom waits" file as a Java library to an ATS project.

This mecanism enables background processings to be carried out systematically for each execution of the project

A template of this library that you can modifiy is provided by Agilitest, along with its source code

Parameter your library

Download the source code with this link:

https://agilitest.app/resources/tools/AtsWaitGui.zip

To parameter your library, open the file and import a project.

Click on “Existing Maven projects” and select the Agilitest Custom Waits project

In this library, you can add a class in which you can overload some processing methods before your actions.

This is a class that inherits of an existing ATS class that will overload at some specific times of the execution of ATS tests

Example:

  1. An action is done before the search of an element
  2. An action is done before a mouse click on a found element
  3. An action is done before changing a window/tab
  4. An action is done before an enter text action
  5. An action is done before a go to URL action

To compile and package your file, open a console and enter  “mvn clean package

Once it is done, you can retrieve the .jar library in the target repository of your project.

Cette librairie .jar doit être mis dans votre répertoire de librairie Java du projet Agilitest

Once the library has been placed in your Java library directory, the added overloads will be systematically executed before each action when your scripts are executed.

Override an execution variable

Overriding an execution variable value is an essential mechanism. It allows you to run the same test script in different environments (Acceptance Testing, Pre-production, Production), with different browsers, or with different datasets, without ever having to modify the script code itself.

Overloading with Environment Variables ($env)

This is the most common method for adapting your tests quickly.

In the script: You use $env(my_parameter) to specify a variable value (such as your application's URL or a login ID).

Override at the Playlist level: In the execution Management tab of the Agilitest editor, you can set a specific value for this key.

Example :

  • Your script targets $env(app_url).
  • You create a “Recipe” suite with the parameter app_url = [https://qa.my-app.com](https://qa.my-app.com).
  • You create a “Prod” suite with the parameter app_url = [https://my-app.com](https://my-app.com).
  • During the execution, ats-core automatically injects the correct value.

Overriding via the command line (CI/CD)

If you execute your tests from a continuous integration tool (Jenkins, GitLab CI) or from the local command line using Maven, you can override any runtime variable using JVM arguments:

mvn test -DWebBrowser=firefox -Dapp_url=https://preprod.my-app.com

Here, the -D argument intercepts the TestNG suite parameters and directly overrides the values expected by ats-core at runtime.

Overloading internal script variables ($var)

If you use a standard script variable declared in the variables section of your script (syntax: $var(name)), its initial value is either hard-coded in the script or calculated through a transformation. However, you can dynamically override it during execution in two ways:

  • By element capture (property-get) : You retrieve a value from the application under test (an order number, some text) and assign it to your variable, overwriting its default value.
  • By script execution (scripting) : You use JavaScript, Python, or Java code via GraalVM to recalculate and override the variable.

Related pages

No items found.
Still require support?
Contact support

Javascript code calling

Use Javascript code in Agilitest

Load a function with Javascript

All available Javascript functions can be loaded into a scripting action.

execute code in javascript

And return the value of the selected function by checking the “return value” box.

Some functions require one or more parameters.

Example :

HTML functions

The “AppendChild” function demands 1 parameter.

Click actions

It is possible to execute Javascript code for mouse-click actions.

To activate the option, click on the checkbox allowing Javascript code to be used.

🔸 Warning

A special feature applies to elements in an iFrame.

The option to use Javascript code is automatically selected as soon as the element is in an iframe and the iframe is selected as an attribute.

This option can be disabled directly from the mouse action.

Add a condition in an action

To add a condition to an action, right click on the action.

Select “execute condition

This will take the first variable of the script to define the code as a result when evaluating the function.

To verify that the condition is “true”:

true == true

To verify that a value a is greater or lower than another value:

$var(…) > 10

To verify the string caracters you will need to add a single quote:

‘$var(…)’ == ‘14’

This enables Javascript to differentiate between numerical values and character strings.

The condition will only be executed if the javascript code returns “true”, otherwise it will not be executed.

Practice case of a Javascript callscript

Agilitest allows you to call javascript code on a component that has been captured.

This differs from a java call which is more akin to a sub-script call.

In both cases, it is possible to modify the elements of the software you are testing, and thus detach yourself from the operation you're supposed to be controlling.

In some cases, this is very practical, if not necessary:

Example:

Let's take a look at the cursor.

The following image shows two cursors of different sizes, each with an initial value of 50.

example with 2 cursors

When manipulating a cursor, it's quite complex to define a precise value using only mouse movement actions.

For example, if we indicate a 100-pixel slide to the right on both cursors, we'll be able to move the cursor to the right.

drag and swipe actions

These will not display the same value, as they do not have the same configuration. (Value 67 for the large and 84 for the small).

2 cursors with a different value
  • What's the problem?

If you run a test based on a 100 pixel displacement, and then the cursor value becomes critical to the success of your test, you become dependent on the cursor implementation.

In this case, Javascript is particularly suitable, as it allows you to set a value directly on the cursor element by modifying the value of its internal variable.

Example :

If you define a 90 value on both cursors,

java action

Both cursors will display the same value despite their different size and movement.

2 cursors with the same value

Visuals control

You can modify the style and therefore the color of the elements you're testing.

To do this, simply modify the style object :

style.backgroundColor="green

java action

This will enable you to display visual checks in ATSV files or XML reports produced by Agilitest.

a cursor in green

A complex control integrated into the page

In some cases where you need to perform a complex check on your page, it is quite possible to code this check in javascript code loaded into the page, then call the javascript function in your test, retrieving the value returned to perform a simple check.

This is not an optimal situation, as you may have to manage development code including this function and production code with the hazards it may cause, but it can lead to complex situations to manage.

To do this, simply declare a global function in a SCRIPT tag on your page:

<SCRIPT>function checkpage() { ....operations... if (condition) { return true; } else { return false; }}</SCRIPT>

Then simply call it from your Agilitest editor, referencing a return variable, on which you will just have to perform a value check.

return variable

Related pages

No items found.
Still require support?
Contact support

Using Variables - AI

▶️ You can find a tutorial on how to use variables on our Youtube channel.

Variabilising a script makes maintenance easier, provides easier access to the data consumed and makes the test more dynamic. All these variable operations are managed in a separate tab dedicated to variable management, which is located at the bottom left of the main screen and is called the “Script’s variables” tab.

script's variables

There are two types of variables :

  • Purple variables 🟪 : They are declared by the user and can be modified (called independent variable, declared variable, assignment variable).
  • Orange variables 🟧 : They come from the interface to be tested and the elements of the application under test, and are not modifiable (also called dependent variable, dynamic variable, recovery variable).

The set of variables in a test is therefore an assembly of variable dependency trees. Agilitest and ATS will automatically update variables that are dependent on other variables when they are modified.

This mechanism offers a great deal of flexibility and ease of processing for people who are not used to IT development.

How to create a variable?

There are several ways to create variables in Agilitest:

Modifiable script variable (purple variable)

Modifiable script variables (purple) are also known as independent variables, declared variables and assignment variables.

These variables are created in the "Script’s variables" tab.

Click on the menu and select "Create variable".

create variable button

This will create a purple variable that you can modify. You can then give it a name and a value.

Once the variable has been created, all you have to do is value it (add a value), without having to press the “Enter” key on the keyboard or perform any other additional actions.

As soon as your variable has a value, it appears to the right of its name. This allows you to check the values of the variables in the current script at any time.

If the variable is not declared correctly and Agilitest cannot assign it a value, it displays an error message in addition to the variable name.

error message

To define the value of the variable, you can enter a hard-coded variable of your choice.

You can also use the "Insert a special value" menu to the right of the input field,

insert special value

This gives you access to all the categories of variables that can be used in Agilitest.

Non modifiable script variable (orange variable)

Non-modifiable script variables (orange) are also known as dependent variables, dynamic variables and recovery variables.

There are two ways to create a non modifiable variable:

  1. Property action

These variables are generated from elements of the tested applications, using the "Property" action in the actions menu at the top of the Agilitest editor.

This action takes as input an element of the user interface which is to be captured, as well as the name of the attribute of this element which is of interest to us.

To do that, click on “Property” in the actions menu

property action

The property action will target an interface element

Click on the “Load” button from the Property action

load button

It will load all the properties associated with this element.

Click on the property of interest to load it during the execution

captured properties

These properties correspond to the element attributes found in the "Captured element parents" window when the element is captured.

ATS properties also appear in the list of properties, as do formatting elements (CSS).

When a property is selected, it is placed in a variable which takes the value of the selected property.

property variable

Example :

If you select the "text" property with the value "Hello world - Wikipedia" in the list of captured properties.

text property

When the property action is executed, the value of the selected property will appear in the property variable.

text property action

             2. Return value

Non-modifiable variables can also be retrieved from a script return value to be stored as an independent variable

Variabilising special values

These functions can be used to define all the modifiable variables you need, and can be concatenated to generate a more complex value.

Here are the main functions for accessing it:

  • Environment variable: Returns the value of an execution parameter defined in the current execution. Example: $env(parameter)
  • Script variable: Returns the value of a variable. Example: $var(variable)
  • Script parameter: In a subscript, returns the value of a variable passed as a parameter by giving its index. Example: $param(index_param)

You can pull down the menu to access the "calculated values".

  • Now: Returns a character string indicating the current time of the computer replaying the test (or of the continuous integration server). Example: $now: 17:38:11
  • Today: Returns a character string indicating the current day of the computer replaying the test (or of the continuous integration server). Example: $today: 30/08/2023
  • Unique identifier: Returns an identifier in Universal Unique Identifier (UUID) format. Example: $uuid: 110e8400-e29b-11d4-a716-446655440000
  • Random characters: Returns a random character string indicating the desired number of characters and its case. Example :

$rndstring(10): Generates a character string of 10 random characters

$rndstring(15, low): Generates a string of 15 lower-case characters

$rndstring(8,upp): Generates a string of 8 uppercase characters

Environment variable

Environment variables are declared in the execution parameters of your project.

To access the execution parameters, click on "Executions management" in the project explorer.

On the main screen, select an execution, then add a new parameter and modify its value.

execution variables

These variables must be declared as character strings and cannot use the modification functions that are available for other variables.

To use them in your scripts, use the $env(parameter_name) function.

Advanced use of variables

Agilitest lets you transform a variable in 5 different ways to make calculations easier.

  • Character strings
  • Regular expressions
  • Date
  • Hourly
  • Numeric

Character strings

By default, all variables are character strings.

A variable can be transformed on creation by clicking on the corresponding button.

5 types of calculation

When a character string is transformed, a page is displayed according to the type used to manage it.

Example:

If you click on “Regular Expr.” button

regular expr button

This will display entries corresponding to the character string of a regular expression

a regular expression

You can concatenate variables in string format with each other and with text.

Example :

If you take two variables:

  • A date variable date: 8/9/2019
  • A hourly variable: 11:34:33
hourly variable

If you create a variable $day, and give it the value $var(date)_$var (time)

Then its literal value will be 8/9/2019_11:34:33

Transformation into regular expressions

Regular expressions are used to divide strings of characters to generate variables corresponding to sub-groups of characters.

The regular expression management menu will ask you for a model which must correspond to your original value.

This model includes brackets that define the subgroups and are used to determine the value of the variable.

By selecting group 1, the variable will have the value that corresponds to the model defined in the first parenthesis.

regular expression

Transformation into date

It is possible to perform date calculations to obtain a later or later date, in a day, a month, etc.

From the value entered, selectors can be used to add or subtract days, months or years.

The original format supported can be m/d/yy or yyy-mm-dd, i.e. an English format..

The date obtained can then be used in regex variables to retrieve the day, month or year.

date variable

Learn more about the date formats in this documentation.

Transformation into hourly

It works in the same way as transforming a variable into a date, in which case the selectors allow you to add or remove hours, minutes or seconds at a given time.

The format of the input variable is hh:mm:ss.

hourly variable

Transformation into numeric

Variables transformed into numbers are used to manipulate integers or decimals in the nn.nnnnnnn. format.

The input format can be a decimal number in this format, or a decimal number with a comma as the separator.

numeric variable

Standard operators can be used to perform calculations:

  • +: addition
  • : substraction
  • x : multiplication
  • / : division

The most common mathematical functions are implemented: sin, cos, tan, power, ln, etc.

For very specific cases where you need to perform particular operations, you can call java code by passing certain values as parameters and then retrieving a variable on which you can place a control.

Use of "if" conditions

You can use the “if” condition in variables with numeric transformation.

For a formula made up of 3 groups:

if($var(var1) < $var(var2) ; 1 ; 0)

1st Group = $var(var1) < $var(var2)

2nd Group = 1

3rd Group = 0

If the formula is verified, the first value after the semicolon, will be displayed: i.e. the 2nd group with the value 1

If the formula is not verified, the 3rd group will be displayed: i.e. the value 0.

Example:

example with value and variables

Frozen values

Calculated values are data calculated in real time. They can be found in the special values insert.

In your test scenario, those values are changeable and recalculated by demand or between each time an action is executed.

Example :

The $now variable will always display the time at which the last action was executed.

However, if you wish for certain values to be locked once they are calculated, which means that they will not change during the script execution, it is possible.

To do that, you need to create a variable and select “Frozen value”.

You either decide to have a variable that recalculates itself and can be inserted directly into the script, as a comment for example. Or you wish to keep the same value throughout the script, in which case you need to create a variable and then freeze it.

Example :

The $now variable will always display the time at which it was frozen, throughout the whole script.

🔸Warning

If you call a script that has a frozen variable to another script, then this variable is reset at the start of the script and will remain frozen with the new data.

This feature applies to all types of variable, although it may not be visible depending on the variable selected.

Evaluate : interpret Java, Javascript and Python code

An “evaluate” button allows you to interpret Java, Javascript and Python code.

This feature can be used on both non-editable variables by retrieving the correct property, and editable variables.

When you choose to evaluate a variable, you can choose between 3 languages: Java, Javascript and Python.

You can enter Java, Javascript or Python code as a value.

Interpreting code can be done with simple code retrieval, but also with complex test results.

It is possible to set conditions in Java, Javascript.and Python. This can be done with conditional tests, and the results of these conditional tests can be retrieved.

For these code evaluations, Java or Javascript notation must be used like this:

Examples :

Simple Java code:

simple java code

Simple Javascript code:

simple javascript code

Interpreting conditionals Javascript functions:

if($var(var1) > 14){"ok";}else{"ko";}

With the variable $var1 which can equal to text or numeric.

If you're not sure what code to enter, you can ask Agilitest's built-in AI.

You can also express your request using voice input.

To do this, press and hold the microphone and express your needs clearly and precisely.

Python code

With Python, not everything will be usable because there are concepts related to importing Python libraries, and the processing cost and execution time of the processes can be very long.

Agilitest chose to import certain librairies: os, sys, platform, calendar, statistics, heapq, bisect, string; from string import Formatter.

Examples of Python code

OS

  • os.name = returns the name of the operating system
  • os.getcwd() = returns the current repository
  • os.sep = returns the separator character of the system repositories (Windows “\” ; MacOS and Linux “/”)
  • os.environ.get("USERNAME") = retrieves the environment variable USERNAME of the system

Sys

  • sys.path = returns the files from which Python finds its imports
  • sys.platform = returns the current platform type (Windows = win32)

Platform

  • platform.version() = return the current version
  • platform.machine() = return the processor type (AMD64, etc…)
  • platform.node() = return the current machine’s name

Calendar

  • calendar.month(2026, 6) = returns “June 2026”
  • calendar.monthcalendar(2026, 6) = returns all the days in a given month (June: [1,2,3,4,5,6,7] [ ]... and July: [0,0,1,2,3,4,5] which means that the first day of July is not a Monday but a Wednesday)
  • calendar.day_name[calendar.weekday(2026, 12, 25)] = return the day of the date (here, it returns “Friday”)
  • calendar.isleap(2028) = returns if the year is bisextile

🔶Warning: With Python, the first day of the week is Monday, unlike most of the other programming languages for which the first day of the week is Sunday. 

Statistics 

  • statistics.mean([12, 14, 14, 15, 18, 2, 14, 20]) = returns the average of the values
  • statistics.median([12, 14, 14, 15, 18, 2, 14, 20]) = returns the median
  • statistics.mode([12, 14, 14, 15, 18, 2, 14, 20]) = returns the most frequent value 
  • statistics.variance([1,56,8,4,9,12]) = returns the square of the standard deviation

Since statistics are a complex subject you can consult the Python documentation for more details.

Heapq

  • heapq.nlargest(3, [1, 3,10,12, 22, 5, 30]) = returns the 3 largest numbers of the sequence
  • heapq.nsmallest(3, [1, 3,10,12, 22, 5, 30]) = returns the 3 smallest numbers of the sequence

Bisect

  • bisect.bisect( [8,10, 12, 14, 16], 11) = Returns the index of a list threshold. Example: In a list to sort we are looking for the 11 note. It will return index 2 (because it is after 10 in the list, which is number 2)

String 

  • "".join([w.title() if i > 0 else w for i, w in enumerate("simple_test_name".split("_"))]) : returns simpleTestName
  • "ats_test".upper() : returns ATS_TEST
  • "ATS_TEST".lower() : returns ats_test
  • "the test case is failed".replace("failed", "passed") : returns the test case is passed

From string import Formatter

  • "{}-{}".format((p:="my_text_with_format".split('_'))[0], "".join(w.title() for w in p[1:])) :returns my-TextWithFormat
  • "Hello {}, my name is {}".format("Maud", "AGI") : returns Hello Maud, my name is AGI

For this last formatting option, this example is not the most relevant because Agilitest already allows you to concatenate character strings in the variable management interface.

Agilitest and AI

You can use AI to help you create variables.

To open the AI window, click on the "AI" button in your script variable.

This will open the AI Agent window.

When asked to suggest a date or hour format and the source value clearly is not a date/time (random text, identifier, etc.), the agent now warns upfront in a yellow banner before producing any format suggestion. 

Variable references (e.g. $prj-MY_VAR) are detected and pass through unchanged

Example with a regular expression.

You have entered the value of your variable.

Click on the AI button to open the AI Agent 

Enter the data you wish to extract from the value you entered.

The AI will generate the regular expression you need to enter into Agilitest to extract the data. With the pedagogical mode activated, the AI also gives an explanation of the expression.

Click on “Apply in Agilitest” to send the result directly into the script.

Return a variable in subscripts

To ensure that a variable created in a script also appears in subscripts, you will need to use the $var(script_path.script_name.variable_name) function to retrieve this value from any subscripts in your runtime.

Example:

If you have a "Phone" directory with a script called "Samsung" and a variable in this script called "Version", then you enter the function $var(Phone.Samsung.Version).

🔸 Warning

If the script is in the root directory, you don't need to specify the script path. So $var(script_name.variable_name) is enough.


Still require support?
Contact support

Table data control

How to control table data

The title is a little complex but corresponds to a case that is often encountered in automated software tests:

You want to control the values ​​of a cell that is located on the same line as another cell that you know.

Relative control of table data

For example, in the table above, we want to control that Chromium is well availiable on Android, ie that there is Yes in the Android column of the Chromium line.

Agilitest allows you to do it simply by a text aggregation trick: if you select the corresponding TR line of the Chromium table, you will be able to retrieve a TEXT attribute which is a concatenation of all the values ​​of the cells of the line.


Visualizing the aggregated attribute of a table line text

The text value of the TR line containing Chromium is as follows:

Chromium Yes Yes Yes Yes Yes No No

The value you want to control is the 5th Yes.

To retrieve the line that matches Chromium without assuming any of the following values, your locator will look like this:

(?i)Chromium\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)

(?i) indicates that the control must be case insensitive

\s corresponds to a space

(.*) corresponds to any type of text, by inserting with \s, it corresponds to text before a space, the "greedy" behavior of regular expressions will then try to match as many characters as possible.

Retrieving the line of text  

Then create a variable that will retrieve the specific value in the Android column.

Use the following regular expression:

(?i)(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)

The corresponding group is the 6th

Retreiving the value for android

It is then enough to make a control of value:

Final control

Several comments to this trick:

First, you have to master the data of your tests, so it can be dangerous to use this technique when you don't know where is the Chromium line in the table. You can end up with a slightly lax test that does not really know where the data is.

So adapt this technique on a case-by-case basis, for example if your test data is not yet fixed and you do not want to modify your test too often.

It is also possible to use it if you do Data Driven Testing, the controls set up will adapt to the data you have defined in a CSV file. In this case precautions should be taken: for example "Internet Explorer" contains a space that will be used by the regular expression and shift all the data you will want to control.

To finish with this example, you can use a "Check Values" action to control the entire Chromium line at once. You control all of a sudden but you will not know in case of failure what value was not in conformity.

One-time verification of the complete line


Related pages

Still require support?
Contact support

Checks

The purpose of the software tests, besides compliance with the execution procedures, is to be able to control that the software complies with the expected behavior.

We will see what are the functions of Agilitest that allow to perform controls or assertions in your software tests.

Everything goes through the "Check" function.

This action comes in three sub-functions:

  • Check properties
  • Check occurrences
  • Check values

"Check properties" and "Check values" will work the same way. The only difference is that in one case we will check the properties of one UI element and in the other the values of a variable.

Check occurrences” will control the number of items counted in the displayed page of the tested software.

Check properties

This function takes as input an interface element that will have to be captured.

You can change the property name and the value that corresponds to it.

You can select if the property is:

  • Strictly equal
  • Greater or equal
  • Strictly Greater
  • Lower or equal
  • Strictly lower
  • Different

Or use a regualr expression on the value below.

Example :

check property action

In the example above, a SPAN is selected with an "id" equal to "cwos".

Its "text" property is verified to make sure it is equal to 4.

The verification function will perform the comparison considering both parameters as strings; and accepts regular expressions.

Check values

The operation is identical to the "Check properties" action described above. However, this function takes as input a variable which may or may not be modifiable.

You can have to select a value in order to compare it to the other one.

You can select if the values are:

  • Strictly equal
  • Greater or equal
  • Strictly Greater
  • Lower or equal
  • Strictly lower
  • Different

Or use a regualr expression on the value below.

Check occurrences

The occurrence check checks the number of elements found on the current page using an Agilitest locator, i.e. a targeted element.

In some cases, it may be useful to define "locators" that can correspond to several elements. This can be used, for example, to control the number of rows or columns in a table.

The "Check occurrences"  action is also very useful to add robustness to your tests.

check occurences

You can choose the number of occurences found.

You can select if the occurences are:

  • Strictly equal
  • Greater or equal
  • Strictly Greater
  • Lower or equal
  • Strictly lower
  • Different

Check occurences and graphic recognition

Occurrence checking also works with graphical elements.

You will be able to check that an image is present a number of times in the displayed page.

This differs from a check based on the software structure, for example the DOM, for which even non-displayed items will be counted.

You can also combine occurences checking and graphical recognition to determine when you will be able to continue your test.

Security audit action 

The security and accessibility verification features in Agilitest, which are based on the open-source ATS (ActionTestScript) engine, include advanced analysis capabilities, with or without artificial intelligence.

The check-security action allows you to automate a basic security audit directly during the execution of functional tests.

From a script, select the Check action > Security audit

This action analyzes four categories of data on the current page:

  • HTTP: Verification of headers (HSTS, CSP, etc…).
  • Network: Detection of “mixed content” (unsecured resources on an HTTPS page).
  • Console: Analysis of security errors reported by the browser.
  • DOM: Searching for vulnerabilities in source code (e.g., inline handlers, sensitive attributes).

Compliance levels and thresholds

The compliance level and the threshold are the two factors that will determine your security measures. 

These settings are configured directly in the Playlists, using the execution management menu.

These checks are organized into three cumulative levels, based on security standards:

  • Level A (Critical): Detects major vulnerabilities (potential CSRF, GET requests with sensitive data, scripts in SVG files, etc.).
  • Level AA (Important): Detects major vulnerabilities + Identifies significant weaknesses (password autocomplete, unsandboxed iframes).
  • Level AAA (Enhanced): Detects the two levels above + Applies stricter hardening rules.

In summary, Level A will analyze critical errors; this is the highest level. The next two levels will also look for critical errors but will conduct more in-depth analyses and examine minor issues.

You can also configure these parameters directly in the action with the "Override suite" button.

AI use

You can choose whether or not to use AI when executing this action. This choice is specified directly within the script action

To use AI in an action, you must first define an AI provider in the project properties.

Without AI, the action compares the page elements to a list of predefined, static rules. If the success rate falls below the configured threshold (e.g., 80%), the action fails.

With AI, this adds a layer of contextual analysis. It can determine whether a practice, while technically compliant with static rules, poses a risk in the specific context of the application (e.g., a suspicious input field that does not resemble a standard form).

Case example: 

For an action defined at level AA and a threshold of 85%, the result may vary depending on whether or not AI is used.

For the same number of errors, the threshold might be 83% without AI and 85% with AI. This is because AI performs many more tests.

Accessibility check (WCAG)

The Security RGAA / WCAG action in Agilitest is an advanced verification feature (powered by the open-source ATS-core engine) that allows you to automatically audit a web page for technical security and digital accessibility compliance.

Click on the check action > Accessbility WCAG

Exaclty like the security audit action (see above), you have a compliance level and a treshold for your action.

These settings are configured directly in the Playlists, using the execution management menu or directly in the action.

You can choose whether or not to use AI when executing this action. To use AI in an action, you must first define an AI provider in the project properties (see above).

Instead of verifying a single specific element, it performs a global page audit during execution. It looks beyond the visual aspect to analyze three technical domains:

  • HTTP / Network: Checks for secure protocols (HTTPS), absence of "Mixed Content," and network call security.
  • Console: Detects critical errors or information leaks in the browser logs.
  • DOM (Document Object Model): Analyzes the HTML structure to detect vulnerabilities (like scripts in SVGs or unsandboxed iframes) or accessibility gaps.

When you configure a Security / RGAA action, there are four options to act as filters or rule categories. They allow you to define which specific pillars of the accessibility and security standards you want the engine to audit.

Each option corresponds to a different layer of the web page's code and user experience:

Visual: This option focuses on what the user sees and how information is presented graphically. It checks if the visual cues are backed by correct technical properties.

Interactive: This targets how the user behaves with the application. It focuses on navigation and input elements.

Semantic: This is the most technical part of the audit, focusing on the structure of the HTML (DOM).

Media: This option is dedicated to non-text content, such as images, videos, and audio.

Related pages

No items found.
Still require support?
Contact support

Regular expressions

▶️ You can find our tutorial on regular expressions on our Youtube channel.

Regular expressions are very useful for performing operations on data, extracting subsets or recognizing patterns.

Using regular expressions will enable you to surgically target the various elements of your tests: components, variables, values, as well as add a great deal of robustness to their execution.

For those unfamiliar with them, once you get past the initial errors and the surprise of discovery, this technology is actually quite simple to use and allows you to do a lot without writing a single line of code.

Agilitest has also integrated AI within its software, if you agree to integrate it, enabling you to create regular expressions for yourself and according to your requests.

💡 Tips

Regular expressions you need to know:.

* = Random character that repeat itself zero or many times

a? = Has a zero or an a

a+ = Has one or multiple a

(?s) = Insensitive to line break and space character formatting (single line)

(?i) = Case insensitive

[abc] = A simple character in between a,b or c

[a-z]{3} = 3 letters between the a to z interval

\d = Decimal number

[A-z0-9]{2,5} = Any alphanumeric character repeating between two and five times

^[A] = Starts with A

$[A] = Ends with A

Start with = ^expression.*

End with : .*expression$

Contain : .expression.

Example:

You want to see appear 4 numeric values:

.\d\d\d\d.**

Component recognition

When you are in capture mode, accessible from the Agilitest editor, it is possible to pass components in regular expressions.

You can open the capture tool by clicking on the corresponding button in the channel management menu.

capture button

Then, select the component you wish to capture by pressing the CTRL key on your keyboard,

Captured element

It's when you select the attribute that you'll be able to change the values in regular expressions..

Once the attribute has been selected, click on it to open a text entry window.

text entry

Cross the “Regular expression” case for the value to be automatically changed

regular expression button

Thanks to the regular expression, the UUID value can be modified, but as long as it remains an UUID Agilitest will recognize it.

This trick makes it possible to recognize elements whose attribute values are highly volatile, but which retain a constant structure over time: an identical prefix or suffix, an incremented number, etc.

Verification

Regular expressions can be used to verify component properties or variable values. This action allows you to check whether the rule written in the regular expression corresponds to the value of the variable.

Example:

If your value is to have only numbers and letters, then the regular expression must match this rule and show only numbers and letters.

In the case below, the regular expression is used to check that the format of the cd_frame_id_ property is indeed that of an UUID.

regular expression in verification

Variables manipulation

Finally, regular expressions can be used to perform operations on variables, in order to retrieve certain sub-parts of them.

The complete regular expression is broken down into sub-expressions surrounded by parentheses.

It is then possible to retrieve the part of the variable of interest by its group number, which corresponds to the number of parentheses in the global regular expression.

Example:

In the example below, we've retrieved a complete text that includes a price we'd like to check.

regex in variable

By using the following regular expression:

(\d*),(\d*)\ €(.*)

You can successively recover:

  • The price in Euro corresponding to Group 1
  • Cents after the coma corresponding to Group 2
  • The additional text corresponding to Group 3
regex groups in variable

AI : A useful tool to help

Increase the comfort of using Agilitest and the reliability of your scripts with regular expressions generated by AI in Agilitest.

When you create a variable, it is sometimes difficult to know which regular expressions to write or which date format to enter.

By using the AI function to create your variables, you can solve these problems and also describe the tester's needs in natural language so that you can carry out the only slightly technical operations in Agilitest.

You have entered the value of your variable.

To open the AI window, click on the "AI" button in your script variable.

Click on the AI button to open the AI Agent 

Enter the data you wish to extract from the value you entered.

The AI will generate the regular expression you need to enter into Agilitest to extract the data. With the pedagogical mode activated, the AI also gives an explanation of the expression.

Click on “Apply in Agilitest” to send the result directly into the script.

This intuitive approach eliminates technical hurdles and allows you to focus on your test work, giving you a higher level of comfort. For example, ask the AI to get :

  • The machine’s name
  • The build version
  • The windows version
  • The machine name after the second dash
  • The date format
  • etc…

🔸 Warning

Even if the integration of artificial intelligence is not intrusive, do not enter personal or company data in the AI search bar. The AI will not process information linked to your Agilitest licence, but it will process all the information you give it in a text input. Do not make it process your passwords, for example.

Related pages

No items found.
Still require support?
Contact support

Graphic recognition

Graphic zone recognition

Agilitest uses graphic zone recognition in two ways:

  • To perform actions such as clicking, text entry, etc. on recognized zones.
  • To carry out graphic recognition checks on elements with the verification action.

Graphic recognition is performed when the "Capture" mode is open.

To do this, click on the "Capture" button below the project explorer.

capture button

Once the capture window is open, you can capture a graphic element using your mouse selection.

Hold down the left click of your mouse and define an area you want to capture,

capture of a graphic element

Drop your element in the editor to the show captured element.

graphic element in the editor

Three options are available:

  • Open the element tree to generate a "Locator", i.e. a targeted element.
  • Copy the image to your clipboard
  • Save the image to your computer
3 options

Elements tree

When you click on "Element tree", Agilitest will display the software structure, or DOM, down to the smallest element that completely contains the selected image.

captured image elements tree

This operation will ensure unique identification of your image, which may be printed in several places in your software.

💡 Tip

It's best to select one or more attributes from the element tree. Otherwise, you may end up with an image present in several places in your application, as demonstrated by the "Statistics" tool.

attribute selection

When the parent elements and attributes of your graphic object are selected, an additional "Locator" is generated. Simply drag and drop your element into a new action in the Agilitest editor.

After dropping your element into the editor, a new action is generated and displayed.

action with graphic element

This action contains a link to an image saved in your project's resources, which can be accessed from the Explorer's "Resource files" view.

resources files view

Image recognition menu

image recognition menu

The image recognition menu you get by clicking on the image in the editor allows you to add the following information:

  • Use of a locator that is not unique to identify occurrences, selecting the image by an index in a unique way.
  • You can influence the graphic recognition tolerance and the algorithm used. For the moment, only the ATS algorithm is available, and we recommend that you retain the default tolerance (0.5%).

Graphic affirmations

Occurrence checks will enable you to add checks on the presence of graphic elements in your applications, count them, generate timeouts, etc, by simply dropping the graphic element into an "Occurrence check" action.

To perform them, simply drop the graphic element into an "Occurrence check" action.

occurences action

However, Agilitest will control images that are actually displayed on the page (unlike a DOM approach, which can potentially trace non-displayed objects).

In this case, you have to ensure that the window is correctly sized and displayed to allow full recognition of the elements.

Related pages

No items found.
Still require support?
Contact support

Web drivers

ATS will retrieve the correct driver version based on the browser version retrieved from the test. Based on the browser version, ATS will automatically download the correct driver version. There's no need to configure versions manually.

Why does Agilitest needs Web drivers?

Agilitest is a software solution installed on your computer and regularly updated at launch.

In fact, without any additional configuration, Agilitest currently supports 5 browsers:

  • Chrome
  • Firefox
  • MSEdge
  • Brave

Agilitest’s philosophy is to provide support as quickly as possible for the latest browser versions, and that's why web drivers are used to communicate with browsers. It can allows a very fast support as soon as the Selenium drivers we rely on are updated to these latest versions.

As a result, the Agilitest update will bring with it the latest driver version and drive the latest browser version, and generally you don't have to do anything because :

  • If you update your browser, this should have no impact on the operation.
  • If you don't update it, well, it's often possible for the latest driver to provide backward compatibility with previous browser versions, and in most cases this works out fine.

Configure a specific version of a Driver

Adding new browser versions to Agilitest requires editor configuration in .atsProperties file

To configure a new browser, insert the following lines in your .atsProperties file:

<browser>
<name>chromium</name>
<driver>chromiumdriver</driver>
<path>D:\tools\chromium\chrome.exe</path>
</browser>

The name badge lets you name the browser as it will be printed in Agilitest. A certain number of names are reserved as we adapt to the specificities of each browser: chrome, firefox, etc... You will therefore only be able to modify the driver and executable path for a browser already known to Agilitest.

The driver tag tells Agilitest the name of the .exe driver to load, which is located in the directory user/.actiontestscript/drivers/directory.

You can access all web driver versions by system via this link: https://actiontestscript.com/releases/ats-drivers/

The path tag indicates the path to the browser executable.

For example, if you want to use Firefox 60 ESR, the procedure is as follows:

  • Download and install Firefox 60 ESR in a different directory from your Firefox installation.
  • Complete the following lines in your .atsProperties file:
<browser>
<name>firefox</name>
<path>D:\tools\firefox60ESR\firefox.exe</path>
</browser>

In the case of Firefox, the driver used should be compatible with the latest version and the ESR version, so there's no need to add a driver change.

To specify the MSEdge path, you can use the following lines:

<browser>
<name>msedge</name>
<path>C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe</path>
</browser>

Related error message:

error message

To correct this error, you simply have to configure the ATS configuration file manually.

This can be accessed directly from the editor via the "Settings" menu in the top right-hand corner of the editor.

settings button

Then click on the "Edit configuration" button

edit configuration button

The file will be automatically opened with your default file editor:

file editor

All you need to do is define the path specifically set up on your system to access the executions files of the target browsers.

Related pages

No items found.
Still require support?
Contact support

File selection by browsers

When performing business scenarios involving web solutions, there is a case that occurs frequently: the interactions with the operating system, and in particular the selection of files to download them to the web server ( we are talking about upload).

This feature is indeed implemented by all tools managing business data: ERP, GED, PLM, CRM...

The upload function is implemented natively in all browsers because they must respect the HTTP standard that specifies how this file transfer takes place.

All browsers have therefore implemented a file selection menu on the computer or on a network access, and then transmit it to the server. This usually involves using a modal file selection window whose implementation depends on the desktop environment, but each browser can have its own implementation.

Problems caused by tests automation

This causes two types of problems while automating this procedure in a test

  • Problem 1: The test software must be able to interface with the "desktop" part of the browser. In this case, to rely on the HTML page and the DOM is not enough, it is necessary either to recover and to recognize the internal structure of the components and controls of the navigators, or to use the graphic recognition.

  • Problem 2: The "file selection" can vary greatly from one browser to another, which requires adaptations depending on the browser used.

Solution to Problem 1

Agilitest is a multichannel solution

Agilitest is an integrated testing solution that supports the use of different application technologies (web, desktop...) within the same test.

Agilitest's capture tool enables toggling between DOM and Desktop.

  • Problem 1 is easily solved by Agilitest:

In your test execution, go to the download stage.

When the file selection window opens, open the capture tool.

To do this, click on the capture tool in the editor.

capture tool

Then press the "ALT" key on your keyboard or click on the corresponding button to switch from DOM component recognition mode to desktop component recognition mode.

system mode

Then, you will be able to navigate through your file selection window.

💡 Tip

For greater robustness, we advise you to place a file in an easily accessible tree structure of your file system that you can reproduce everywhere, for example in "quick access" under Windows Explorer.

Solution to Problem 2

Agilitest knows how to handle specific behavior of browsers

Problem 2 can be solved with data files (CSV) called as sub-scripts in Agilitest:

Sub-scripts established via a data file (CSV) must follow the following combination:

  1. Call a first sub-script fed by the "browser" parameter in the CSV file column.
  2. Retrieve the browser names to iterate the launch of the same test on several browsers.
  3. Call subsequent sub-scripts whose script name is composed from the "browser" parameter of the first sub-script.

Example:

Use the name of the browser to customize the name of the executed script: script_chrome.ats, script_firefox.ats, etc…

The proposed solution allows you to manage differences in browser behavior. However, we do not recommend using it for the following operations, which are handled directly by Agilitest for all browsers:

  • Navigating to a URL, to the previous page, to the next page, to the home page...
  • Close window
  • Switching tabs

This would render your tests non-generic, which is undesirable.


Related pages

No items found.
Still require support?
Contact support

Executions management - TestNG

It is possible to use a compiled Java runtime outside of the Agilitest editor's specific editing and execution mode. This compiled Java runtime is faster and is intended for use with a single test or a group of tests within a project. TestNG is a framework designed to enable the execution of these tests in Java.

TestNG executions, also known as “Playlists” or “Suites,” are runs created in Agilitest from a set of scripts and parameters.

These test runs can be executed by Agilitest, but they can also be exported to TestNG-compatible environments that can replay the tests without requiring complex configurations, such as Jenkins and its jobs.

This build mode can be found on the execution management window.

How to manage project executions

You can access the job management feature from the sidebar.

Click the “Executions management” menu or use the keyboard shortcut Alt+x

Agilitest will open a window with different menus:

  • Project’s builder

The Project Builder allows you to configure, generate, and run your tests.

Select the execution mode for your playlists using the following menus: Agilitest Builder, Containers, Jenkins Integration, and GitLab Integration

  • Report detail level

Specify the level of detail for the reports, as well as whether to generate a validation report and an animated report.

The reporting levels are defined as follows: 

  • Execution report
  • Detailed execution report
  • Detailed execution report with screenshots

  • Executions

This menu allows you to configure TestNG runs, known as Playlists or Suites, along with their variables and scripts.

Click on the name of a Playlist to configure it.

From this window, you can: 

  • Change the name and add a description to your Playlist
  • Define the logs level (silent, error, info, warning, all)
  • Choose to include it in the default execution
  • Generate an interactive HTML report
  • Change the date format
  • Choose the target OS and the user role
  • Define security settings
  • Define accessibility check (WCAG)

For more information on security settings and RGAA accessibility, please refer to the Check documentation

Duplicate Playlists 

Right-click on an execution Playlist, then click “Duplicate” to create an exact copy of the file.

The new playlist is an independent copy of the original (same scripts, same variables, same order) and can be freely modified, without any connection to the source code.

Example: 

Duplicate a Playlist to build on an existing campaign and take it in a different direction.

 

Clone Shadow

Do a right click on a Playlist execution then click on “Shadow clone

This allows you to create a Shadow Playlist that continuously replicates the test list from its reference playlist.

The goal is to make it much easier to maintain your test plans by avoiding duplicate configurations.

If you add or remove a test script in the “Master” (the original Suite), all clones are automatically updated at runtime without any action on your part.

However, the Shadow clone has its own sequence variables, which allows you to replay the exact same campaign in a different context (test environment, alternative dataset, etc.) without having to manage two parallel lists.

Examples: 

Execute exactly the same tests on different browsers, in different environments such as staging or production, or with different levels of accessibility.

  • Some more examples:

Validation environment → Pre-production

Validation environment → Integration

Pre-production → Performance pre-production

Pre-production → Production (less common)

With datasets that are:

  • larger in size
  • adapted and anonymized in accordance with GDPR
  • in a language that needs to be tested

🔶 Warning

It is not possible to duplicate a Shadow clone, as the chain is limited to a single level

  • Scripts

Once you've selected your playlist, add or remove the scripts of your choice. From this interface, you can also filter your scripts using groups.

How to create an execution

An execution refers to a subset of tests within a project, which is a set of scripts, that you can execute all at once.

To define an execution, click on the “Add” button in the executions tab.

As mentioned above, a playlist must consist of multiple scripts.

To add scripts, select your playlist and then click “Import scripts”.

You can also drag and drop scripts from the project explorer.

The “Packages” tab displays all the directories in your project.

Cela vous permet de définir, pour chaque répertoire, si les fichiers ATS qu'il contient doivent être inclus ou exclus de la sélection.

This allows you to specify, for each directory, whether the ATS files it contains should be included or excluded from the selection.

Specify which directories should be used to retrieve the scripts, and which ones should not.

The files do not need to have been added to the Script tab.

Execution parameters

Once your execution is created, you can assign it settings that affect the level of detail in the generated reports.

Each Playlist has its own parameters.

To configure these parameters, click on the name of your execution Playlist.

A set of options allows you to configure the quality of the reports generated when the execution is launched:

More details above  

Generate reports

Check the “Generate report” box to generate them at the end of the execution.

If you check the “Generate report” box, your report will be generated at the end of the execution, and it can also be opened automatically if you check the following option.

Once this box is checked, you can specify the level of detail you would like in the report.

To learn more about reports, you can check the documentation.

Select groups

Test groups allow you to filter the scripts you run based on the groups they are associated with.

Group management is accessible from the sidebar and allows you to create, manage, and delete groups.

Each project has its own group management, and each execution suite has its own filter configuration.

There are two ways to filter groups: 

  • By including: All scripts from this group are executed.
  • By excluding: All scripts from this group are not executed

Execution variables

Execution variables are variables that you define in the execution management menu and that will appear as environment variables in all tests belonging to the same project.

Retrieve your environment variables in the special value menu.

Or with the command: $env(var_name)

Environment variables allow you to manage different runtime environments, all of which use the same test suite.

Environment variables can be overridden at runtime, either on the command line or through the system used to trigger the runs (Jenkins, GitLab CI, Azure DevOps).

Launch an execution with Agilitest

When you want to execute a Playlist make sure it is selected, as indicated by the checkmark in the row for your runs.

You can select multiple Playlists to execute one after another.

To start the execution of your playlist, follow the steps below in order:

  1. Generate: This function generate the Java files corresponding to the selected  ATS tests
  2. Compile: This function compile the Java files  
  3. Execute: Agilitest opens a console and replay all the selected tests in the execution. 

By checking the “Open failed scripts” box all scripts that failed will be open when the execution is complete.

Note:

It is also possible to execute a script using command-line arguments without taking the playlist settings into account which is a standalone execution.

‍In the project explorer, right-click on a script > Run the script > Command line

Related pages

No items found.
Still require support?
Contact support

Scripts headers

In addition to the tests and controls to be performed, the ATS format makes it possible to define a set of meta-data that are very useful for characterizing all of your tests.

Open the script header

To access to the script header, click on the "Script header data" at the top right of the script editor window.

script header data button

You will then see a submenu whose activation will modify the display of your editor according to the information to display:

header submenu

Actions

actions

You return to the display in the test actions editor. By default this possibility is not activated.

Header

header action

To give you access to the information of the script header:

information window

The following items are displayed:

  • Author: The person or group who performed the test.
  • Description: Definition of the test content. This field accepts HTML code. You can also add a set of metadata which will be reproduced as is in the ATS script: requirement numbers, etc.
  • Prerequisites: What are the links with other files, or the availability of environments, etc.
  • Groups: The groups to which the test is affiliated.

ATS code

ats code

Clicking on "ATS Code" will display the raw ATS code corresponding to the test currently being edited.

This menu allows you to copy the test code to send it to a correspondent who can replay it.

ats code tab

🔸 Warning

This tab cannot be used to modify the ATS code directly.

When you receive an email or a file containing the ATS code, the procedure for importing it into Agilitest is as follows:

  • Create a new empty script
  • Select the ATS code in your e-mail editor, notepad, etc...
  • Drop the code directly into the empty Agilitest editor window
  • Agilitest will read the code and regenerate the corresponding actions
  • Then click on Execute

It is also possible to Drag&Drop or copy/paste lines of code directly into the Agilitest editor. Either directly into a script, which will add the new actions corresponding to the code, or into a directory, which will create a new script.

This also works with text. If you take any text (a paragraph from a web article, for example), you can Drag&Drop it into the Agilitest editor, which will translate it into a comment action. This can be used to structure a test or to check the text, for example.

Java code

java code

By clicking on “Java Code”  this will display the Java code generated during the test execution.

Obviously, the Java files that correspond to the ATS test files cannot be modified directly.

Close

close button

This button will close the script completely. This saves it if it hasn't been saved.

Related pages

No items found.
Still require support?
Contact support

Settings menu

When using Agilitest for the first time or during its use, you can configure the software to optimize its use. Agilitest works mainly with the ATS and Java (JDK) packages that will be used to create, maintain and execute automated projects.

At the top right of the editor there are various support menus including the "Settings" menu.

settings button in editor

Click on the “Settings” button to open the window in the editor

Settings page

Agilitest settings

Error reporting

You can enable error reports (or logs) by checking the "Error reporting" box.

error reporting

Three log options are available:

  • The Startup logs, in case Agilitest crashes at launch

Then the test execution logs which will display technical errors (related to a driver, not functional errors):

  • To open the current logs, empty by default, which display the last created logs
  • To open the logs directory in your Windows explorer and have access to the logs history

Languages

In this configuration menu, you can also change the language to English or French.

choice of french or english

Mandatory tools

There are two prerequisites for the proper functioning of Agilitest: the ATS package and the JDK.

ATS settings

Agilitest requires an up-to-date ATS library to operate.

ats settings

From these configurations you can :

  • Create a configuration: This will create a global configuration of ATS in the system. By clicking on it you can modify the configuration.
  • Download ATS components
  • Download ATS-OpenCv
  • Create a Neoload configuration
  • Open a Maven directory
  • Open an ATS directory

How to set up ATS?

It is also possible to configure some of the functions of the Agilitest editor via the .atsProperties configuration file.

To access the ATS properties, click on the "edit configuration" button of the ATS settings

edit configuration button

The currently allowed parameters are as follows:

  • Default number of executions of each action in the editor before deciding on a failure. By default they are set to 10.
maxtry code

  • Positioning of windows opened automatically by the editor. By default, the coordinates of the upper left corner are set to x=20 and y=20.
  • Sizing of the windows opened automatically by the editor: width and height set by default to 1500 x 960
window position and size code

  • Management of the "timeOut” on the execution of the scripts and the loading of the web pages. By default, it is set to 60ms and 120ms
TimeOut code

  • Management of access paths to different browsers and specific waiting times for each of them:
path to browsers

  • Management of access paths to the various Windows desktop applications installed on the computer. A shortcut will be automatically created from the "Applications" menu in the startup action of a channel.
path to windows applications

You will find the application registered in the properties directly in the applications when you open a channel

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/6091037db25653a59aa30cfc_image-51.png

🔸 Warning

The access paths will have to be adapted according to your configuration.

Java (JDK) settings

Java allows to load, compile and execute ATS projects.

From the configuration menu it is possible to download the JDK or to enter the path to a JDK already existing in your computer.

java jdk settings

🔸 Warning

You need at least a version 11 of the JDK for Agilitest to work.

It is also possible from this interface to add Java execution arguments for the launch of tests by clicking on the "Add argument" button.

add argument

External connections

ATS Mobile Station servers

It is possible to set up an ATS Mobile Station server to automatically connect the set up server during your mobile tests.

By clicking "Add" button, you will be asked to enter the IP address and port, which will be retrieved directly from Mobile Station interface.

ats mobile station servers

You can check our documentation on mobiles tests.

GIT accounts

The Git account in Agilitest allows you to clone an existing Git account and thus use a Git project.

Click on the “Add” button to add an account

Git accounts

Then, enter your Git account information.

Git account entry

Related pages

No items found.
Still require support?
Contact support

Capture tool

▶️ You can find our tutorial about the capture tool on our Youtube channel.

The Agilitest capture tool is an essential component for selecting user interface elements to capture and reuse them in tests as action targets.

What is the capture tool?

During a manual or automated test, it is essential to define the target of each action programmed in the scenario. For example, a click action requires a target element to interact with so that the test clicks on the right button, or the right interface element.

The Agilitest capture tool defines these action targets. It goes a long way in identifying the components of your applications, to set up detection rules tailored with the relevant attributes.

The capture tool allows to fly over the GUI elements of your web, mobile, desktop, or data structures (XML for your SOAP webservices, JSON for your REST webservices).

For each element thus overflown, the capture tool presents you the tree in which it is located, and the attributes which it has.

What is the DOM?

It's the same capture tool that allows you to capture the HTML tags of the DOM (Document Object Model) of your web applications, the Widgets of your desktop or mobile applications, or a graphical presentation of the data structures of your webservices.

In this sense, the Agilitest capture tool is graphic, versatile, and at the service of the multichannel aspect.

The DOM is an HTML representation of a web page, which defines the structuring of the different components of the page.

The DOM can be seen as a tree where each element can have zero or more children, which can themselves have zero or more children.

Example : The DOM always starts from a root element: the <html> tag. This tag has children (<head>; <body>) which therefore have <html> in common as a parent. The content of your <body> tag can notably contain links, buttons, blocks etc.…

💡 Tip

To better understand HTML:

  • Opening tag <>, closing tag </>
  • Element, parent, child element and sibling element
  • Processing a component of <iframe> type
  • An <input> tag implies a parent <form> tag (often rich in attributes)
  • A <li> tag implies a parent <ol> or <up> tag (often attribute-rich)

How to open the capture tool

To open the capture tool, you must first start a channel and have the website open as part of a web test

Once you have created your project and opened your channel, you can open the capture tool by clicking on the corresponding button in the channel management menu.

capture tool icon in editor

The capture filter is symbolized by a pattern in the form of small crosses that are positioned in front of the channel (the screen of the application to be tested). This filter is used to delimit the capture area.

capture tool filter above web page
The capture tool filter is activated

Another indicator that the capture tool is activated is the Capture window that appears at the top on the left.

capture window

You can press the Shift key on your keyboard to click on elements on the web page without having to close the capture tool. This will open a drop-down menu or show other elements that don’t necessarily appear.

🔶 Warning

The pattern corresponds to the initial size of the channel that is set in its ATS configuration. If the channel is manually resized, some times the syncronisation with the channel will work and the filter will match the modified channel size. However, in other cases, the filter will not match the channel size because it will be out of sync with the channel driver. It will therefore be necessary to close the channel and then to open it again for the driver to synchronize again.

Use of the capture

The Agilitest capture tool consists of a "capture window".

capture window

This window can be moved from left to right, especially when it hides an element that interests you.

This capture window is composed of 3 main buttons:

  • System (Alt): Toggles between HTML capture mode and system capture mode. By default the capture tool will be placed on the HTML view. To change the view you can click on the system button or press the ALT key on your keyboard. Changing the capture mode requires the capture tool to reload, which may take a few seconds.
  • Source Code: Displays the source code of the page.
  • Close: Disables the capture mode.
  • The coordinates x and y: correspond to the coordinates (x: abscissa and y: ordinate) of the cursor.

The movement of the mouse over each element of your application is accompanied by a tooltip specifying its type (either the name of the HTML tag for the web, or the name of the GUI component for the desktop).

capture identify an element

To capture an item, you need to hover your mouse over the desired item, then press the CTRL key on your keyboard. You don't need to click on the mouse, just press the CTRL key.

This will bring up the "Captured element's parents" window that displays the path from the root of the application to the item that was just targeted.

capture element's parent window

The parent elements unfold like an accordion to display more details of the attributes. The attributes must be checked according to what you want to keep to perform the detection of the element.

captured element's parents window close up

As the mouse moves through the different "nodes" of the path, the blue frame around your element in the web page will position itself to identify the element you have moved.

captured element underlined

The component is displayed with all the attributes that define it. The objective is to select one or more attributes that will define the component and make it uniquely recognized within the page. This is called a "Locator".

The attributes

attributes in the capture element's parents window

The attributes are: type, class, id, name, or even CSS attributes for web applications. Or they can be: TitleBar, Button, TabItem for desktop applications.

Agilitest only proposes the attributes it finds. This means that it does not invent ids, it takes them from the DOM.

If there is no id proposed, it means that the application is developed as is. Two possible situations:

  1. The developers have not developed any id, perhaps because of Agile development or a lack of time. You can therefore give them a report on your test and tell them if any ids are missing. As a QA, your role is also to audit good practices and quality in a broad sense. As a functional tester, it is more common sense to point out to the developers that it takes you time that is not necessary to identify this or that component when an id would be a time saver in the configuration of your tests.
  2. Conversely, if you use development frameworks, some frameworks do not have "good practices" that are respected and therefore do not have an id.

Warning about ”text” attributes

In the context of classic test automation, it's not necessarily good practice to use the text attribute, however, if it's not possible to do otherwise or your text will not change then it's not a problem.

Here are some reasons why the "text" attribute might be problematic:

  • Recognition of the element no longer works in the multilingual context of your solution.
  • Some browsers are case-sensitive (and others not), so a capital letter tends to reduce the robustness and portability of your test.
  • The handling of line breaks and/or spaces may differ from one browser to another.

Once you've selected the "text" attribute, you can click on it to automatically edit values with useful regular expressions to avoid these latter problems.

ShadowDom

Shadow DOM (Shadow Document Object Model) is used to avoid style conflicts and to isolate the component code, which is particularly useful during the development of complex user interface. Agilitest uses the ShadowRoot, which is a component of the ShadowDom technology, during its elements research in order to sharpen this research and to make your scripts more precise.

captured element's parents with shadowRoot

Agilitest automatically detect the capture of an element with the ShadowRoot type in the capture window. You will be able to recognize those elements with their pictograms and their dotted frame.

The ShadowRoot components that compose the captured element will appear in the interface element of the action.

ShadowRoot components

You will also have the possibility to manage your elements and declare those in ShadowRoot directly in the action editor.

ShadowRoot declared

Identify iFrames elements

Some HTML pages include iFrames (i.e. inline frames) in their design, notably to insert elements from another server into the page.

To find elements on these HTML pages, you will need to select each iFrame in the page DOM, otherwise you won't be able to find the children of that IFRAME on the page.

Example:

Select the iFrame attribute that allows you to recognize it.

iframe attributes

Select the attributes of the children you wish to automatically find in this iFrame.

children attributes

The object is then easily recognized.

Advanced features in the locator

Once the attributes to define your component are selected, several steps can be performed before placing your interface element within the script by adding a corresponding action.

Statistics on the captured element

In the "Captured element’s parents" window, the Statistics button allows you to check whether the checked attributes will uniquely recognize the item on the page.

statistics action on an element

Clicking on the "Statistics" button confirms or denies the uniqueness of the checked element according to the chosen detection rule. A green tick will appear to confirm the uniqueness of the element. It is possible to click on the magnifying glass from the green tick to highlight the element on the web page.

If the green check mark does not appear when checking the statistics, there are several possibilities:

  1. Multiple occurrences: A warning will appear to indicate multiple occurrences on the page. In this case, you can add precision and go up in the upper elements by adding attributes to your element or, if several occurrences appear, it is possible to target the occurrence that interests you from its index number.Example: If an image always appears as the 2nd occurrence in the order of the components on the page, then you can select the 2nd occurrence among those indicated..
  2. A red cross: This means that the element is not found. You will have to find another way to recognize the component.

Regular expressions (regex)

Regular expressions can be used in the Agilitest capture tool to match parts of attributes. The regular expression allows you to manage dynamic data.

A search based on long text is not recommended, as blank spaces and line breaks can lead to errors.

Example: Some JavaScript libraries are known to randomize parts of ids or classes. If we look at an id written "btn-XYhSj02-01". We assume that the first part "btn" is fixed and the second part "01" as well, only the middle part is likely to vary.

We can then match this identifier with this regular expression:

btn -.{7}-01

regular expression in the capture

The use of regular expressions brings an additional layer of difficulty, but their use allows to simply handle the most delicate cases. The difficulty associated with regular expressions is therefore a lesser evil.

When you click on the text of an attribute it will open the insert allowing the setting of regular expression.

buttons for regex

Access to two buttons for :

  • Manage case
  • Manage spaces

💡 Tip

Expressions to remember:

(?i) : Means that the expression is completely case insensitive

(?s): Insensitive to the formatting of special characters (line breaks, spaces, etc)

.*: To form any character string. The dot represents all possible characters (A-Z, 0-9 and special characters) and the star indicates that the previous pattern (i.e. the dot) is repeated n times.

[a-z]{3} : Means 3 letters between a to z.

Drop the element in the script

The "drag and drop" icon in the parent window of the captured item allows you to use this detection rule in the item of an Agilitest action.

The drag and drop can be placed either after the last lines of the test, which will create an action,

Create action with the element captured

Either inside an existing action line in the "Interface element" section.

drag into an empty interface element

Once the element has been dropped into an action in your script, you can highlight the element in your application to see exactly which object it corresponds to.

To do this, when your channel is open, click on the button with the magnifying glass icon to highlight the element in your application.

Search for an element by its index

When a locator allows you to find several elements, it is possible to specify by an index which one you want to manipulate.

Example: In an array where the number of rows is represented by the element "TR", if you specify index #2 in this element containing several occurrences, then the text of the second row of the array will be retrieved.

From the editor, fill in the index of a multiple element by clicking on the Lego icon.

Lego button

Then, to the right of the element, you will see a # and two up/down controls that identify by an index the element defined by your locator.

index

By validating, Agilitest allows you to retrieve specific attributes of an item identified by its index.

Graphic recognition of elements

Graphical recognition is possible with Agilitest, it allows to detect the presence of an element on the application and to count the number of occurrences (PCRE format). While it is not desirable to abandon the HTML attribute capture system, graphical recognition is complementary in specific use cases.

Example: When the desired element has no usable id or class, graphic recognition is usable.

When the application includes Java, Flash or 3D code, the capture tool will not always be able to dive into the application tree to present the different elements of the interface in a structured way. In this case, graphical recognition allows actions or controls to be performed even in the presence of a programming framework that is not cooperative with Agilitest.

To use graphic recognition, open the capture tool. Instead of positioning on a component and pressing the CTRL key, to perform a graphic capture you need to select the area you want to capture.

Using the mouse, hold down your left click to select the area to capture

capture graphic element recognition

The selection will take an image capture of the element with 3 buttons available:

  • Elements Tree
  • Copy
  • Save
graphic element buttons

Click on "Elements Tree" to associate the location with the graphic capture then drag the element into your script and add an action to it. The possibilities are the same as for a classic HTML component.

🔶 Warning

This tool should be used sparingly; it may be useful to act on a button that is not recognized, for example, but it may interfere with graphic recognition.

Target an element

In some particular cases, it is mandatory to do an operation on a very particular position on the tested software where the locator can not be used since it is only based on attributes.

Example :

When you want to click on a precise zone on an image where the last element visible by the locator would capture a bigger zone than wanted.

Like a web image of a map where you want to click on a city rather than a country, or a intern component of a desktop app, etc…

Agilitest offers a solution that allows a precise definition of the point on which you want to execute actions by specifying its cartesian coordinates in relation to the window’s component.

In the example below,

precise position on an element

If you only want to click on California, but the last element visible in the HTML structure is the full image of the United States, then you will need to create a cartesian coordinate for the locator.

A cartesian coordinate definition of the locator is done in two steps:

  1. Select the reference component

Start by selecting the standard locator, either by its attributes of by its graphic recogntion

capture element
  1. Target the action point

Once the locator is selected, click on the “Target location” button

target location button

You can then target precisely the point on which the action is to be exectued by clicking directly on it.

targeting the element

Agilitest will inform you that a locator with a cartesian target has been created by adding a target on the drag and drop button

drag drop button

Once you have dropped your locator in the editor, Agilitest will generate an action with cartesian coordinates.

target action in editor

Thanks to this functionnality, you will be able to generate a locator out of the select component.

Eventual problem with an overflown element

In order not to be intrusive with the software being tested, Agilitest will not deploy a plugin on browsers, which means that it will appear superimposed on the windows of the application being tested.

In some cases, this can cause display delays between the two applications, particularly when component selection boxes are displayed.

If, in the capture mode, Agilitest is not perfectly aligned on the page on which you want to capture elements,

Then, verifiy that your Windows system has not modified automatically the size of texts, apps and other items displayed on each of your screens. This parameter needs to be set to 100% in order for the Agilitest capture tool to work properly.

To open the display menu, do a right click on your desktop interface and select “Display settings”.

example

Define the text to100%.

The interest of such a tool

Using the source code in another way

The Agilitest capture tool offers interests compared to the development tools panel offered by browsers with the F12 key that gives access to the source code of a Web page:

  • The Agilitest capture tool is cross-browser: Chrome, Firefox, IE, Edge, Opera are treated the same way;
  • The Agilitest capture tool is multi-channel and can be used on: web applications, webservices, desktop applications, mobile applications;
  • The Agilitest capture tool does not just hover over elements, it refines the detection rules and tests their uniqueness on the application screen;
  • The Agilitest capture tool offers graphical element recognition** in addition to HTML attribute recognition.

Locator Agilitest vs. XPaths

agilitest locator vs xpath table

Many testing software applications use XPath as a system for querying and detecting elements in an application.

Detection is often assisted, and allows relative ease in creating an XPath expression. The XPath expression is created and used, often without the tester having had the opportunity to read and review it in the context of their knowledge of the application.

A recorder allows, when activated, to open a browser and to perform actions on it (clicks, data entry, etc) which will then be transformed into a script by the recorder.

The capture tool has the same purpose, only the typing is manual.

One of the advantages of the Xpath is the "absolute" side of the path, which allows to find exactly the component thanks to the detail of the indicated path.

However, if an element changes within this path, it will result in a wrong indication to the component. This is especially true with Javascript frameworks (like ExtJS) that randomize element ids making them difficult to use.

Example: If the developers add an IVD within the path or have rearranged the components, the attribute used to recognize the IVD has evolved.

Also, automatically generated XPath expressions can be cumbersome to maintain.

Agilitest offers the opposite:

The idea is to slow down the recognition of the component as much as possible. The fewer components you add, the less likely you are to make the test obsolete to future changes, which makes the test more robust.

These are, in our opinion, two reasons not to use XPath technology in Agilitest:

  • No automatically generated XPath expressions without review by the automation engineer or functional tester.
  • No systematic KO testing after the application is updated.

Related pages

No items found.
Still require support?
Contact support

SELECT components / Combo boxes

▶️ You can watch our tutorial about the SELECT componant on our Youtube Channel.

Agilitest supports HTML SELECT components and combo boxes for Desktop applications. This is necessary because these components have a graphical interface and a particular behavior: they select one or more values from a drop-down list.

Create a Select action

There are two ways to create a Select action:

  1. From the action menu

To create a Select action, click on the “Select” action in the actions menu

          2. With the capture of an element

First, you need to capture the element on which you wish to perform the action.

Once it is done, drop the element in the editor and choose the action Select.

💡 Tip

The SELECT action works just as well on a fully visible drop-down list as it does on a list that usually needs to be scrolled with a click. For the second option, you simply need to capture the main element of the list.

Three options are possible to select a component:

  • With the index
  • With the text
  • With the value

Once the element has been selected, you can display the values and instructions to enter them by clicking on the "Load values" button.

You can click directly on these values to enter them instead of enter them manually. They will be adapted to the type of Selection chosen.

The values loaded correspond to the three options:

0-1-2-3 = Index

Volvo - Saab = Text

(volvo) - (saab) = Value

For the text and value selection you can use a regular expression, which is interesting to use in order to filtrer in a more flexible way.

You have also the possibility to “Keep other options selected” which can be applied in a case of a multiple choice list. It allows you to select multiple elements in a same list.

Index selection

The index corresponds to the position of the desired value in a drop-down list, starting from the top and beginning with 0.

Simply check the "Index" box and enter the desired value.

index selection

The index must not exceed the number of proposed values, otherwise no text will be selected.

Example:

In a drop-down list with 4 items: Volvo, Saab, Mercedes, Audi.

If you wish to retrieve the value "Mercedes", then you must enter the index "2", as it appears in 3rd position, but the count starts at 0.

Text selection

In a selection by text, the text will be selected if it corresponds to a possible option proposed by the drop-down list.

Example:

In a drop-down list with 4 items: Volvo, Saab, Mercedes, Audi.

If you wish to retrieve the value "Mercedes", enter the text "Mercedes" as it appears in the list.

Value selection

The value attribute is an additional value provided in the HTML code and linked to the displayed text. This allows you to select a text, but not to retrieve its value.

Once again, this value must be proposed for the corresponding text to be selected.


Related pages

No items found.
Still require support?
Contact support

Management and project explorer

Create a project

Open a new project

At the top left of Agilitest editor, click on Project > New project

Agilitest will create a new project with a project tree under the selected repository.

new project

Create a new component

To create a component that will be part of your project, click on Project > New component

When you create a new component, Agilitest allows you to select the following types:

Create ATS script: To create a new script or subscript.

Create Java script: It allows you to call for Java external code in Agilitest.

Create Javascript ATS script: This script file use the Javascript language

Create Python ATS script: This script file use the Python language

Create data files: To create a data file that will test multiple data. (Data Driven Testing)

Properties files: To use data with the "key = value" format

Create execution : To create a tests execution in order to manage the review of all your tests in a project, filtered according to multiple criterias.

Open an existing project

If you already have existing projects but they don’t appear in the project explorer, then you have to open them through Agilitest.

Click on Project > Open a project

Then, select the project depository at the root and validate by clicking on “Select a file

project explorer

Then, the project will open in the gilitest project explorer.

Script folders

Folders can be created in your projet explorer in to better organize your scripts.

To do that, click on the “folder”  in the project explorer to create a new folder

To create a script in a folder you can do a right click on the folder > “Create ATS script

You can also rename your folders by doing a right click on the folder > “Rename

A tree structure will be indicated when a directory is created in an existing directory.

To do that, do a right click on an existing folder to create another one that will be part of that folder.

Delete a script

You can delete your ATS script with a right click directly on the script situated in the project explorer.

When you delete a script, a window will appear to confirm that you wish to delete the selected script. This window indicates that th suppressed ATS script will be sent to the bin of your Windows system.

If deleting the script was an error, you can simply restore the script by recovering it from the bin.

Project explorer presentation

The project explorer is a principal element to help you browse in Agilitest.

It has been optimized to obtain the best visibility of your projects, to facilitate the creation, execution and maintenance of your tests and to increase producitivity

It allows you to have a global view of a project and to bring global modifications as well as to limit the step-by-step method.

The project explorer is composed of:

  • Project selector (1): You can select your project with a drop down list. This offers a better browsing between your differents projects.
  • Project’s menu (2): With the suspension points you can display the options and pages regarding the selected project.
  • Suite selection (3): Another drop down list allows you to define quickly the current suite for your project. This enhancement eliminates tedious steps to configure the selected suite.
  • Executon (4): To execute the current playlist.
  • View selection (5): To give you a more customized experience, a drop down list allows you to choose which type of view you wish to see appear.
  • A set of actions (6): These buttons are used to create a new component, a new file or to open the file position in the Windows explorer. These buttons are different depending on the displayed view.

Project’s menu

Open the side bar to show various menus regarding your project:

In this menu you can find:

  • Executions management: To manage your executions and Jenkins Job
  • Project > Groups management: To open the group window that allows you to create and manage your groups
  • Project > Project properties: To access the properties of your project
  • Open in system explorer: To display your project in your Windows explorer
  • Project > Switch project: To switch with another open project
  • Close project: To close the current project in Agilitest
  • Project's call tree: To show all your called scripts

Playlist of a project

A selected Playlist is a current Playslist (or suite) selected for a project. Each execution has parameters such as configuration options you can find the executions management menu.

To select a suite, click on the drop down menu made for suites

The purpose of selecting a suite for a project is to modify the project parameters at global scale and thus vary the values dependent of the these parameters which are used in the project scripts.

Example :

If you choose execution "A" with the Chrome browser and select execution "B" with the Firefox browser, when you use the Browser parameter in a script, the value will automatically be Firefox for execution "B" and Chrome for execution “A”.

Change the project explorer view

To help you in your organization and to have clearer understanding of your project, you can select the view you want to see displayed in the project explorer.

To do that, click on the drop down menu made for selecting a view for the explorer.

View: ATS script

ATS script view
  • ATS scripts view: To only display the ATS scripts of your tests and their repository within a same project.

View: Java Scripts

Java script view
  • Java script view: To have a view of all the Java scripts created and their repository in a project.

View: DATA

DATA view
  • Data view: To show all the JSON/CSV data files and their repository in a project.

View: Resources files

resources files view
  • Resources files view: To display files embedded in a test project that are still required for test project management. These are images, files, etc. that can be used during test execution.

View: Groups

  • Groups view: To display all ATS scripts of the project by group.

View: Java librairies

Java librairies view
  • Java librairies view: To show the content of  the “libs” repository (.jar, .zip, class files)

View: Execution results

Execution results view
  • Execution results: This corresponds to all the files generated following a test execution, in order to have visibility of the elements that make up the execution. These "versatile" files are modified with each execution and are not intended to be saved in a test project.

Command lines

There are three ways to access the command line panel.

  1. Single Playlist

From the project explorer, click on “command lines

  1. Script

Do a right click on the script you want to execute with command lines

  1. Multiple Playlists

From the executions management menu, in “Executions”, click on the corresponding button.

This panel allows you to obtain the necessary command lines for each launcher.

You can execute these command lines by clicking on the “Open terminal” button.

To execute in Java, you will need 2 command lines.

The first to compile in Java and the second to execute in Java.

When you launch your execution with Maven, ATS launcher or Docker, you don't need to run the command compilation, as this is included in the command line.

You can also execute a Docker command line under Linux or Windows.

When you copy the Docker Linux command line, you will need to switch to the Linux containers from Docker.

And conversely, when you copy the Docker Windows command line, you will have to switch to Windows containers from Docker.

To download Docker Desktop : https://www.docker.com/products/docker-desktop/

Dialogue with AI

Right click on a script and select "Chat with AI agent"

The agent's system prompt focuses on three specific intentions: 

  • Writing the description field (1-2 sentences to copy and paste)
  • A written analysis of robustness
  • Relevance, and suggestions for structural improvements (grouping, sub-scripts, naming).

 Functions requiring insertion into the script (comments, assertions) are intentionally disabled until they are automatically branched.

Related pages

No items found.
Still require support?
Contact support

Editing actions

▶️ You can find a tutorial on how to edit actions on our Youtube channel.

During the creation of your tests you will interact with the Agilitest editor. The editor allows you to create actions and to manage their executions in order to improve the maintenance of your tests.

Script properties

To have global information about your scripts you can consult the script properties.

To do that, do a right click on your script and select “edit properties”.

The script properties window will be displayed.

In this window you can find:

  • The date of creation of your script
  • The number of actions
  • The number of subscripts
  • The number of playlists it is featured in
  • Diverse notes
  • Links associated with the script

Create actions

Your created actions are going to be added one after the other in your script. It is possible to change their order manually directly in the editor.

There are three ways to create new actions:

Actions menu

This menu appears when you have opened a script. It contains the actions used during a test.

To create a new action, simply click on one of the actions in the menu and it will be added to the editor.

Example :

If you want to create an “Enter text” action, click on the corresponding action in the menu,

Then, the newly created action appear, empty of any information, in your script

You will need to complete your action manually or by dropping an interface element.

Action created from a captured element

Once your element is captured with the capture tool, click on “Drag drop into editor

While holding your element with your mouse, drag it into your editor and place it under an action to make the “Create action” input appear.

The generated action is linked to a graphical element in your application.

Select the action you want to do on your element.

All actions are not available from this contextual menu. To have access to all the actions you can check the actions menu.

Copy and paste an action

By doing a right click on on an action in your script, or a group of action, a contextual menu with different options appears.

This menu allows you to:

  • Copy/cut and paste
  • Delete permanently an action
  • Deactivate/activate an action or a group action

A deactivated action will be grayed out in your script and they won't be played during the execution of the script.

Active actions

You know that an action is selected when its colour is dark grey. This is what is called an active action.

active action

You can select multiple active actions.

To do that, select the first action, then press the SHIFT key on your keyboard and select the last one

All the actions in between those two actions will be selected (cf. from action 1 to action 3).

You can also use the CTRL key on your keyboard to select separately one or multiple action to add in a group of active actions.

Actions linked to the application’s elements

What is an action composed of?

Agilitest editor gives graphical interpretations of the actions that will compose your scripts. The ATS format, which is a test language, is a text format that describe the whole of the actions.

  1. Each action has an index that add up automatically and is numbered depending on its position in the script (cf. index 2).
  2. Next to the index is the nature of the action, which can be parametered

        3. Under the nature of your action, you have the interface element and its options. In the options you can modify, specify or enter manually the Locator, which is the targeted element.

Actions on the interface element

Click on the lego icon to the right of your element to add attributes to your element.

Enter or modify attributes

You can also click on the element to add parents or children and specify their type.

If your locator, i.e your targeted element, can retrieve multiple elements on a page, click on the “#” to specifiy which element to select by its apparition order.

index element

💡 Tip

This functionnality can be useful to select a specific row or column in a table.

Empty element

An action may not have an element.

You can create an action by drag and dropping a captured element into your empty action.

Click on the root application to show different options

  • Addition of an interface element: With this you can create an element with search criterias (type of element, parents, etc…)

It is also possible de variabilize the element index.

  • Dialog box: This is allows you to manage and execute actions on a dialog box
dialog box

For further information you can consult the documentation on how to automate a dialog box.

  • Screen record: With this feature you can count shapes in a video.
screen record

Self-Healing with AI

Usually, if a button's identifier (ID) or CSS class changes, the ATS script fails because it can no longer find the element. With the healing option, instead of stopping, the execution engine (ats-core) pauses and requests assistance from an AI.

Self-healing aims to solve one of the most costly problems in test automation: the maintenance of selectors (locators) that "break" following a user interface update.

The AI analyzes the current DOM of the page and the original intent of the action to propose a new selector or an alternative strategy (e.g., clicking on a neighboring element or using text instead of the ID).

The action is then immediately replayed using the new solution, without any human intervention.

Why is it important?

  • Reduction of “flaky tests”: Tests become much more robust in the face of minor design changes.
  • Time savings: Your test campaigns (especially in CI/CD) no longer fail due to minor technical issues, allowing you to focus on actual functional regressions.
  • AI transition: This is a practical application of generative AI in the test lifecycle (QA), moving from writing assistance to execution assistance.

Configuration and activation

To use this feature, you must have an AI provider (OpenAI, Anthropic/Claude, or a local model via Ollama) configured in your project properties.

Open the project properties in Agilitest

Then, activate the AI healing button.

  • The activation tag: You must add the @healing attribute to the ats.aiproviders property..

If you delete your AI providers, healing mode is automatically disabled to prevent cascading errors.

Example:

If you have a script that search BUTTON [id=login_01], but the developer of the app rename it BUTTON [id=submit_login]:

  1. ATS fails to find login_01.
  2. It sends the surrounding HTML context to the configured AI.
  3. AI answers: “The element seems to have become BUTTON [id=submit_login]".
  4. ATS tries to click on this new selector.

Visibility and Reporting

“Healing” is not invisible; it is crucial to know that a test has been “repaired” in order to update the original script later.

A specific note appears in the execution report (ats-report.html file or ats-overview.html). It indicates which selector failed and what correction the AI applied.

This allows you to distinguish a “true application bug” from a simple “script maintenance issue.”

Example :

The test continues, and you can see in your report: Action healed by AI: [id=login_01] -> [id=submit_login].

Related pages

No items found.
Still require support?
Contact support

Web automation

Agilitest supports web application automation on these browsers:

MsEdge, Chrome, Firefox, Brave, Opera, IE and Safari.

Chrome will be selected by default.

Agilitest supports the latest browser versions thanks to frequent ATS updates.

In some cases, if you have special needs and are not connected to the ATS server, here's how to configure your Web drivers manually:

Click on the "Help" menu in the top right-hand corner of the Agilitest editor.

Then, click on the web driver that needs a specific configuration

This will take you to the browser's support page.

You can also access all web driver versions by system using this link: https://actiontestscript.com/releases/ats-drivers/

On the Agilitest side, insert the following lines in your .atsProperties file:

<browser>
<name>chromium</name>
<driver>chromiumdriver</driver>
<path>D:\tools\chromium\chrome.exe</path>
</browser>

To know more, you can consult the documentation on Web drivers.

Create a first Web test

To get started, you need to open a channel on the web browser of your choice so that Agilitest can communicate with that browser.

Click on Start channel > Browsers

Select the browser you want to use.

You'll then need to specify which URL your application is located at, which may be a local or Internet link.

To do this, click on the Navigation > Browser URL action.

Enter the URL

You can also use the special values to enter your URL.

Once an URL is entered, you can use another Browser URL action in your script to add changes to this URL.

You can select to :

  • Go back to the previous page
  • Refresh the current page
  • Go to the next page

From here, you'll need to switch to capture mode to select DOM elements, perform actions and controls, and finalize your test.

How to execute a test on multiple browsers?

Once you have exectued your first test, you can quite easily execute it on multiple browsers, by doing the following:

Create a single-column CSV file and fill in the browsers you are interested in.

To do this, simply click on "New component" and on the CSV file.

CSV file

Next, you need to iterate over the values in a data file by performing a sub-script call.

  • Create a new script
  • Drop your main script from the Project Explorer into the Edit window, to create a "Call script" action.
  • Drop the data file on this new action, to generate an iterative call on the data file.

Simply modify your initial script slightly, to vary the browser name:

In the "Start a channel" action, replace the hard-coded browser name with the variable $param(0)

This is the value of the first column in your data file on which your sub-script call will be iterated.

In Agilitest, you can use variables in several places to increase the reusability of scripts and files.

For more information, see our documentation on passing parameters to a sub-script.

You can also create an environment variable accessible from your project's runtime parameters.

To use them in your scripts, use the $env(parameter_name). function.

For further information, please consult the documentation on variables.

🔸 Warning

Although it is possible to open several different browsers in the same script, it is not possible to open the same browser several times.

Still require support?
Contact support

Video reports

It is important that the analysis of test failure conditions be quick and efficient to determine if the test needs to be modified or if there is a regression condition in the software.

This is crucial to further reduce the load of automated testing on the maintenance site.

The ATSV video functionality is provided by ATS natively: it is open source. You will be able to exchange reports with your partners even if they do not have access to Agilitest.

How to generate a video report in Agilitest?

There are several ways to produce a video report directly in Agilitest.

From the channels management menu

The channel management menu is accessible on the left side of the Agilitest editor, below the project explorer, and allows you to request the generation of a report during an execution.

Click on “Parameters

parameters channels

Select “Visual report”

visual reports

At the end of the execution, the report is accessible with the project explorer in the target\report directory.

By double clicking on the generated ATSV file, the video report is read in the viewer provided with Agilitest.

atsv file

From the executions management menu

In the execution control panel you can request the generation of Video Reports.

To open the run control panel, click on "Executions management" in the project explorer

executions management

This will open the run management and suite compilation page.

project's builder

Then, click on the suite settings button.

pen button to edit

Click on the case “Enable reports

enable report button

Then select the quality level of the video report which implies the level of detail more or less high

quality choice

It is important to configure this correctly as it may affect the execution time or size of video reports when replaying continuous integration tests.

Finally, click on “Generate reports” in the execution line of the project’s builder.

generate report

The ATSV format has been optimized to take up little space and be generated quickly, but be aware that the configuration of the videos in the runs is for all tests that will be replayed and can produce a large amount of reports.

How to play an ATSV video without Agilitest?

An ATSV player written in HTML5 / Javascript is provided free of charge and can be integrated directly into your continuous integration environments, or even launched from the command line.

The HTML5 ATSV player is activated to read the reports.

ATSV HTML5 player

The ATSV player is a tool that allows you to replay an ATS test as a sequence of images and animations

When you open your ATSV file, it is displayed in a browser tab.

atsv html5 player

For each ATSV HTML video, it will display on the screen the name of the channel being executed and the number of actions performed.

current channel

The following actions can be performed during the reading process:

  • Play
  • Pause
  • Stop playing
  • Previous and next actions
previous and next actions

  • Switch to full screen, which will expand the image sequence to the entire screen with the list of actions superimposed on the player

To activate the full screen click on the corresponding button

full screen button

This will show you the player on the whole page

player on full screen

When the full screen is activated you can click on the "Actions" button

actions menu

This will display the list of actions next to the video images

list of actions

  • Select an action in the action pane that will be displayed directly on the video
actions of the test

  • Select a sequence moment, directly on the playback bar
playbar

To do this, hover over the player's progress bar and select a capture to display it

overview of the video

To view the details of the report, hover over the "i" to see the information

"i" point for information

The comments in a test are also visible in the video reports.

To view them, move your mouse over the yellow bars representing the comments.

comments in the player


Related pages

No items found.
Still require support?
Contact support

Actions menu

The Agilitest action menu is central and allows you to manually declare all possible actions in a test script.

Open an ATS script to have access to the actions menu.

Some of these actions can act directly on a component and can be created from an element captured and dropped into the script.

These actions are: Check actions, Mouse actions, Enter text, Property, Javascript and Select actions.

Types of actions

Channels button

Channels action

These actions allow you to start, switch and close a channel of your test. They are integrated directly into the script.

Start channel: This action allows Agilitest to make the link with the application under test.

Switch channel: This action is used when several channels are present in the script. It allows to switch between the different channels.

Close channel: This tells Agilitest that the channel will no longer be used during this test and will close the application.

📖 Channels management documentation.

Navigation button

Navigation actions

In the case of application automation on remote services, Web and Webservices, these actions will allow you to indicate which URL to navigate to and which protocol to select: Web / HTTP, SOAP, REST.

🔸 Warning

In the case of an execution on the desktop, you will still have to go through the "Browser URL" action by entering the path of the tested application in the Windows Explorer.

📖 Web automation documentation.

Subscript action

Subscript action

Sub-scripts do not differ from scripts, both are ATS files, only one is called by the other.

There are two ways to use this action:

  • By making a direct call with or without parameters
  • From a CSV/JSON file

📖 Subscript parameters documentation.

Enter text action

Enter text action

The enter text action sends items corresponding to keyboard keys to your application, key presses, with or without additional special keys.

This action is inserted directly into your script. From the action you can set the nature of the action.

Click on the action "Enter text [ ]" to enter a text.

You can write directly the desired text with your keyboard. You also have access to the special keys which have the same functions as those present on the keyboard (enter, space, CTRL, etc...).

Text entry

Also, you can insert special values into your text entry from the special value menu.

Special value button

This will give you access to various values, variables, etc…

📖 Text input documentation.

mouse button

Mouse actions

The mouse actions are used to manage the mouse on PC applications, but also the specific actions of mobile applications such as the swipe.

This action contains multiple mouse actions:

  • Mouse click: It performs a click action on an element
  • Over: It simulates the mouse over
  • Drag and Drop: This action contains a sub-menu that completes it:
    • Drag: This performs a hold click
    • Drop: This releases the element. It must be preceded by a "drag" action
    • Swip: To swipe right, left, up or down with the mouse or by simulating touch for web tests.
  • Scroll: To scroll a cursor or access elements of a page

📖 Mouse actions documentation.

Check action

Check actions

Check actions are generated for an explicit check or assertion during the test. This can potentially lead to the test failing or allowing it to continue.

There are three possible verification actions:

  • Property check: This allows you to check the value of an existing property in the script
Property check

  • Occurrences check: This allows you to check the number of occurrences of an element
Occurences check

  • Values check: This allows to verify that a value corresponds to an existing value in the script
Values check

📖 Checks documentation.

property action

Property action

The property action allows you, from a captured component, to retrieve one of its properties and place it in a variable.

This variable can then be used to define other dependent variables, create assertions, etc.

Property action

It is possible to recover a CSS or HTML property.

System action

System actions

System actions are only used for a mobile channel.

This action is done in two ways:

  • By using the button action: This allows you to interact with a physical button on the phone (sound setting, home, lock, etc...)
  • By setting the properties: This allows you to define a system property  (sound volume level, phone orientation, enable/disable WIFI, etc...)

Window button

Window actions

The window management action allows you to manage the Windows operating system, Windows desktop modal applications and browser tabs.

The window action has a sub-menu with three possible actions:

  • Size and location: This moves the window by specifying its new Cartesian coordinates or to change its size (height and width).
  • Window visual state: This allows you to send an event from the operating system to the current window.
  • Switch Window: This changes the current window by specifying the number of the window that should be swapped.
  • New window: to add a window to your current Window

It does not allow you to manage the internal windows of some web applications, which are floating HTML elements, directly accessible with the web automations.

A specific action is also available to manage dialog boxes without adding unnecessary complexity.

📖 Windows management documentation.

select action

Select action

Agilitest supports HTML SELECT components and combo boxes for Desktop applications. These components have a graphical interface and a particular behavior: they select one or more values from a drop-down list.

You have 3 options of selection:

  • index
  • text
  • value

📖 Select and combo boxes documentation.

scripting action

Scripting action

Scripting is used to execute Javascript code on a component.

It differs from the Java execution action which occurs outside the context of a component (but which can still retrieve variables).

📖 Scripting documentation.

File transfer action

The file transfer action allows you to either upload a file from your machine to your application or download a file from your application to your machine.

For both the download and the upload action, you will need to select an absolute path from your machine to your application.

You can also copy the file into the project and thus create a relative path to the file in the project's resource directory.

📖 File transfer documentation.

Network capture action

The network activity action lets you capture network traffic while an ATS test is running.

There is one prerequisite for enabling network activity capture which is to activate the recorder button in the start channel action.

📖 Network capture documentation.

comment button

Comment actions

In addition to simple technical comments, this action will allow you to declare key functional steps in your test.

Comment types

This action has four types of comments:

  • Functional step: This comment indicates an important step in the script
  • Script comment: This comment explains the operations performed by the script
  • Execution log: This comment is functional on strings
  • Report Summary: Allows you to add text to the summary of the generated execution report

📖 Comments and logs documentation.

Related pages

No items found.
Still require support?
Contact support

Editor presentation

To help you familiarize with the Agilitest environment, here is a presentation of the various elements that makes up the Agilitest editor.

‍‍

Configuration and help menu

Agilitest settings

You have access to the Agilitest settings in the side bar at the bottom right of the editor.

Agilitest settings allows you to:

  • Configure ATS settings
    • Agilitest is a software solution that updates automatically as soon as it is launched. New versions are updated regularly, every one to three weeks. 
  • Configure Java (JDK) settings
  • Generate error reporting
  • Enable (or not) Artificial Intelligence helper
  • Connect to Agili HUB
  • Configure the language of the editor (french, english)
  • Set up Proxy
  • Change background image‍

Tools menu

You have access to the external tools menu at the bottom left of the editor.

You can improve your experience by adding tools that communicate directly with Agilitest. 

Among those tools there are:

  • ATS OpenCV
  • Apache Maven project management
  • FlaUInspect
  • Jenkins server
  • SAP

Help menu

You have access to the help menu of Agilitest at the top right of the editor

From the help menu you have access to:

  • Agilitest archive download link
  • Mobile Station download links (Windows and MacOS)
  • Various resources to support your path on Agilitest (documentation, videos, webdrivers, etc…)

Project management

A side bar is situated at the left of the editor.

From this side bar you can manage your project with various menus (Project, Switch project, Project tools…)

To start a new project, you must create a new project and add scripts.

You can add scripts from your project explorer.

The project explorer is a structure tree that lists all the projects and elements they are composed of.

It allows you to have a global view of a project and to bring global modifications as well as to limit the step-by-step method.

Select the type of script you want to create in your project : 

  • ATS scripts
  • Java ATS scripts
  • Python ATS scripts
  • Data files (csv, json, properties)
  • Resources files
  • Java libraries
  • Execution results
  • Web services

You can also add a script in your project by clicking on “New component” in the project’s menu

When you create a new component, Agilitest provides a selection of different types of component :

ATS script: To create a new test or a subscript.

Java ATS script: To create a Java file that can also be used as a subscript.

Javascript ATS script: To call a Java code extern to Agilitest.

Python ATS script: To create a Python file that can also be used as a subscript

CSV file: To create a data file in order to test various data

JSON file: To create a data file in order to test various data as well.

Properties file: To create a properties data file using the format “key = value”

Execution playlist: To create an execution with multiple tests and filtered with various parameters.

Channels management

Channel management menu is a central element of Agilitest and that will facilitate the test creation and maintenance.

In this channel management menu you have access to:

  • The Capture tool button
  • The Close button to close the current channel
  • The Play button to play the script
  • The Next button to play an action and the following one

Script’s variables

The script’s variable menu allows you to create and visualize all the variables that are used in a script.

This special interface is to avoid having the variables in the script’s core that is only made for actions.

Scripts management

Script editor

Agilitest script editor represents a big part of the editor. It shows the actions you can execute on your tests. 

The editor will propose graphical interpretations of the actions that will be performed on your script. The ATS format is a textual format that will describe all its actions.

When your open your script, the script will be in condensed view, this means that the script will be displayed a reduced mode to be able to see all the actions, without details, at first glance.

To change the view and enter the editor mode, click on the “+” button at the top of the script.

This section of the editor is designed to allow the reuse of components: copy of the actions or elements on which they act on or with subscript creation.

The actions display only shows the principale actions, but all cases can be managed in sub-menu.

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/609102fad3595f83cd52dec3_image-26.png

‍You can add actions from this view by hovering with your mouse between actions to make the “add action” command appear.

Actions menu

The Agilitest actions menu is central and allows you to manually declare all the possible actions in a test script.

In this menu you will find all the agiles actions that are used during a test. It was made to secure the most compatibility between all the devices supported by Agilitest.

This menu is also used to manage different channels used in a test.

Script header

The script header menu is used to manage a set of metadata linked to a test, like execution suite for example.

To have access to the script header, open a script and click on the “Script’s header data” button

You can visualize the ATS script corresponding to your test.

ats code

💡 Tip

This can be useful to copy the information from the script’s header and send it by email or add it to a comment in your bug tracking tool.

You can also have access to the Java code which once it is compiled will allow the execution of the tests.

java code

🔸 Warning

ATS and Java scripts cannot be edited directly in the editor.

To return to the script editor, click on the "Actions" button

Related pages

No items found.
Still require support?
Contact support

ATS: the open-source language for functional test automation

ATS, short for ActionTestScript, is an open-source language designed to describe, structure, and execute functional automated tests in a way that remains readable for humans, maintainable over time, and usable across technologies.

It is the execution language behind Agilitest, but it is also a technology in its own right: open, robust, and built to make functional test automation easier to understand, easier to maintain, and easier to integrate into modern software delivery processes.

In a context where Agile practices, continuous delivery, and DevOps pipelines have become standard, ATS provides a stable and structured foundation for industrializing test automation without locking teams into opaque or fragile test assets.

A functional language designed for test automation

ATS was designed with a simple objective: allow test designers to focus on what the application should do, rather than on the technical complexity of how automation engines interact with underlying interfaces.

Instead of requiring users to build low-level automation code by hand, ATS expresses test scenarios as a sequence of explicit and understandable actions. This makes test assets easier to read, review, debug, and evolve, even when applications change over time.

ATS is particularly well suited to organizations that want to make test automation more accessible across teams, including testers, business experts, QA analysts, and technical contributors. It creates a shared language that helps bridge the gap between functional expectations and technical execution.

Open source by design

ATS is distributed as open-source software under the Apache 2.0 license.

This is a key part of its philosophy. Automated tests should not become inaccessible or unusable because of a proprietary authoring tool. By relying on an open language, teams retain control over their test assets and can continue to use, version, review, and execute them over time.

This openness also makes ATS a durable choice for organizations seeking transparency, interoperability, and long-term ownership of their automated testing strategy.

Human-readable, structured, and AI-friendly

ATS was designed to be both:

  • human-readable, so that test scenarios can be understood and reviewed easily;
  • structured and rigorous, so that they can be executed reliably;
  • editable by AI systems, thanks to a syntax that expresses functional intent clearly instead of mixing business meaning with technical noise.

This makes ATS especially relevant in modern workflows where humans and AI collaborate. AI can help generate or update tests, but the resulting scripts remain understandable, reviewable, and controlled by humans.

Multi-technology test automation

ATS can be used to automate functional tests across multiple technology layers and environments, including:

  • Web applications running in major browsers;
  • Desktop applications;
  • Mobile applications on Android and iOS;
  • Web services and APIs.
  • SAP technologies (SAPGui in particular)

This multi-technology approach allows teams to adopt a common functional language across heterogeneous application landscapes, instead of multiplying frameworks and scripting styles depending on the target platform.

How ATS works

ATS scripts describe the actions to perform and the validations to execute during a test scenario. These scripts are then transformed and executed through the appropriate runtime components depending on the target technology.

For web automation, ATS relies on established execution technologies such as browser automation frameworks. For desktop, mobile, and web services, dedicated software layers provide the corresponding execution capabilities.

The objective is not to expose this technical complexity to the test designer, but to encapsulate it behind a functional and durable language.

In practice, this means test authors can concentrate on the sequence of business actions and expected results, while ATS handles the technical orchestration required for execution.

Reliable execution and industrial use

ATS was designed not only for test authoring, but also for repeatable execution in industrial environments.

It is compatible with TestNG execution formats and can be integrated into modern continuous integration and continuous delivery pipelines. This makes it suitable both for local test design and for large-scale automated execution in build servers, validation environments, and release workflows.

ATS therefore supports a wide range of uses, from exploratory automation and regression coverage to fully integrated enterprise test campaigns.

Reporting and execution evidence

ATS can produce several types of reports to support test analysis, validation, traceability, and communication across teams.

These outputs can include:

  • Execution reports, for an overall view of campaign results;
  • Detailed execution reports, with or without screenshots, to analyze failures and understand what happened step by step;
  • Summary reports in PDF format, for consolidated reporting;
  • ATSV reports, which compile execution images into a video-like playback format using the ATSV player;
  • Validation reports, intended for documentation and archival of executed test sessions.

These reporting capabilities help transform automated execution into actionable feedback for both technical and non-technical stakeholders.

ATS and Agilitest

ATS and Agilitest are closely related, but they are not the same thing.

ATS is the open-source functional test language and execution foundation.
Agilitest is the graphical environment built to design, organize, and work with ATS scripts more easily.

Agilitest acts as an editor and orchestration layer around ATS, leveraging years of experience in functional test automation. It allows users to produce ATS scripts while benefiting from features such as structured design, step-by-step replay, robustness, and improved usability.

In other words, Agilitest is built on top of ATS, and ATS provides the technical and philosophical foundation that makes Agilitest durable and transparent.

Why ATS matters

ATS addresses several recurring problems in test automation:

Traditional automation assets often become difficult to maintain because they are too technical, too tightly coupled to a given framework, or too far removed from the functional intent of the test.

ATS takes a different approach. It aims to keep automated tests:

  • understandable by humans;
  • robust in execution;
  • maintainable over time;
  • portable across contexts;
  • compatible with industrial DevOps practices;
  • open to collaboration between human experts and AI systems.

This makes ATS more than just a scripting format. It is a way to treat automated tests as long-term, reusable, and reviewable assets.

Prerequisites and execution environment

To use ATS and Agilitest effectively, some technical prerequisites are required depending on the target platforms and execution contexts.

These prerequisites may include software dependencies, runtime components, browser or mobile automation drivers, and system requirements. For full details, you should refer to the relevant installation and hardware/software requirement documentation.

Important note

Agilitest is an editor for ATS code, but ATS remains a language that can also be viewed, handled, and maintained outside the editor environment.

This separation is intentional: it reinforces openness, transparency, and long-term ownership of test assets.

Governance and project information

ATS is maintained by Pierre Huber, founder of CAIPTURE, the company behind Agilitest.

For more information about the ATS project, its philosophy, and related technical resources, you can visit:

https://actiontestscript.org

Related pages

No items found.
Still require support?
Contact support

Jenkins integration

▶️ You can find a tutorial on how to use Jenkins with Agilitest on our Youtube channel.

Agilitest lets you automatically install and configure a local Jenkins server, or even connect to a remote Jenkins. It's simple, fast and extremely practical.

You can schedule recurring executions to ensure that all your tested functions are OK or not.

Example:

You can schedule jobs to run every morning at 6 a.m., or every Thursday, or even continuously over a defined period if you wish, etc...

These jobs, which will automatically launch your tests on your Web, Desktop, API or Mobile solutions (emulated or physical terminals), and will be displayed on a highly graphic screen. This is how you gain confidence in the quality of your solutions on a daily basis.

Jenkins with Agilitest

Agilitest can communicate with Jenkins in order to create new Jobs.

Jenkins is the component that allows you to schedule executions while providing access to campaign reports and tracking the success and failure rate for a given job. This is even though ATS is compatible with TestNg and can be deployed on any CI/CD system.

Agilitest offers a reduced panel of the basic options offered by Jenkins. When you want to automate your test execution, you can use Jenkins directly from Agilitest.

Open Jenkins with Agilitest

  1. Jenkins embedded

To open Jenkins in Agilitest, click on the “Executions management” button

executrions management

Then, click on the “Jenkins integration” button to have access to the Jenkins interface in Agilitest.

Jenkins integration button

If Jenkins is not installed :

Click on the Jenkins icon or connect Jenkins from the tools menu

tools button

In the tools, click on “embedded server” in the Jenkins menu,

embedded server button

Enter an available port on your computer, and click on the “Download” button

download button

Once Jenkins is installed, click on “Connect” to connect Jenkins to Agilitest.

connect button

Connecting an embedded server will open Jenkins on your computer, this operation can take a few seconds.

This will open a web page composed of the projects opened by Agilitest.

Jenkins web page

Click on the “Stop Jenkins” button to close Jenkins and stop its process

stop jenkins button

If you simply disconnect, the Jenkins process won’t stop.

The embedded server is useful for creating jobs and executing them on the fly. However,iIt is less secure than a remote server, as it does not require a password to connect.

           2. Jenkins remote

Connect Agilitest to Jenkins with the remote server to execute your tests actually in production.

In remote mode, there is no downloading but you will need to have a Login and a Token.

To connect to that, click on the “remote server

remote server button

In the “URL” part, enter the URL from your open Jenkins page.

jenkins page

The folder path corresponds to the folder in which the Agilitest projects will be stocked.

Enter the name of your choice for the folder

folder path

Then, you will have to enter a Login and a Token.

To obtain them you can find them in your Jenkins page Jenkins Dashboard > Users:

user in Jenkins

Enter the Login corresponding to the one in the Jenkins page.

login in the editor

To obtain the API Token, click on the User in Jenkins and then on “Configure”.

In the “API Token” part, click on “Add a Token” > “Generate

API  TOKEN

Copy the generated Token (it is only generated once) and paste it in the Agilitest editor

api token in the editor

Finally, click onConnect”

connect button

The remote server has a little less options than the embedded server once it is connected. You will have the possibility to connect or disconnect from Jenkins.

Create a Job

Once Jenkins is connected, it can be used to execute Jobs.

To create a new Job, click on the “New Job” button next to the Jenkins icon.

new job button

Enter the name of your Job, add a description and configure the parameters you want.

Create a new job interface

You have mutlitple options:

  • Tools

Use the Git repository: To use a Git repository when a project is already run by Git

Maven Job : To have Maven intervene during the executions

  • Launch

You can also configure how your Job launch

By checking the "Automatic" box, you can decide when your jobs should be launched. Choose one or more days of the week, set the the frequency and set the working hours on a 24-hour format.

Click on the "Continue" button to execute the test several times.

  • Suites list

The list of suites that will be executed in your Jenkins Job can be found in the "Suite list" insert.

Click on the "Add" button and set the suites you wish to execute.

suites list

  • Reports

You can choose to generate the Agilitest reports at the end of your executions.

You can also choose to send an email in order to follow the process of your Jobs.

Parameter a Job

Once the Job has been created, you can set it up again by clicking on the "pen" icon in the Jenkins interface in Agilitest.

edit job button

Select a Job and click on “Execute”.

execute job button

At the end of the execution, Jenkins will validate the test or not.

You can execute your test again directly from the Web page, or from your Agilitest editor, as described above.

You can also configure your Job directly through Jenkins from the "Configure" tab, where you'll have access to all the parameters.

configure in Jenkins

After a first execution, the Job will display a weather symbol representing the status of the Job.

weather status in Jenkins

This weather symbol will also be represented in Agilitest.

weather statue in Agilitest

Below the Jenkins icon are access buttons to:

jenkins buttons
  • Open the Jenkins configuration
  • Open the project’s page
  • Open the Agilitest tools’ window
  • Synchronise your information from Jenkins

Advanced configuration

If test execution needs are massive, then the Jenkins server will not execute any tests at all, and will delegate them to the execution servers via Jenkins built-in/agent communication.

Jenkins allows the use of various communication protocols such as Java Web Start (JNLP) and SSH.

A list of all connected or declared agents can be found in the Jenkins server configuration.

Jenkins configuration

You can also find them in the Jenkins page Dashboard > Nodes

Nodes in Jenkins

It is important to note that a controller can also be an agent.

When an agent is selected, any errors that can be corrected will appear in the "Warnings and information" box.

Warnings and information

Your tests need an agent to be executed, and this agent must have a declared label. In order for the ATS test execution to work, you need the ats-executor label.

If your agent doesn't have a label:

Click on the "Fix" button.

Fix labels

Once redirected to the Jenkins page, click on the relevant agent in Dashboard > Nodes

Agents in Nodes page

Then, click on “Configure”  and enter “ats.executor” in the Labels

configure labels

It is also possible to create a new agent.

To do that, click on “New agent

New agent button

Enter a name and a new folder location

New agent information

Then click on “Download agent” and extract the files

download agent button

Click on “launcher.bat” to connect.

launcher bat file

🔸 Warning

For a launcher to be executed, you must have Java declared in your Windows system.

You also have the option of enabling or disabling an agent.

deactivate button

When tests are launched, they will be executed on the available agents. If you don't want an agent to be used, you can deactivate it.

deactivated agent

Jenkins installation without Agilitest

This procedure is only used if you need a specific installation of Jenkins: Agilitest is able to automatically download and install an instance of Jenkins and configure jobs on the computer used for executions.

Here are the steps to follow:

  • Download Jenkins for Windows here: https://jenkins.io/download/
  • Install it as standard
  • Run it from the command line using JAVA (do not run it as a service for this configuration example, and if necessary, stop the Jenkins service).

Example of a command to launch Jenkins : java -jar -Xms768m -Xmx1024m jenkins.war

  • Connect to "http : // localhost : 8080" and follow the instructions for the password

Warning : the initial password for manual launch is modified and printed in the launch logs.

  • You can then choose to install the suggested plugins or the plugins of your choice.
  • Then enter the administrator account details and click on “Save and continue”.
  • Configure the instance (address and port) then click “Finish”.
  • Your Jenkins instance is ready to be customized.

Configure a JDK (10 minimum)

Click on Manage Jenkins then choose “Global Tool Configuration”.

In the “JDK” section, choose the JDK you want to use (minimum 10), either the one automatically proposed by Jenkins, or by defining a local directory containing a JDK 10.

Plugins installation

From Manage Jenkins, click on "Manage Plugins".

The plugins required for ATS are :

  • Environment injection plugin
  • GitHub integration plugin
  • Maven Invoker plugin
  • TestNG Results plugin
  • Maven Unleash plugin

In the “Available” section, filter with the above plugin names to select them:

These plugins will normally already be installed on most existing Jenkins infrastructures, with the possible exception of TestNG.

Installing these plugins retrieves all the necessary dependencies.

Define ATS directory

Prerequisite : Download ATS componants

In the Manage Jenkins menu, click on Configure System > Global Properties > add an environment variable.

Name = ATS_HOMEValeur =[path to your local ATS repository]

Return to the Jenkins home page and click on “New item”.

Name your new Job, then click on Maven Project > OK.

In the “Source code management” section, click on the “GIT” radio button and enter the git URL of an ATS project

Example: https://github.com/pierrehub2b/ats_test.git

You can also click on “none” to use a local project (the path will be defined in your project's POM file).

In the “Build Environment” section, add a variable if necessary, after checking “Inject environment variables into the build process”.

Example: browser.name = chrome

To be used by ATS, this variable name must be the same as a variable used in the ATS project.

Example: In the Agilitest editor you can find variables in "Execution parameters" of a project

In Jenkins, in the “Build” section, enter the value “test” in the “Goals and options” field.

Your Job is configured and ready to launch by clicking on “Build Now”.

Once the Job has been completed, you will have access to the usual reports resulting from test execution (details per test, regressions, passed, failed etc...).

If you'd like to share or exchange ideas on another configuration example, you can do so via the following github project: https://github.com/pierrehub2b/actiontestscript.

Related pages

No items found.
Still require support?
Contact support

Web services

In your end-to-end functional tests you can manage Web Services flows directly in your Agilitest/ATS automatic test scripts.

The objective is that you can control the exchanged data or even recover them to reuse them for functional purposes in your automatic tests.

Writing the Web Service call in Agilitest

To do this, simply enter the "Start channel" action with the full http link of your Web Service request:

Example here: http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL

Starting a Webservice channel as a Web channel

Executing this "Start channel" action will automatically open a specific viewer that will allow you to capture all the data you want to check and/or retrieve in this Web Service stream.

Agilitest will automatically detect whether it is SOAP or REST (in which all other types of services that are not SOAP will also be included).

This capture window will communicate all the actions available in the submitted Web Service:

WSDL: obtaining the list of available services

Writing the method addressed to this Web Service in Agilitest

The second specific Web Service action is found on the "Navigation" and REST or SOAP Webservice

Call a REST webservice action
GET function

The REST action is by default GET, but all the HTTP methods of the standard are available: Get, Post, Delete, Patch, and Put.

You can enrich the query either by the method (URL), or by the API parameters, or by the headers, or all in the same time.

 Select the method
And modify Headers and API data

You can manually switch to the SOAP type via the dedicated button:

For all Web Services you can according to your needs.

  • Send requests directly via the method (i.e. the html link in which you have filled in the desired information).
  • Use the "API Data" box to complete, complexify or clarify the query.
Example of a SOAP query with data
  • Use the "Request header" box to manage the headers if necessary.
Add a header

There are two additionnal parameters which you can use :

  • Change port: Allows you to indicate on which port you want to query the webservice.
  • Use the cache: When possible, Agilitest will not make a new request if the requested data is already in the cache.

If you don't know the body of available actions: the Wizdler plugin

If you don't know the body of the Web Service, here is a simple trick to help you analyze WSDL files and generate SOAP messages:

  1. Install the WIZDLER plugin on your web browser (Chrome for example: Link to the Plugin Wizdler here)
  2. Open your http Web Service link on the same browser
  3. Click on the dedicated Wizdler button:

       4. Click on one of the actions available on this Web Service (e. g. CapitalCity) to retrieve the body and paste it into the "API Settings" box.

         5. Do not forget to fill in the related action in the "method" of the Agilitest action

          6. You can even test the action by replacing the default data[string] and then clicking on the dedicated "Go" button and checking the result returned by the Web Service

Capture of data returned by the Web Service

Now that the "method" and the "API Settings" box of your action are filled in, Agilitest will be able to automatically execute the action in your functional flow.

You can capture the query result via Agilitest's capture mode.

Capturing the result of the query
Selection of attributes that identify the element

The "Property" action allows you to reuse the target data returned by the Web Service in your script:

And we get the value in a variable….
indicating which attribute of the element is of interest to us

The recovery of the attribute "value" in this case allows us to recover the Capital of the Country whose ISO code is FR, namely Paris.

The action went well

Note

The Check and Property recovery actions will very often be the most relevant actions in writing your end-to-end functional tests using Web Services.

Example of a SOAP script

Please find here an example of ats SOAP script: SOAP_flag_demo.ats
Right-click on the link above and select "Save link as…" to retrieve the ATS file.

You can add it to your Agilitest project to edit and/or run it.

Related pages

No items found.
Still require support?
Contact support
No results found.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.