Agilitest
Note
Ce plugin est disponible uniquement dans la version Ultimate de Squash.
Ce plugin fournit des fonctions qui gèrent les tests Agilitest. Il a été validé avec ATS 2.3.0 et devrait fonctionner avec toute version récente d'ATS.
Il peut être utilisé directement dans un workflow, ou indirectement via des générateurs (comme ceux donnant accès aux gestionnaires de cas de tests).
Une installation Agilitest fonctionnelle doit être disponible dans les environnements d'exécution ciblés.
Les fonctions ont un préfixe de catégorie agilitest
.
Fonctions
agilitest/agilitest@v1
Permet d'exécuter une suite de tests Agilitest.
Le chemin d'accès au script ATS est relatif au répertoire de travail du step. S'il n'est pas spécifié, il s'agit du répertoire de travail du job, auquel cas il doit inclure le nom du dépot de code source.
Dans la plupart des cas, ce chemin sera :
repositoryName/src/main/ats/otherDir/testCase.ats
Entrants
La fonction a les entrants suivants :
-
test
(requis)Le script ATS à utiliser.
-
test_parameters
(facultatif)Un ensemble de paramètres au niveau de la suite de tests. Si un paramètre n'est pas spécifié, il utilisera sa valeur par défaut. Si un paramètre est spécifié, une valeur personnalisée doit être donnée.
-
atsSuiteDescription
(facultatif)Une description personnalisée de la suite de tests, visible dans les rapports. La valeur par défaut est
Squash generated testsuite
. -
visualReport
(facultatif)La qualité du rapport visuel. Les valeurs possibles sont
1
,2
,3
, ou4
par ordre de qualité et de taille. La valeur par défaut est2
. -
atsLogLevel
(facultatif)Niveau de reporting. Les valeurs possibles, du moins au plus verbeux, sont
silent
,error
,info
,warning
, etall
. La valeur par défaut estall
. -
reportsDirectory
(facultatif)Où placer les rapports, par rapport au projet. La valeur par défaut est
target/ats-output
. -
environment_variables
(facultatif)Un ensemble de clés-valeurs pour alimenter les variables dans le script.
Rapports
La fonction génère les rapports suivant :
-
TEST-{ats_script}.xml
Un rapport Surefire (XML).
{ats_script}
est le nom d'un script ATS.Le rapport Surefire a un content-type
application/vnd.opentestfactory.agilitest-surefire+xml
. -
ats-reports.tar
Une archive TAR.
Contient tous les fichiers du répertoiretarget
, à l'exception des sous-répertoiresjunitreports
etats-output
.
Exemples
Ce premier exemple exécute le script ATS bar.ats
localisé dans le répertoire foo
avec des valeurs par défaut pour tous les paramètres de test et aucune variable d'environnement :
- uses: agilitest/agilitest@v1
with:
test: agilitestProject/src/main/ats/foo/bar.ats
Ce deuxième exemple exécute le script ATS bar.ats
localisé à la racine de tous les scripts, avec la valeur par défaut pour atsLogLevel
, la plus haute qualité possible pour le rapport visuel et une description personnalisée pour la suite de test. La variable d'environnement my_env_var
utilisée dans le script est également définie.
- uses: agilitest/agilitest@v1
with:
test: agilitestProject/src/main/ats/bar.ats
test_parameters:
atsSuiteDescription: MyTestSuite
visualReport: 4
environment_variables:
my_env_var: 42
agilitest/execute@v1
Une fonction execute
destinée à être utilisée par les générateurs. Exécute un script de test.
Format de la référence de test
Le format de la référence de test utilisé par agilitest/execute@v1
est le suivant :
{project}/{script}
Avec :
{project}
(obligatoire): nom du projet sur le dépôt de code source.{script}
(obligatoire): chemin et nom du test ActionTestScript, depuis la racine du projet (avec l'extension.ats
).
Note
Veuillez noter que le script ATS doit être localisé dans src/main/ats/*
, comme dans toute architecture ATS classique.
Entrants
La fonction a les entrants suivants :
-
test
(obligatoire)La référence du test.
Rapports
La fonction génère les rapports suivants :
-
TEST-{ats_script}.xml
Un rapport Surefire (XML).
{ats_script}
est le nom d'un script ATS.Le rapport Surefire a un content-type
application/vnd.opentestfactory.agilitest-surefire+xml
. -
ats-reports.tar
Une archive TAR.
Contient tous les fichiers du répertoiretarget
, à l'exception des sous-répertoiresjunitreports
etats-output
.
Exemple
Le chemin d'accès au script ATS est relatif au répertoire de travail de l'étape.
Dans la plupart des cas, le chemin sera :
repositoryName/src/main/ats/{...}/testCase.ats
- uses: agilitest/execute@v1
with:
test: agilitestProject/src/main/ats/testCase.ats
agilitest/params@v1
Une fonction params
destinée à être utilisée par les générateurs.
Entrants
La fonction a les entrants suivants :
-
data
(obligatoire)Les données à utiliser pour les tests automatisés.
-
format
(obligatoire)Le format à utiliser pour les données des tests automatisés.
- uses: agilitest/params@v1
with:
data:
global:
key1: value1
key2: value2
test:
key1: value3
key3: value4
format: format
La valeur du format
doit être SQUASHTM_FORMAT
(tm.squashtest.org/params@v1
).
data
peut avoir 2 clés :
global
pour les paramètres globaux.test
pour les paramètres de test.
Utilisé via l'inception
Pour plus d'information sur ce qu'est l'inception, merci de consulter "Inception".
Préchargez l'environnement d'exécution avec à minima les données du rapport d'exécution de tests.
Exemple
metadata:
name: Agilitest Inception
resources:
files:
- report1
jobs:
my_specific_job:
runs-on: inception
steps:
- uses: actions/prepare-inception@v1
with:
TEST-testCase.xml: ${{ resources.files.report1 }}
- uses: agilitest/execute@v1
with:
test: agilitestProject/src/main/ats/testCase.ats
Vous pouvez utiliser la commande suivante pour lancer l'exécution :
opentf-ctl \
run workflow my_workflow.yaml \
-f report1=output_1.xml
opentf-ctl ^
run workflow my_workflow.yaml ^
-f report1=output_1.xml
opentf-ctl `
run workflow my_workflow.yaml `
-f report1=output_1.xml
Configuration
Des hooks peuvent être définis pour les fonctions fournies. Cela peut être fait dans les définitions du workflow ou directement au niveau de l'orchestrateur afin qu'ils s'appliquent à tous les workflows.
La configuration au niveau de l'orchestrateur se fait en passant la variable d'environnement AGILITEST_PROVIDER_HOOKS
ou en ajoutant le hook dans le fichier de configuration /app/conf/agilitest.yaml
.
Pour plus d'informations, merci de consulter la documentation de l'OpenTestFactory.