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 qui permet aux équipes d'assurance qualité de gérer facilement les environnements de test d'acceptation et de développement piloté par les tests d'acceptation (ATDD). L'outil a d'abord été conçu par Pekka Klarck en 2005 et développé chez Nokia Networks la même année. Il a été proposé en open-source en 2008. Écrit en langage Python, Robot offre un riche écosystème de bibliothèques et d'outils tout en vous permettant de l'intégrer à pratiquement n'importe quelle solution d'automatisation de test. Le framework fonctionne également sur IronPython (.NET) et Jython (JVM). Il est également indépendant de la plate-forme et de l'application. L'outil est livré avec une syntaxe simple et utilise une approche de test basée sur des mots clés. Les mots clés sont lisibles par l'homme. Vous pouvez utiliser les mots-clés intégrés ou en créer un à partir de zéro. Actuellement, Robot Framework Foundation s'occupe désormais du développement de l'outil.

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

Test d'acceptation fait partie d'un projet de test qui vérifie si le logiciel est conforme aux spécifications fonctionnelles et aux exigences commerciales avant de le mettre en production. Dans un typique pipeline de test, les tests unitaires sont exécutés en premier. Ils sont suivis de test d'intégration et test du système. Enfin, des tests d'acceptation sont effectués pour s'assurer que le logiciel répond à toutes les exigences de l'entreprise avant d'être livré aux utilisateurs finaux. Les tests d'acceptation sont normalement effectués en exécutant des tests Black Box.

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

  1. Tests d'acceptation internes : 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 externes : Des membres extérieurs à la société de logiciels le testeront (principalement des clients qui ont commandé ce logiciel). Plus tard, 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 centrée sur l'utilisateur pour l'automatisation des tests. Dans un environnement de développement piloté par les tests (BDD), les développeurs écrivent des tests de leur point de vue. ATDD fonctionne dans l'autre sens. Ici, différentes équipes telles que les développeurs, l'assurance qualité et les clients collaborent à la préparation de cas de test d'acceptation avant d'intégrer la fonctionnalité dans l'application. Avec une approche centrée sur l'utilisateur et une collaboration transparente entre les équipes de développement et les experts fonctionnels, les applications développées ont plus de chances de répondre aux critères d'acceptation. Avec ATDD, les tests fonctionnels deviennent simples et efficaces.

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

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

C'est Kent Beck qui a mentionné pour la première fois le concept d'environnement de développement piloté par les tests d'acceptation dans un livre, "Test Driven Development: By Example" en 2003. Il a estimé que ce n'était pratiquement pas possible. Cependant, la popularité de l'outil d'automatisation des tests open source Fitnesse, qui a fourni une bonne collaboration entre les parties prenantes de l'entreprise, a fait de l'ATDD une réalité.

ATDD fournit une compréhension claire des besoins des utilisateurs d'une application tout en servant de guide pour l'ensemble du projet de développement. Cela facilite également une belle collaboration entre les différentes équipes. Certains des outils utilisés pour ATDD incluent Robot Framework, TestNG, Fitnesse, Thucydides et EasyB.

Cadre robotique pour les tests d'acceptation et ATDD

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

  1. Scénarios de test basés sur des tables : L'outil vous permet d'écrire des cas de test à l'aide de mots-clés dans un format tabulaire simple.
  2. Mots clés: L'outil propose des mots-clés intégrés pour écrire des cas de test. Vous pouvez également importer des mots-clés à partir de bibliothèques open source ou créer vos propres mots-clés.
  3. Bibliothèques: L'outil prend en charge une gamme de bibliothèques telles que la bibliothèque Selenium, la bibliothèque iOS, la bibliothèque Debug, la bibliothèque FTP, etc.
  4. Ressources: L'outil vous permet d'importer des fichiers de robot avec des mots-clés provenant de sources externes.
  5. Variables: L'outil prend en charge trois types de variables ; variable scalaire, variable de dictionnaire et variable de liste.
  6. Mots clés: L'outil vous permet de marquer des cas de test afin que vous puissiez les ajouter ou les omettre lors de l'exécution de suites de tests.
  7. Rapports et journaux : L'outil fournit les détails des tests sous forme de fichiers HTML et journaux.

Premiers pas avec Robot Framework

Voici les conditions préalables à l'exécution de ce cadre de test 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 de votre système d'exploitation (ex : Windows)

Python-cadre de robot

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

installation du framework robot python 32 bits

Vous pouvez cliquer sur "Installer maintenant" pour installer le package par défaut. Il est livré avec pip, IDLE et documentation. Alternativement, vous pouvez choisir « Personnaliser l'installation » pour sélectionner les fonctionnalités de votre choix.

Notez que le Setup propose une option 'Add Python 3.8 to PATH. Lorsque vous cochez cette case, l'outil mettra automatiquement à jour le chemin de Python dans les variables d'environnement.

options avancées de python

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

progression de l'installation de python

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

succès de l'installation de python

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

  • python –version
  • pip-version

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

pépin de python

Maintenant, Python et pip sont installés et prêts à être utilisés.

É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. Faire cela,

  • Allez dans Système -> Paramètres système avancés -> Avancé -> Variables d'environnement

variables environnementales

Ajoutez le chemin du dossier où Python est installé à la section des variables système et à la section des variables utilisateur. Ici, vous voyez que le chemin est déjà mis à jour car cette option est sélectionnée lors de l'installation de Python.

Étape 3 : Installer le cadre du robot

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

  • Pip installer robotframework

installer le cadre du robot

Robot Framework est installé avec succès. Vous pouvez le vérifier en utilisant la commande version.

  • version robot

Étape 4 : Installer wxPython

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

Ouvrez l'invite de commande et tapez la commande suivante :

  • Installation de pip -u wxPython

installation de cadre de robot

Maintenant, wxPython version 4.1.0 est installé avec succès.

Étape 5 : Installez RIDE

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

  • pip installer robotframework-ride

installer le cadre du robot

Maintenant, RIDE est prêt à l'emploi.

prêt à rouler

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

  • ride.py

La dernière version de Python, à savoir la 3.8.1, ne prend pas en charge RIDE. Il faut attendre le Future Ride 2.0. Vous pouvez télécharger la version bêta qui est released en juillet 2020 sur le site GitHub ici :

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

Alternativement, vous pouvez ouvrir une invite de commande et utiliser pip pour installer la version beta ride

  • pip install – pré-mise à niveau de Robot Framework-ride == 2.0b1

installer pip

Le pip installe la version bêta de ride.

variables de trajet pip

Maintenant, ouvrez l'invite de commande et tapez la commande suivante pour ouvrir l'éditeur RIDE.

  • ride.py

Bienvenue à rouler

Exécution de votre premier cas de test à l'aide de Robot Framework

Pour exécuter votre premier scénario de test, ouvrez l'IDE RIDE à l'aide du lien de raccourci sur le bureau Windows. Vous pouvez également utiliser l'interface de ligne de commande pour ouvrir RIDE.

Ouvrez l'invite de commande et tapez la commande suivante.

  • ride.py

éditeur de données de test de cadre de robot

Cliquez sur Fichier -> Nouveau projet

cadre de robot nouveau projet

Entrez un nom pour votre projet et cliquez sur OK.

cadre de robot entrez le nom

Vous pouvez trouver le nom de votre projet de test dans le menu de gauche sous Test Suites. Faites un clic droit sur le projet de test et sélectionnez "Nouveau cas de test".

robot nouveau cas de test

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

nom du cas de test

Maintenant, cliquez sur l'écran de documentation pour documenter les détails du cas de test.

cas de test robot experitest

Ride vous permet d'écrire des scripts dans un format tabulaire. Vous pouvez ajouter des mots clés et des valeurs pour chaque mot clé. Par exemple, entrez le mot-clé "log" et enregistrez les détails du test.

test de robot expert

Cliquez sur enregistrer pour enregistrer votre cas de test.

Maintenant, vous pouvez cliquer sur le début pour exécuter le scénario de test. Vous pouvez également exécuter ce scénario de test à partir de l'interface de ligne de commande.

Ouvrez l'invite de commande et accédez au dossier du scénario de test enregistré. Le fichier est enregistré ici sous le dossier des scripts dans le répertoire du projet de structure du robot.

  • robot -T Experitest1.robot

script de cadre de robot

Le cas de test est exécuté avec succès. RIDE crée également le fichier de sortie au format XML et les fichiers rapport et journal au format HTML. Vous pouvez vérifier le rapport en ouvrant le fichier HTML. Vous pouvez ouvrir le fichier HTML directement dans Windows ou utiliser l'invite de commande pour appeler l'explorateur. Vérifiez le nom du rapport et tapez la commande suivante dans l'invite de commande

  • Rapport de démarrage-20200729-202047.html

Le trajet stocke normalement le rapport en utilisant les données au format AAAA/MM/JJ et l'heure au format HHMMSS.

rapport de test d'expertise

Pour vérifier le journal d'exécution des tests, cliquez sur le journal dans le coin supérieur droit. Vous pouvez également ouvrir le journal à l'aide de la CLI

  • Journal de démarrage-20200729-202047.html

journal des tests

Comme vous pouvez le voir dans le journal d'exécution des tests, les tests sont pilotés par des mots clés. Vous pouvez vérifier le mot-clé et le message donné avec le niveau donné.

analyses expertes

Un 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 dans laquelle un serveur de démonstration s'exécute sur un hôte local à http://localhost:7272

page de connexion

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

*** Paramètres ***

  • Documentation Exemple de test Experitest utilisant SeleniumLibrary.
  • Bibliothèque SéléniumBibliothèque

*** Variables ***

*** Cas de test ***

  • Connexion valide
  • Ouvrir le navigateur pour se connecter
  • Démo d'entrée de nom d'utilisateur
  • Mode de saisie du mot de passe
  • Soumettre les informations d'identification
  • La page d'accueil doit être ouverte
  • [Teardown] Fermer le navigateur

*** Mots clés ***

  • Ouvrir le navigateur pour se connecter
  • Ouvrir le navigateur ${URL DE CONNEXION} ${BROWSER}
  • Le titre doit être la page de connexion
  • Entrez le nom d'utilisateur
  • [Arguments] ${nom d'utilisateur}
  • Saisissez le texte username_field ${username}
  • Saisir mot de passe
  • [Arguments] ${mot de passe}
  • Saisissez le texte password_field ${password}
  • Soumettre les informations d'identification
  • Cliquez sur le bouton login_button
  • La page d'accueil doit être ouverte
  • Le titre doit être la 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 qu'un nom d'utilisateur invalide, un mot de passe invalide, une connexion réussie, etc.

De conclure

Alors que le monde des affaires passe d'un développement basé sur les fonctionnalités à une approche centrée sur l'utilisateur, le développement basé sur les données d'acceptation a un rôle clé à jouer dans les environnements de développement et de test de logiciels. Robot Framework sert à juste titre cet objectif. Avec des méthodes de test basées sur des mots-clés, cette open-source facilite et rentabilise l'exécution des tests d'acceptation. La syntaxe facilement lisible et l'interface facile à utiliser font de cet outil un bon choix pour tester les entreprises de toutes tailles.

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

Êtes-vous prêt à faire évoluer votre entreprise ?

Explorer

Quoi de neuf dans le monde de Digital.ai

22 avril 2024

Les biais dans la machine : les biais des données de formation et leur impact sur le code généré par les assistants de code IA

Explorez les biais dans les données de formation en IA ayant un impact sur la génération de code et apprenez des stratégies pour les atténuer pour un développement de l'IA et une innovation logicielle plus équitables.

En savoir plus
22 février 2024

Comment le futurisme façonne les tests cloud : une prévision

Découvrez l'avenir des tests cloud : approches stratégiques pour exploiter efficacement la technologie, améliorer la qualité des logiciels et garantir la réussite de l'entreprise.

En savoir plus
4 décembre 2023

La recherche de la qualité : tests logiciels automatisés en continu pour l'industrie automobile

De la création de tests basés sur l'IA aux systèmes d'auto-réparation, découvrez comment continuous testing et les développements innovants façonnent l’avenir des technologies connectées, safeet des véhicules fiables.

En savoir plus