Contactez-nous

Vocabulaire essentiel : Test case, keyword, suite, librairie, variable, ressource

Apprenez le vocabulaire essentiel de Robot Framework : Test Case, Keyword, Suite, Librairie, Variable et Ressource. Des définitions claires et exemples pour une compréhension solide et une utilisation efficace.

Les briques fondamentales de Robot Framework : comprendre le jargon

Pour naviguer avec aisance dans l'univers de Robot Framework, il est crucial de maîtriser son vocabulaire spécifique. Ces termes ne sont pas de simples mots, mais représentent les concepts clés autour desquels s'articule toute la logique d'automatisation. Comprendre leur signification et leur rôle vous permettra de lire, écrire, et maintenir des scripts de test de manière beaucoup plus efficace. Ce sous-chapitre se consacre à la définition claire et illustrée de ces éléments constitutifs.

Nous allons décortiquer ensemble chaque terme, en commençant par l'unité de base d'un test, le "Test Case", jusqu'aux mécanismes de réutilisation et d'organisation que sont les "Keywords", "Librairies" et "Ressources". Nous aborderons également la gestion des données dynamiques avec les "Variables" et la manière de regrouper les tests en "Suites". L'objectif est de vous fournir une fondation solide pour que ces termes deviennent une seconde nature.

Une bonne appréhension de ce vocabulaire est la première étape pour écrire des tests clairs, robustes et maintenables. C'est également indispensable pour comprendre la documentation officielle, les tutoriels, et pour échanger de manière productive avec la communauté Robot Framework.

Les éléments constitutifs d'un test Robot Framework

Test Case (Cas de Test) :

Un Test Case est la plus petite unité de test exécutable dans Robot Framework. Il représente un scénario spécifique que vous souhaitez vérifier. Chaque cas de test a un nom descriptif et contient une séquence d'étapes, réalisées à l'aide de keywords, qui visent à valider un comportement ou une fonctionnalité particulière du système sous test. Un cas de test est considéré comme réussi (PASS) si toutes ses étapes s'exécutent sans erreur et que toutes les assertions sont validées. Dans le cas contraire, il est marqué comme échoué (FAIL).

Exemple simple dans un fichier .robot :

*** Test Cases ***
Mon Premier Cas de Test
    Log    Ceci est mon premier cas de test.
    Should Be Equal As Strings    Robot    Robot

Keyword (Mot-Clé) :

Un Keyword est une action ou une instruction que Robot Framework peut exécuter. C'est la brique de construction fondamentale des cas de test. Les keywords peuvent provenir de différentes sources :

  • Keywords de librairie (Library Keywords) : Ce sont des keywords fournis par des librairies externes (ex: Open Browser de SeleniumLibrary, Create Session de RequestsLibrary) ou par la librairie standard BuiltIn (ex: Log, Should Be Equal).
  • Keywords utilisateur (User Keywords) : Ce sont des keywords que vous définissez vous-même dans la section *** Keywords *** de vos fichiers de test ou de ressources. Ils permettent de regrouper plusieurs étapes en une seule action de plus haut niveau, favorisant ainsi la lisibilité et la réutilisabilité.

Les keywords peuvent accepter des arguments et retourner des valeurs.

Exemple de keyword utilisateur :

*** Keywords ***
Se Connecter Avec Identifiants Valides
    [Arguments]    ${username}    ${password}
    Input Text    id:username_field    ${username}
    Input Text    id:password_field    ${password}
    Click Button    id:login_button

Suite (Suite de Tests) :

Une Suite de Tests (Test Suite) est un regroupement de cas de test. De manière générale, chaque fichier .robot contenant une section *** Test Cases *** constitue une suite de tests. Les répertoires contenant des fichiers .robot forment également des suites de tests, qui incluent alors toutes les suites de tests des fichiers et sous-répertoires qu'ils contiennent. Les suites permettent d'organiser logiquement les tests (par fonctionnalité, par module, etc.) et d'exécuter un ensemble de tests en une seule fois.

Mécanismes d'extension et de gestion des données

Librairie (Library) :

Une Librairie est un module qui fournit des keywords pour interagir avec le système sous test ou pour effectuer des opérations spécifiques. Robot Framework dispose d'une librairie standard appelée BuiltIn, qui offre des keywords génériques (manipulation de chaînes, assertions, logging, etc.). De nombreuses autres librairies sont disponibles pour des besoins variés : SeleniumLibrary (tests web), RequestsLibrary (tests d'API REST), DatabaseLibrary (interactions avec bases de données), AppiumLibrary (tests mobiles), etc. On importe une librairie dans la section *** Settings *** avec le mot-clé Library.

Exemple :

*** Settings ***
Library    SeleniumLibrary
Library    Collections

Variable :

Une Variable permet de stocker et de réutiliser des données dans vos tests. Cela rend les tests plus dynamiques, maintenables et faciles à lire. Robot Framework supporte plusieurs types de variables :

  • Scalaires (Scalar variables) : Elles stockent une valeur unique et leur nom commence par ${} (ex: ${URL_LOGIN}, ${USER_NAME}).
  • Listes (List variables) : Elles stockent une liste d'éléments et leur nom commence par @{} (ex: @{BROWERS}, @{USER_CREDENTIALS}).
  • Dictionnaires (Dictionary variables) : Ils stockent des paires clé-valeur et leur nom commence par &{} (ex: &{USER_DETAILS}).

Les variables peuvent être définies dans la section *** Variables ***, en ligne de commande, ou être retournées par des keywords.

Exemple :

*** Variables ***
${BROWSER}       chrome
${LOGIN_URL}     https://exemple.com/login
@{USERS}         user1    user2    user3

Ressource (Resource File) :

Un Fichier de Ressource (Resource File) est un fichier .robot qui permet de partager des keywords utilisateur, des variables et des importations de librairies entre plusieurs suites de tests. C'est un mécanisme puissant pour éviter la duplication de code et pour organiser de manière centralisée les éléments communs. On importe un fichier de ressources dans la section *** Settings *** avec le mot-clé Resource.

Exemple (dans mon_projet_tests.robot) :

*** Settings ***
Resource    keywords_communs.robot
Resource    variables_globales.robot

Le fichier keywords_communs.robot pourrait alors contenir des keywords utilisateurs partagés, et variables_globales.robot des variables communes à plusieurs tests.

Maîtriser le langage pour une automatisation efficace

La compréhension approfondie de ces six termes – Test Case, Keyword, Suite, Librairie, Variable, et Ressource – est absolument fondamentale. Ils constituent l'alphabet et la grammaire du langage Robot Framework. En les maîtrisant, vous serez capable de structurer vos projets d'automatisation de manière logique, de créer des tests lisibles et robustes, et de collaborer efficacement avec d'autres membres de l'équipe.

Pensez à ces concepts comme à des outils dans une boîte. Savoir quand et comment utiliser chaque outil est la clé pour construire des solutions d'automatisation performantes. Au fur et à mesure de votre progression, vous verrez comment ces éléments s'imbriquent et interagissent pour créer des scénarios de test complexes et puissants.

Cette base terminologique solide vous préparera idéalement pour les chapitres suivants, où nous passerons à la pratique avec l'installation de l'environnement et l'écriture de vos premiers scripts. Vous pourrez ainsi appliquer concrètement ces concepts et voir leur utilité en action.