Récupération d’un plan d’exécution Squash TM depuis un PEAC


Squash DEVOPS vous donne la possibilité de récupérer un plan d’exécution de tests automatisés définis dans Squash TM depuis un PEAC. Ce PEAC pouvant être déclenché depuis un pipeline Jenkins par exemple (voir la page correspondante de ce guide).


Prérequis

Afin de pouvoir récupérer un plan d’exécution Squash TM depuis un PEAC, vous avez besoin d’avoir effectuer les actions suivantes dans Squash TM :

  • Création d’un utilisateur appartenant au groupe Serveur d’automatisation de tests.

  • Création d’un plan d’exécution (Itération ou Suite de tests) contenant au moins un ITPI lié à un cas de test automatisé suivant les instructions du guide utilisateur Squash AUTOM (voir ici)


Intégration de l’étape de récupération d’un plan d’exécution Squash TM dans un PEAC

Pour récupérer un plan d’exécution Squash TM dans un PEAC, il faut faire appel à l’action generator correspondante.

Voici ci-dessous un exemple simple de PEAC au format Json permettant de récupérer un plan d’exécution Squash TM :

{
    "apiVersion": "opentestfactory.org/v1alpha1",
    "kind": "Workflow",
    "metadata": {
        "name": "Simple Workflow"
    },
    "defaults": {
        "runs-on":"ssh"
    },
    "jobs": {
        "explicitJob": {
            "runs-on":"ssh",
            "generator":"tm.squashtest.org/tm.generator@v1",
            "with": {
                "testPlanUuid":"1e2ae123-6b67-44b2-b229-274ea17ad489",
                "testPlanType":"Iteration",
                "squashTMUrl":"https://mySquashTMInstance.org/squash",
                "squashTMAutomatedServerLogin":"tfserver",
                "squashTMAutomatedServerPassword":"tfserver"
            }
        }
    }
}

Un step generator Squash TM doit contenir les paramètres suivants :

  • testPlanType : Correspond au type du plan de test à récupérer dans Squash TM. Seules les valeurs Iteration et TestSuite sont acceptées.

  • testPlanUuid : Correspond à l’UUID du plan de test souhaité. Celui-ci peut être récupéré dans le panneau Information de l’itération ou de la suite de test souhaitée dans Squash TM.

  • squashTMUrl : URL du Squash TM à viser.

  • squashTMAutomatedServerLogin : Nom de l’utilisateur du groupe Serveur d’automatisation de tests à utiliser dans Squash TM.

  • squashTMAutomatedServerPassword : Mot de passe de l’utilisateur du groupe Serveur d’automatisation de tests à utiliser dans Squash TM.

[Champs Optionnels] :

  • tagLabel : Spécifique à la version Premium - Correspond au nom du champ personnalisée de type tag sur lequel on souhaite filtrer les cas de test à récupérer. Il n’est pas possible d’en spécifier plusieurs.

  • tagValue : Spécifique à la version Premium - Correspond à la valeur du champ personnalisée de type tag sur lequel on souhaite filtrer les cas de test à récupérer. Il est possible d’indiquer plusieurs valeurs séparées par des “|” (Exemple: valeur1|valeur2). Il faut au moins l’une des valeurs pour que le cas de test soit pris en compte.

Avertissement

Si l’un des deux champs tagLabel ou tagValue est présent, alors l’autre champ doit également être renseigné.


Paramètres Squash TM exploitables dans un test automatisée Robot Framework

En exécutant un PEAC avec récupération d’un plan d’exécution Squash TM, ce dernier transmet différentes informations sur les ITPI qu’il est possible d’exploiter dans un cas de test Robot Framework.


Nature des paramètres Squash TM exploitables

Les paramètres Squash TM exploitables dans un script Robot Framework vont différer suivant si vous utilisez les composants Squash DEVOPS Community ou Squash DEVOPS Premium.

Voici le tableau des paramètres exploitables :

Nature

Clé

Community

Premium

Nom du jeu de donnée

DSNAME

../_images/ok.jpg ../_images/ok.jpg

Paramètre d’un jeu de donnée

DS_[nom]

../_images/ok.jpg ../_images/ok.jpg

Référence du cas de test

TC_REF

../_images/ok.jpg ../_images/ok.jpg

CUF cas de test

TC_CUF_[code]

../_images/ok.jpg ../_images/ok.jpg

CUF itération

IT_CUF_[code]

../_images/ko.jpg ../_images/ok.jpg

CUF campagne

CPG_CUF_[code]

../_images/ko.jpg ../_images/ok.jpg

CUF suite de tests

TS_CUF_[code]

../_images/ko.jpg ../_images/ok.jpg

Légende :

  • CUF : Custom Field / Champ personnalisé

  • [code] : Valeur renseignée dans le champ “Code” d’un CUF

  • [nom] : nom du paramètre tel que renseigné dans Squash TM


Utilisation de paramètres Squash TM dans un cas de test Robot Framework

Il est possible lors de l’exécution d’un cas de test Squash TM automatisé avec Robot Framework d’exploiter des paramètres Squash TM au sein de celui-ci.

Pour cela, il faut suivre les étapes suivantes :

  • Installer sur le/les environnement(s) d’exécution Robot Framework la librairie python squash-tf-services. Elle est accessible par le gestionnaire de package pip et peut s’installer en exécutant la ligne de commande suivante :

python -m pip install squash-tf-services
  • Importer la librairie au sein du fichier .robot dans la section Settings :

Library squash_tf.TFParamService
  • Vous pouvez ensuite récupérer la valeur d’un paramètre Squash TM en faisant appel au mot-clef suivant :

Get Param <clé du paramètre>

Vous verrez ci-dessous un exemple de cas de test Robot Framework exploitant les paramètres Squash TM :

../_images/robot-test-case-with-param-1.png

Remontée d’informations vers Squash TM en fin d’exécution

La nature de la remontée d’informations à Squash TM en fin d’exécution d’un plan d’exécutions Squash TM va dépendre de si vous êtes sous licence Squash AUTOM Community ou Squash DEVOPS Premium.

Consultez le guide utilisateur Squash AUTOM pour plus d’informations (voir ici).