Aller au contenu

Automatisation avec Katalon

Cette fonctionnalité est disponible uniquement dans la version Ultimate de Squash.
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

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]
(La référence contient toujours trois caractères #.)

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

Détermination du résultat du cas de test

Si un cas de test [cas_de_test] n'est pas spécifié, le résultat du cas de test Squash TM est calculé en prenant en compte les résultats individuels de chaque cas de test Katalon 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.

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]
ID d'exécution TC_EXECUTION_ID
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

Disponibilité de l'ID d'exécution

TC_EXECUTION_ID est disponible uniquement avec Squash TM 8.0 ou une version ultérieure.

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 le cas d'un lancement à partir d'un pipeline CI/CD 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. La 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. La variable globale provenant du profil nommé default, et non pas du profil défini comme profil par défaut, si elle y est définie (ex : DS_gid = 31338079 dans le profil default).

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 a été validé avec Katalon 8.2.0. Toute version récente devrait fonctionner.