Aller au contenu

Automatisation avec Robot Framework

Configuration de l'environnement d'exécution

Le module Python allure-robotframework doit être présent dans l'environnement d'exécution.
Celui-ci peut être installé grâce à la commande :

pip install allure-robotframework

Pour accéder aux paramètres de Squash TM (voir ci-dessous), la librairie Python squash-tf-services doit être présente.
Elle peut être installée grâce à :

pip install squash-tf-services

Référence du test dans Squash TM

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

[dépôt]/[fichier]#[cas_de_test]
ou
[dépôt]/[fichier]

avec :

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

  • [fichier] : Chemin et nom du fichier de test Robot Framework à partir de la racine du projet (avec son extension .robot).
    Il est possible de ne pas préciser un nom de fichier .robot et de n'indiquer que le chemin d'un dossier. Dans ce cas, tous les fichiers .robot du dossier et des sous-dossiers seront exécutés.

  • [cas_de_test] : Nom du cas de test à exécuter dans le(s) fichier(s) .robot.
    Ce paramètre est optionnel, c'est-à-dire qu'il peut être absent.

Nature des paramètres Squash TM exploitables

Les paramètres Squash TM exploitables vont différer suivant si vous utilisez les composants Squash AUTOM Community ou Squash AUTOM Premium.

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é Community Premium
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 Robot Framework 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 robotframework/params.

Pour cela, il faut suivre les étapes suivantes :

  • Importer la librairie squash-tf-services 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 en faisant appel l'un des mots-clefs suivants :

    • ${value}=Get Global Paramkey
      ${value}=Get Global Paramkeydefault_value
      Ce mot-clef récupère la valeur d'un paramètre global.
      Si celui existe, sa valeur est assignée à ${value}.
      Sinon la valeur par défaut est assignée à ${value}; si aucune valeur par défaut n'est fournie, Noneest utilisé. Exemple :
      ${parameter}=    Get Global Param    target_base_url    http:localhost:8080/sut/
      

    • ${value}=Get Test Paramkey
      ${value}=Get Test Paramkeydefault_value
      Ce mot-clef récupère la valeur d'un paramètre de test.
      Si celui existe, sa valeur est assignée à ${value}.
      Sinon la valeur par défaut est assignée à ${value}; si aucune valeur par défaut n'est fournie, Noneest utilisé. Exemple :
      ${login}=    Get Test Param    TC_CUF_login    test_user
      

    • ${value}=Get Paramkey
      ${value}=Get Paramkeydefault_value
      Ce mot-clef combine les deux types de paramètres.
      Si un paramètre de test existe, sa valeur est assignée à ${value}.
      Sinon, si un paramètre global existe, sa valeur est assignée à ${value}.
      Sinon la valeur par défaut est assignée à ${value}; si aucune valeur par défaut n'est fournie, Noneest utilisé. Exemple :
      ${login}=    Get Param    login    test_user
      

Exemple

Ci-dessous un exemple de fichier de test Robot Framework et l’automatisation du cas de test Squash TM associé :

Exemple Robot Framework

Exemple Robot Framework

Versions supportées

Squash AUTOM et Squash DEVOPS ont été validés avec Robot Framework 4.0. Toute version récente devrait fonctionner.