Comment débuter avec Robot Framework – Vue d'ensemble

Dernière mise à jour le 09 août 2020 — Guy Arieli, CTO Qualité
Continuous Testing

Présentation des robots

Robot Framework est un automatisation des tests Robot Framework est un framework qui simplifie la gestion des tests d'acceptation et des environnements de développement piloté par les tests d'acceptation (ATDD) pour les équipes d'assurance qualité. Conçu initialement par Pekka Klarck en 2005 et développé la même année chez Nokia Networks, il est devenu open source en 2008. Écrit en Python, Robot Framework offre un riche écosystème de bibliothèques et d'outils, et permet son intégration avec quasiment toutes les solutions d'automatisation des tests. Ce framework est compatible avec IronPython (.NET) et Jython (JVM), et est indépendant de toute plateforme et application. Il se distingue par sa syntaxe simple et son approche de test pilotée par mots-clés, lisibles par l'humain. Vous pouvez utiliser les mots-clés intégrés ou en créer de nouveaux. Le développement de Robot Framework est désormais assuré par la Robot Framework Foundation.

Qu'est-ce qu'un test d'acceptation ?

Test d'acceptation Il s'agit d'une partie d'un projet de test qui vérifie si le logiciel est conforme aux spécifications fonctionnelles et aux exigences métier avant sa mise en production. pipeline de testLes tests unitaires s'exécutent en premier. Ils sont suivis par test d'intégration et les tests système. Enfin, les tests d'acceptation sont effectués pour garantir que le logiciel répond à toutes les exigences métier avant sa livraison aux utilisateurs finaux. Ces tests d'acceptation sont généralement réalisés par le biais de tests fonctionnels (boîte noire).

Les tests d'acceptation se font de deux manières, par exemple :

  1. Tests d'acceptation interne : Les membres de la société de logiciels qui n'ont pas participé au développement de ce logiciel le testeront.
  2. Tests d'acceptation externe : Des personnes extérieures à l'entreprise de logiciels le testeront (principalement les clients qui ont commandé ce logiciel). Dans un second temps, les utilisateurs finaux le testeront.

Qu'est-ce que le développement piloté par les tests d'acceptation (ATDD) ?

Le développement piloté par les tests d'acceptation (ATDD) est une approche de l'automatisation des tests centrée sur l'utilisateur. Dans un environnement de développement piloté par les tests (BDD), les développeurs rédigent les tests de leur point de vue. L'ATDD fonctionne à l'inverse : différentes équipes, telles que les développeurs, l'assurance qualité et les clients, collaborent à la préparation des cas de tests d'acceptation avant d'intégrer la fonctionnalité à l'application. Grâce à cette approche centrée sur l'utilisateur et à une collaboration fluide entre les équipes de développement et les experts fonctionnels, les applications développées ont davantage de chances de satisfaire aux critères d'acceptation. Avec l'ATDD, les tests fonctionnels deviennent simples et efficaces.

Le développement piloté par le comportement (BDD) et le développement piloté par l'expérience (ATDD) présentent de nombreuses similitudes. Cependant, ils diffèrent sur un point essentiel : le BDD se concentre sur le comportement d'une fonctionnalité, tandis que l'ATDD se concentre sur les exigences.

L'histoire du développement piloté par les tests d'acceptation

C’est Kent Beck qui a évoqué pour la première fois le concept d’environnement de développement piloté par les tests d’acceptation (ATDD) dans son ouvrage « Test Driven Development: By Example » en 2003. Il estimait alors que sa mise en œuvre était pratiquement impossible. Cependant, la popularité de l’outil d’automatisation des tests open source Fitnesse, qui favorisait une bonne collaboration entre les parties prenantes, a permis à l’ATDD de devenir une réalité.

L'ATDD permet de bien comprendre les besoins des utilisateurs d'une application et sert de guide tout au long du projet de développement. Elle facilite également une collaboration efficace entre les différentes équipes. Parmi les outils utilisés pour l'ATDD, on trouve Robot Framework, TestNG, Fitnesse, Thucydides et EasyB.

Robot Framework pour les tests d'acceptation et le développement piloté par les tests (ATDD)

Avant de poursuivre avec ce cadre de travail, il est important de comprendre certains aspects clés de l'outil.

  1. Cas de test basés sur des tableaux : Cet outil vous permet de rédiger des cas de test à l'aide de mots-clés dans un format tabulaire simple.
  2. Mots clés: Cet outil propose des mots-clés intégrés pour la rédaction des cas de test. Vous pouvez également importer des mots-clés depuis des bibliothèques open source ou créer vos propres mots-clés.
  3. Bibliothèques: Cet outil prend en charge diverses bibliothèques telles que la bibliothèque Selenium, la bibliothèque iOS, la bibliothèque de débogage, la bibliothèque FTP, etc.
  4. Ressources: Cet outil vous permet d'importer des fichiers robots contenant des mots-clés provenant de sources externes.
  5. Variables: Cet outil prend en charge trois types de variables : les variables scalaires, les variables de dictionnaire et les variables de liste.
  6. Tags: Cet outil vous permet d'étiqueter les cas de test afin de pouvoir les ajouter ou les omettre lors de l'exécution des suites de tests.
  7. Rapports et journaux : L'outil fournit les détails des tests sous forme de fichiers HTML et de fichiers journaux.

Premiers pas avec Robot Framework

Voici les prérequis pour exécuter ce cadre de tests d'acceptation.

  1. Python avec PIP
  2. Cadre de robot
  3. wxPython
  4. RIDE

Étape 1 : Installer Python

Visitez le site web suivant pour télécharger le logiciel Python.

https://www.python.org/downloads/

Téléchargez la dernière version pour votre système d'exploitation (ex. : Windows).

Robot Framework Python

Double-cliquez sur le logiciel Python pour lancer l'installation.

Installation de Robot Framework Python 32 bits

Vous pouvez cliquer sur « Installer maintenant » pour installer le package par défaut. Celui-ci inclut pip, IDLE et la documentation. Vous pouvez également choisir « Personnaliser l'installation » pour sélectionner les fonctionnalités souhaitées.

Notez que le programme d'installation propose l'option « Ajouter Python 3.8 au PATH ». Lorsque vous cochez cette case, l'outil met automatiquement à jour le chemin d'accès à Python dans les variables d'environnement.

options avancées de Python

Personnalisez les options d'installation, choisissez l'emplacement et cliquez sur Installer pour démarrer la procédure d'installation.

progression de l'installation de Python

Une fois terminé, vous verrez un message de remerciement pour Mark Hammond, qui a contribué à l'outil Python pour Windows.

Installation de Python réussie

Pour vérifier si Python et pip sont correctement installés, ouvrez l'invite de commandes et exécutez la commande version.

  • python –version
  • pip-version

Notez que pip est installé par défaut avec python.

pépin de python

Python et pip sont désormais installés et prêts à l'emploi.

Étape 2 : Configurer les variables d'environnement

Après avoir installé Python et pip, vous devez configurer les variables d'environnement en ajoutant le chemin d'accès. Pour ce faire,

  • Accédez à Système – > Paramètres système avancés – > Avancé – > Variables d'environnement

variables environnementales

Ajoutez le chemin d'accès au dossier d'installation de Python aux sections « Variables système » et « Variables utilisateur ». Ici, vous pouvez constater que le chemin est déjà mis à jour, car cette option a été sélectionnée lors de l'installation de Python.

Étape 3 : Installer Robot Framework

Ouvrez l'invite de commandes, accédez au dossier Python et saisissez la commande suivante :

  • Pip installer robotframework

installer robot framework

Robot Framework est installé avec succès. Vous pouvez le vérifier à l'aide de la commande version.

  • robot –version

Étape 4 : Installer wxPython

Téléchargez le logiciel wxPython à partir du lien suivant :

Ouvrez l'invite de commandes et saisissez la commande suivante :

  • pip install -u wxPython

installation du framework robotique

La version 4.1.0 de wxPython est maintenant installée avec succès.

Étape 5 : Installer RIDE

Pour installer RIDE, ouvrez l'invite de commandes et saisissez la commande suivante.

  • pip installer robotframework-ride

installer robot framework

RIDE est désormais prêt à l'emploi.

prêt à rouler

Pour ouvrir RIDE, ouvrez l'invite de commandes et saisissez la commande suivante :

  • rouler.py

La dernière version de Python (3.8.1) ne prend pas en charge RIDE. Il vous faudra attendre la version Future Ride 2.0. Vous pouvez télécharger la version bêta, publiée en juillet 2020, sur le site GitHub :

https://github.com/robotframework/RIDE/releases

Vous pouvez également ouvrir une invite de commandes et utiliser pip pour installer la version bêta de Ride.

  • pip install --pre-upgrade Robot Framework-ride==2.0b1

installer pip

Le script pip installe la version bêta de Ride.

variables de trajet en pip

Ouvrez maintenant l'invite de commandes et saisissez la commande suivante pour ouvrir l'éditeur RIDE.

  • rouler.py

Bienvenue à bord !

Exécuter votre premier cas de test avec Robot Framework

Pour exécuter votre premier test, ouvrez l'environnement de développement intégré RIDE à l'aide du raccourci sur le Bureau Windows. Vous pouvez également utiliser l'interface en ligne de commande.

Ouvrez l'invite de commandes et saisissez la commande suivante.

  • rouler.py

Éditeur de données de test du framework robotique

Cliquez sur Fichier -> Nouveau projet

nouveau projet de framework robotique

Saisissez un nom pour votre projet et cliquez sur OK.

Robot Framework, entrez le nom

Vous trouverez le nom de votre projet de test dans le menu de gauche, sous « Suites de tests ». Faites un clic droit sur le projet de test et sélectionnez « Nouveau cas de test ».

nouveau cas de test pour robot

Donnez un nom à votre cas de test et cliquez sur OK.

nom du cas de test

Cliquez maintenant sur l'écran de documentation pour consigner les détails du cas de test.

test de cas robot experitest

Ride vous permet de rédiger des scripts sous forme de tableau. Vous pouvez ajouter des mots-clés et des valeurs pour chaque mot-clé. Par exemple, saisissez le mot-clé « log » pour consigner les détails du test.

test de robot experitest

Cliquez sur « Enregistrer » pour sauvegarder votre cas de test.

Vous pouvez maintenant cliquer sur « Démarrer » pour exécuter le test. Vous pouvez également l'exécuter depuis l'interface de ligne de commande.

Ouvrez l'invite de commandes et accédez au dossier contenant le cas de test enregistré. Le fichier est enregistré dans le dossier « scripts » du répertoire du projet Robot Framework.

  • robot -T Experitest1.robot

script du framework robot

Le test s'est exécuté avec succès. RIDE a également créé le fichier de sortie au format XML ainsi que les fichiers de rapport et de journalisation au format HTML. Vous pouvez consulter le rapport en ouvrant le fichier HTML. Vous pouvez l'ouvrir directement dans Windows ou utiliser l'invite de commandes pour lancer l'explorateur de fichiers. Repérez le nom du rapport et saisissez la commande suivante dans l'invite de commandes.

  • Début du rapport-20200729-202047.html

Le système enregistre normalement le rapport en utilisant les données au format AAAA/MM/JJ et l'heure au format HHMMSS.

Rapport de test Experitest

Pour consulter le journal d'exécution des tests, cliquez sur l'icône de journal en haut à droite. Vous pouvez également ouvrir le journal via l'interface de ligne de commande (CLI).

  • Début du fichier log-20200729-202047.html

journal de test

Comme vous pouvez le constater dans le journal d'exécution des tests, ces derniers sont pilotés par mots-clés. Vous pouvez vérifier le mot-clé et le message donnés au niveau spécifié.

Experitest Analytics

Autre exemple de test – Test des identifiants de connexion

Voici un autre exemple de test qui ouvre un site web et valide les identifiants de connexion. De plus, une application de démonstration est utilisée pour ce test ; un serveur de démonstration s'exécute en local à l'adresse http://localhost:7272.

page de connexion

Maintenant, créez un nouveau projet et un cas de test, puis ajoutez le code suivant.

*** Paramètres ***

  • Documentation Experitest : exemple de test utilisant SeleniumLibrary.
  • Bibliothèque Selenium

*** Variables ***

*** Cas de test ***

  • Identifiant valide
  • Ouvrir le navigateur pour accéder à la page de connexion
  • Démonstration de saisie du nom d'utilisateur
  • Mode de saisie du mot de passe
  • Soumettre les informations d'identification
  • La page d'accueil devrait être ouverte.
  • [Démontage] Fermer le navigateur

*** Mots-clés ***

  • Ouvrir le navigateur pour accéder à la page de connexion
  • Ouvrir le navigateur ${LOGIN URL} ${BROWSER}
  • Le titre devrait être « Page de connexion ».
  • Nom d'utilisateur à saisir
  • [Arguments] ${username}
  • Champ de saisie du nom d'utilisateur ${username}
  • Saisissez le mot de passe
  • [Arguments] ${password}
  • Champ de saisie du mot de passe : ${password}
  • Soumettre les informations d'identification
  • Cliquez sur le bouton de connexion
  • La page d'accueil devrait être ouverte.
  • Le titre devrait être « Page de bienvenue ».

Cette suite de tests exécutera différents cas de test et vérifiera la fonction de connexion avec différents scénarios tels que nom d'utilisateur invalide, mot de passe invalide, connexion réussie, etc.

De conclure

Alors que le monde des affaires évolue d'un développement axé sur les fonctionnalités vers une approche centrée sur l'utilisateur, le développement piloté par les données d'acceptation joue un rôle essentiel dans les environnements de développement et de test logiciel. Robot Framework répond parfaitement à ce besoin. Grâce à ses méthodes de test pilotées par mots-clés, cette solution open source simplifie et rend plus économique l'exécution des tests d'acceptation. Sa syntaxe claire et son interface intuitive en font un outil de choix pour les entreprises de test de toutes tailles.

Si vous souhaitez découvrir d'autres frameworks pouvant s'intégrer à Digital.ai Continuous Testing regarde plus attentivement

Vous aimerez aussi