Aller au contenu

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 AUTOM Premium, 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…

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.

Token

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

Token

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

Token

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.

Token

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 documentation d'OpenTestFactory).

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
(Ce hook utilise le fait que l'input 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

Token

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

Token

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.