Aller au contenu

Automatisation avec Katalon

Cette fonctionnalité est disponible uniquement dans la version Premium de Squash AUTOM.
Le support de Katalon est disponible à partir de Squash TM 3.0.

Configuration de l'environnement d'exécution

katalonc (qui est le Katalon Runtime Engine) doit être présent dans l'environnement d'exécution et accessible via la variable d'environnement PATH.

Variables d'environnement

Les trois variables d'environnement suivantes doivent être définies et renseignées dans l'environnement d'exécution :

Variable Contenu Exemple
KATALON_API_KEY Clef de licence API de Katalon 123a4567-123a-1ab2-1234-1234567890ab
KATALON_ORG_ID ID d'organisation chez Katalon 123456
KATALON_BROWSER_TYPE Type de browser par défaut Web Service

De plus, la variable d'environnement suivante peut aussi être définie :

Variable Contenu Exemple
KATALON_EXECUTION_PROFILE Profil d'exécution à utiliser production

Référence du test dans Squash TM

Info

Le résultat de chaque exécution d'un cas de test Squash TM est calculé en prenant en compte les résultats individuels de chaque cas de test appartenant à la collection de suites de tests ou à la suite de tests, du fichier projet (.prj) Katalon exécuté :

  • Si au moins un test est en statut Error (dans le cas d'un problème technique), l'exécution sera en statut Blocked.
  • Si au moins un test a échoué fonctionnellement et qu'aucun test n'est en statut Error, l'exécution sera en statut Failed.
  • Si tous les tests ont réussi, l'exécution sera en statut Success.

Pour lier un cas de test Squash TM à un test automatisé Katalon, le champ Référence du test automatisé du bloc Automatisation du cas de test doit avoir la forme suivante :

[dépôt]/[projet]#[collection]#[suite]#[cas_de_test]

avec :

  • [dépôt] : Nom du dépôt Git.

  • [projet] : Chemin jusqu'au nom du fichier projet Katalon (avec son extension .prj) à partir de [dépôt].

  • [collection] : Chemin relatif à partir du dossier du projet Katalon jusqu'au nom de la collection de suites de tests.
    Ce paramètre est optionnel, c'est-à-dire que la chaîne de caractères [collection] peut être vide.
    Ce paramètre est exclusif par rapport à [suite] ([collection] et/ou [suite] doit être vide).

  • [suite] : Chemin relatif à partir du dossier du projet Katalon jusqu'au nom de la suite de tests.
    Ce paramètre est optionnel, c'est-à-dire que la chaîne de caractères [suite] peut être vide.
    Ce paramètre est exclusif par rapport à [collection] ([collection] et/ou [suite] doit être vide).

  • [cas_de_test] : Chemin relatif à partir du dossier du projet Katalon jusqu'au nom du cas de test spécifique à parser pour lequel on désire obtenir un résultat en particulier.
    Ce paramètre est optionnel, c'est-à-dire que la chaîne de caractères [cas_de_test] peut être vide.

Référence du test automatisé et exécution

La précision du chemin relatif à partir du dossier du projet Katalon jusqu'au nom du cas de test spécifique [cas_de_test], dans la référence du test, n'influe pas sur l'exécution, mais sur la détermination du résultat du test.
Ainsi, même en définissant une granularité à l'échelle du cas de test spécifique, la totalité des cas de tests contenus dans la collection de suites de tests ou dans la suite de tests sera exécutée (ce qui signifie, par exemple, que si plusieurs cas de tests Squash TM pointent vers la même collection de suites de tests ou vers la même suite de tests, mais vers des cas de test différents, tous ces cas de tests seront exécutés plusieurs fois).
Les rapports de test contiennent les traces de tous les cas de tests exécutés. Par contre, seuls les statuts Error / Failed / Success correspondant à cette granularité fine seront considérés pour définir le résultat du cas de test Squash TM.

Choix exclusif de la collection de suites de tests ou de la suite de tests

Les sections [collection] et [suite] sont exclusives l'une par rapport à l'autre. On doit renseigner soit la collection de suites de tests, soit la suite de tests, mais pas les deux.
Au final, le champ Référence du test automatisé doit contenir obligatoirement trois caractères #.

Nature des paramètres Squash TM exploitables

Voici le tableau des paramètres exploitables (ces paramètres sont transmis en tant que paramètres de test, voir ci-dessous, Squash TM ne génère pas de paramètres globaux) :

Nature Clé
Nom du jeu de données DSNAME
Paramètre d'un jeu de données DS_[nom]
Référence du cas de test TC_REFERENCE
UUID interne du cas de test TC_UUID
Champ personnalisé du cas de test TC_CUF_[code]
Champ personnalisé de l'itération IT_CUF_[code]
Champ personnalisé de la campagne CPG_CUF_[code]
Champ personnalisé de la suite de tests TS_CUF_[code]

Légende :

  • [code] : valeur renseignée dans le champ “Code” d’un champ personnalisé
  • [nom] : nom du paramètre tel que renseigné dans Squash TM

Comme indiqué, Squash TM ajoute un préfixe au code du champ personnalisé transmis. Assurez-vous de le prendre en compte.

Voir la documentation de Squash TM pour plus d'information sur les champs personnalisés.

Utilisation de paramètres

Il est possible lors de l’exécution d’un test Katalon d’exploiter des paramètres au sein de celui-ci. Un paramètre peut être un paramètre de test ou un paramètre global. Squash TM ne transmet que des paramètres de test. Des paramètres de test et des paramètres globaux peuvent être utilisés dans Squash DEVOPS avec l'action katalon/params.

Les paramètres globaux et les paramètres de test sont utilisables dans Katalon sous forme de global variables en utilisant la syntaxe GlobalVariable.param_name (voir la documentation de Katalon). Si le même nom est utilisé pour un paramètre global et un paramètre de test, c'est ce dernier qui est pris en compte.

Ordre de priorité en cas d'homonymie de variable

Une même variable peut être définie à divers endroits, dans ce cas l'ordre de priorité est (par ordre décroissant) :

  1. Variable d'un jeu de données ou d'un CUF dans Squash TM (ex : gid = 29428053 dans le jeu de données JDD_DEMO_POSTMAN, qui sera transmise sous le nom DS_gid).
  2. Si un profil d'exécution est défini (via la variable d'environnement KATALON_EXECUTION_PROFILE), alors la variable globale si elle y est définie (ex : DS_gid = 36483577 dans le profil production).
  3. Variable globale provenant du profil par défaut si elle y est définie (ex : DS_gid = 31338079 dans le profil par défaut).

Ceci permet de définir des valeurs par défaut dans les profils d'exécution Katalon et de les écraser optionnellement dans Squash TM.

Exemple

  1. Définition de variables globales dans le profil par défaut du projet Katalon katalon-samples : Définition de variables globales dans le profil par défaut

  2. Déclaration du cas de test 3_PARAMS_TestCase_01_With_GlobalID dans la suite de tests 3_TestSuite_Params_Action : Déclaration du cas de test

  3. Définition de ce cas de test : Définition de ce cas de test

  4. Récupération de la valeur des paramètres DS_url et DS_gid (correspondant aux paramètres url et gid du jeu de données Squash TM) dans le cas de test : Récupération de la valeur du paramètre dans le cas de test

  5. Définition du jeu de données dans Squash TM :

Définition du jeu de données

Sélection du profil d'exécution depuis Squash TM

Squash TM 4.1 (ou version postérieure) permet la définition de variables d'environnement dans l'environnement d'exécution. Ainsi, via la variable d'environnement KATALON_EXECUTION_PROFILE, il est possible de sélectionner le profil d'exécution à utiliser lors de l'exécution des tests Katalon.

En reprenant l'exemple précédent :

  1. Définition de la variable d'environnement KATALON_EXECUTION_PROFILE:

    Définition de la variable d'environnement

  2. Association de la variable d'environnement au Squash Orchestrator :

    Association de la variable d'environnement au Squash Orchestrator

  3. Définition de la valeur de la variable d'environnement au lancement des tests :

    Définition de la valeur de la variable d'environnement au lancement des tests

Le cas de test PRJ_DEMO_KATALON_T3_TESTSUITE_Params_Action_OK sera ainsi exécuté avec le profil production.

Versions supportées

Squash AUTOM et Squash DEVOPS ont été validés avec Katalon 8.2.0. Toute version récente devrait fonctionner.