Aller au contenu

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, ou 4 par ordre de qualité et de taille. La valeur par défaut est 2.

  • atsLogLevel (facultatif)

    Niveau de reporting. Les valeurs possibles, du moins au plus verbeux, sont silent, error, info, warning, et all. La valeur par défaut est all.

  • 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épertoire target, à l'exception des sous-répertoires junitreports et ats-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épertoire target, à l'exception des sous-répertoires junitreports et ats-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

my_workflow.yaml
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.