FAQ : Le pilotage des tests depuis Squash TM
Comment piloter les tests depuis Squash TM ?
Il existe trois moyens de piloter les tests depuis Squash TM :
- la sélection des tags sur les environnements d'exécution (disponible à partir de Squash TM 4.0)
- l'exploitation de paramètres Squash TM dans un test
- l'utilisation de variables d'environnement (disponible à partir de Squash TM 4.1)
Quels paramètres peuvent être transmis de Squash TM à un test ?
Les paramètres suivants, définis dans Squash TM, peuvent être récupérés dans un test :
- Nom du jeu de données
- Paramètre d'un jeu de données
- Référence du cas de test
- Champ personnalisé du cas de test
De plus, si vous disposez d'une licence Squash Ultimate, les paramètres suivants sont aussi disponibles :
- Champ personnalisé de l'itération
- Champ personnalisé de la campagne
- Champ personnalisé de la suite de tests
Comment récupérer les paramètres de Squash TM dans un test ?
Les pages décrivant le support de chaque technologie détaillent comment faire selon chacune : Java Param Library, squash-tf-services, commandes fournies par le framework de test…
Comment sont formatées les valeurs des CUF transmises au test ?
Type de CUF | Format de la valeur du CUF |
---|---|
Texte Simple | le texte lui-même |
Case à cocher | true si la case est cochéefalse si la case n'est pas cochée |
Liste déroulante | le nom de l'option sélectionnée dans la liste |
Texte riche | le texte sous forme HTML, par exemple <p>ceci est <strong>gras </strong>et cela est <span style="font-family:Courier New,Courier,monospace"><u>souligné en Courier</u></span></p> |
Date | la date formatée selon la norme ISO 8601 (AAAA-MM-JJ ) |
Tag | la liste des étiquettes séparées par un caractère | , par exemple un|trois|quatre |
Numérique | la représentation textuelle de la valeur, par exemple -42 pour un entier, 123.456 pour un nombre à virgule flottante |
Quand plutôt utiliser un tag ou une variable d'environnement ?
Voici des exemples typiques d'utilisation des tags et/ou des variables d'environnement.
(Les tags des environnements d'exécution en italique sont requis par l'orchestrateur : OS et technologie(s) de test.)
Exemple 1 : Choix du système d'exploitation
Besoin
Vous voulez utiliser des environnements d'exécution avec plusieurs OS, par exemple pour tester qu'une application Web fonctionne correctement avec Chrome sur Windows, Chrome sur MacOS et Chrome sur Linux.
Préparation
Créer un environnement d'exécution par OS. L'orchestrateur requiert un tag OS pour chaque environnement.
Lancement des tests
Utiliser les tags pour choisir l'OS au moment du lancement des tests dans Squash TM. Mais ne pas utiliser les tags des technologies de test (cucumber, robotframework…) pour sélectionner un environnement, ils ne servent qu'à l'orchestrateur pour lancer un test sur un environnement disposant de la technologie de celui-ci.
Exemple 2 : Choix du navigateur
Besoin
Vous voulez utiliser plusieurs navigateurs pour tester qu'une application Web fonctionne correctement avec Chromium, Firefox et WebKit.
Deux options :
Option 1 : Un environnement d'exécution disposant des différents navigateurs
Préparation
Les scripts automatisés de test utilisent la valeur d'une variable d'environnement (par exemple BROWSER
) pour lancer et piloter le navigateur désiré.
Lancement des tests
La valeur de la variable d'environnement est choisie au moment du lancement des tests dans Squash TM.
Option 2 : Un navigateur par environnement d'exécution
Préparation
Tagger chaque environnement d'exécution avec le navigateur qui y est installé.
Lancement des tests
Utiliser les tags pour choisir le navigateur au moment du lancement des tests dans Squash TM.
Exemple 3 : Choix de la version des tests automatisés
Besoin
Vous voulez sélectionner la branche Git des tests automatisés que vous voulez exécuter.
Préparation
Un hook est mis en place sur l'action actions/checkout@v2
pour faire un git checkout
de la branche dont le nom est défini par une variable d'environnement (par exemple GIT_BRANCH
). Ce hook peut être déclaré dans le fichier /app/conf/actionprovider.yaml
ou dans un autre fichier pointé par la variable d'environnement ACTIONPROVIDER_PROVIDER_HOOKS
(voir détails dans la FAQ dédiée).
hooks:
- name: checkout Git branch (Windows)
if: (runner.os == 'windows') && (variables.GIT_BRANCH != '')
events:
- category: checkout
after:
- run: "@for /F %%A in (\"%INPUT_REPOSITORY%\") do (@cd %%~nA & git checkout %GIT_BRANCH%)"
- name: checkout Git branch (Linux)
if: (runner.os == 'linux') && (variables.GIT_BRANCH != '')
events:
- category: checkout
after:
- run: cd `echo $INPUT_REPOSITORY | sed 'sX.*/XX' | sed 'sX\.git$XX'` && git checkout $GIT_BRANCH
repository
de l'action actions/checkout@v2
peut être récupéré par le mécanisme des variables d'environnement INPUT_<INPUT_NAME>
.)
Lancement des tests
La valeur de la variable d'environnement GIT_BRANCH
est choisie au moment du lancement des tests dans Squash TM (si elle est laissée vide, git checkout
n'est pas appelé, la branche par défaut est utilisée).
Exemple 4 : Choix du SUT
Besoin
Vous voulez pouvoir choisir de tester le SUT recette ou le SUT preprod.
Deux options :
Option 1 : Un environnement d'exécution accédant aux différents SUT
Préparation
Les scripts automatisés de test utilisent la valeur d'une variable d'environnement (par exemple SUT
) pour cibler le SUT désiré.
Lancement des tests
La valeur de la variable d'environnement est choisie au moment du lancement des tests dans Squash TM.
(De même, des données dépendantes du SUT, telles que login et mot de passe, peuvent aussi être communiquées par des variables d'environnement et exploitées par les scripts automatisés de test.)
Option 2 : Un navigateur par environnement d'exécution
Préparation
Tagger chaque environnement d'exécution avec le SUT qu'il cible.
Lancement des tests
Utiliser les tags pour choisir le SUT au moment du lancement des tests dans Squash TM.