TestNG est un framework d’automatisation de test open source basé sur Java. Il couvre un plus large éventail de catégories de tests : unitaires, fonctionnels, de bout en bout, d’intégration, etc. Ce framework est très populaire parmi les développeurs et les testeurs pour la création de tests en raison de ses fonctionnalités utiles telles que le regroupement, la dépendance, la hiérarchisation, la facilité d’utilisation. annotations multiples, etc. Une autre raison de sa popularité est qu’il les aide à organiser les tests de manière structurée et améliore la maintenabilité et la lisibilité des scripts.
Bien qu’il soit développé sur le même modèle que NUnit et JUnit, ses fonctionnalités avancées en font un framework beaucoup plus robuste par rapport à ses pairs.
Choisir le bon framework Java Selenium
Des frameworks de nouvelle génération émergent aujourd’hui avec de multiples avantages qui peuvent marquer un changement dans la façon dont les applications sont créées et utilisées. Bien sûr, le meilleur cadre dépend de vous, de votre équipe et des objectifs que vous essayez d’atteindre. Mais si votre choix idéal est TestNG, ce tutoriel sur le framework TestNG vous guidera afin que vous puissiez tout tester rapidement et facilement.
JUnit 5 contre TestNG
JUnit et TestNG sont les frameworks Java les plus populaires pour les tests Selenium automatisés. Vous devez choisir celui qui convient le mieux à vos besoins.
Passons aux principales différences entre JUnit 5 et TestNG.
- JUnit est un framework de test unitaire open-source pour Java, tandis que TestNG est également un framework basé sur Java mais a une portée plus large pour différents types de tests tels que fonctionnels, de bout en bout, unitaires, etc.
- Venant aux annotations de Junit 5 et TestNG, les annotations TestNG peuvent être utilisées facilement et ont un nombre plus important d’annotations qui peuvent être utilisées dans les scripts de test.
- Les tests de dépendance ne sont pris en charge que pour TestNG. Ce sont des tests où une méthode ne s’exécutera que si la méthode dépendante s’exécute et réussit.
Premiers pas avec TestNG
Cette section du didacticiel sur le framework TestNG vous aidera à démarrer avec l’exécution de tests d’automatisation avec TestNG Framework.
Installation de TestNG dans Eclipse
L’installation de TestNG dans Eclipse est utilisée pour développer et tester le code. Il existe de nombreuses façons d’installer TestNG dans Eclipse. Nous avons discuté de différentes manières d’installer TestNG dans Eclipse. Ils incluent l’installation du plugin TestNG dans Eclipse des manières suivantes :
- A travers le marché
- Sans place de marché
- En téléchargeant la bibliothèque
Créer un projet TestNG dans Eclipse
Apprenez à créer un projet TestNG à partir de zéro et écrivez votre tout premier script de test. Certaines conditions préalables sont requises pour démarrer, il s’agit de l’IDE Eclipse et du téléchargement de Selenium WebDriver et du client pour Java.
Ce sont les prochaines étapes à suivre –
- Créer un projet TestNG dans Eclipse
- Ajout de fichiers Selenium JAR au projet Selenium TestNG
- Création d’une classe TestNG dans Eclipse
- Rédaction de notre premier cas de test avec Selenium
- Création d’une classe TestNG dans Eclipse et TestNG
- Génération de rapports TestNG
Exécuter des tests avec TestNG
Cette section du didacticiel sur le framework TestNG servira de guide étape par étape pour exécuter avec succès des tests avec TestNG.
Automatisation TestNG avec Selenium
Comprenons l’automatisation à travers ce tutoriel sur le framework TestNG. TestNG est une option populaire pour les ingénieurs en automatisation, qui peuvent compter sur ses fonctionnalités intégrées et savoir qu’ils ont une communauté active de développeurs derrière leur dos.
Plongez dans la démonstration pratique de l’automatisation à l’aide de TestNG. Nous couvrirons le processus d’installation en utilisant 2 des IDE les plus utilisés, Eclipse et IntelliJ.
Pour mieux comprendre le processus d’automatisation, nous avons mis l’accent sur les annotations et les attributs. Les annotations sont utilisées pour donner un sens à toute fonction dans le script de test et décrire son comportement. Les attributs font partie des annotations qui aident à mieux définir nos tests.
Exécution de tests parallèles dans TestNG
L’approche traditionnelle des tests manuels est déjà dépassée par les tests automatisés. Une stratégie de test d’automatisation largement adoptée est le passage des tests séquentiels aux tests parallèles.
Pour gagner du temps et garantir une couverture maximale, les équipes d’assurance qualité passent des tests séquentiels aux tests en parallèle. Les tests peuvent être exécutés sur plusieurs appareils, navigateurs et combinaisons de systèmes d’exploitation. Vous pouvez tester une application ou un composant d’une application.
Comprendre l’exécution de tests parallèles dans Selenium à l’aide de la configuration de TestNG XML et apprendre à effectuer des tests parallèles dans TestNG sur une grille cloud.
Création d’un fichier XML TestNG
L’exécution d’un seul test à la fois ne sera pas très efficace lorsque vous utilisez une grille de sélénium. Vous devez exécuter plusieurs cas de test en parallèle pour en tirer le meilleur parti.
Une façon d’exécuter plusieurs fichiers de test à partir d’un seul fichier consiste à utiliser le fichier TestNG XML. Ce fichier vous permet de spécifier les fichiers de test à exécuter et fournit un contrôle supplémentaire sur l’exécution de vos tests. En utilisant ce fichier, vous pouvez facilement gérer et exécuter plusieurs fichiers de test.
Plongez plus profondément dans ce blog sur la création d’un fichier XML TestNG pour savoir pourquoi et comment créer un fichier XML TestNG, et apprenez à exécuter un fichier XML TestNG avec son exécution parallèle.
Automatisation avec Selenium, Cucumber et TestNG
Préparez-vous à exécuter votre premier script Cucumber et à tirer parti des capacités de TestNG pour effectuer des tests parallèles.
Cucumber est un framework BDD utilisé pour écrire et exécuter des tests pour les frameworks de développement piloté par le comportement (BDD). Il permet d’écrire les tests dans un langage naturel facilement compréhensible par les développeurs et les intervenants non techniques.
Cela contribue à améliorer la communication et la collaboration entre les membres de l’équipe et garantit que le système en cours de construction répondra aux exigences et aux attentes de ses utilisateurs.
Exécuter des tests JUnit Selenium à l’aide de TestNG
JUnit est un framework de tests unitaires pour Java, tandis que TestNG est un framework Java ayant une portée plus large que les tests unitaires. JUnit et TestNG peuvent tous deux être utilisés pour exécuter des tests unitaires, mais ils présentent certaines différences dans leur approche et leurs fonctionnalités.
Le framework TestNG prend en charge les tests dans plus de catégories que JUnit, ce qui facilite la migration des cas de test de JUnit vers TestNG. L’un des avantages de l’utilisation de TestNG pour exécuter des tests JUnit est qu’il vous permet d’éviter de réécrire complètement les scénarios de test initialement écrits à l’aide du framework JUnit. Cela peut vous faire gagner du temps et des efforts et vous permettre de tirer parti des fonctionnalités de TestNG.
Plonger en profondeur dans les cas d’utilisation avancés pour TestNG
Dans cette section du didacticiel sur le framework TestNG, vous en apprendrez plus sur les frameworks de test TestNG en approfondissant les cas d’utilisation de TestNG.
Regrouper les cas de test dans TestNG
Dans TestNG, un groupe est un ensemble de méthodes de test qui partagent une caractéristique commune. Les groupes sont utilisés pour exécuter ou exclure sélectivement des tests spécifiques d’une exécution de test. Cela vous permet d’organiser vos tests en unités logiques et de les inclure ou de les exclure facilement d’un test en fonction de vos besoins.
Par exemple, vous pouvez créer des groupes pour différents types de tests, tels que des tests unitaires et des tests d’intégration, puis exécuter uniquement les tests unitaires dans une suite de tests en spécifiant le groupe de tests unitaires.
TestNG vous permet également de définir des dépendances entre les groupes afin que les tests d’un groupe ne soient exécutés que si les tests d’un autre groupe ont été exécutés et réussis. Cela peut être utile pour s’assurer que certains tests ne sont exécutés qu’après que certaines conditions préalables ont été remplies.
Prioriser les tests dans TestNG
Comprenons la hiérarchisation des tests dans ce tutoriel sur le framework TestNG. Dans TestNG, les tests peuvent être hiérarchisés à l’aide de l’attribut de priorité dans le @Tester les annotations. Cela vous permet de spécifier l’ordre dans lequel les tests doivent être exécutés. Les tests avec une valeur de priorité inférieure seront exécutés avant les tests avec une valeur de priorité plus élevée.
Ceci est particulièrement utile lors de la définition d’une séquence pour l’exécution du scénario de test ou lors de l’attribution de la priorité à certaines méthodes par rapport à d’autres. Vous pouvez également spécifier que certains tests doivent être ignorés. Cela peut être utile si vous souhaitez désactiver temporairement un test sans le supprimer.
En utilisant les attributs de priorité, vous pouvez contrôler l’ordre dans lequel les tests sont exécutés et ignorer de manière sélective des tests spécifiques dans TestNG.
Assertions dans TestNG
TestNG est un framework de test populaire pour Java. L’une des fonctionnalités clés de TestNG est la possibilité d’utiliser des assertions dans vos cas de test.
Les assertions sont un moyen de vérifier que la sortie d’un morceau de code correspond à ce que vous attendez. Par exemple, si vous testez une méthode qui calcule la somme de deux nombres, vous pouvez utiliser une assertion pour vérifier que la sortie de la méthode est la somme attendue. Si la sortie ne correspond pas à la valeur attendue, le test échouera.
Il existe différents types d’assertions disponibles dans TestNG, y compris la possibilité de vérifier si une valeur est vraie ou fausse, si deux objets sont égaux et si un objet est nul. Vous pouvez également utiliser des messages personnalisés avec des assertions pour fournir des informations plus détaillées sur la raison pour laquelle un test a échoué.
Dans l’ensemble, les assertions dans TestNG sont un outil puissant pour vérifier l’exactitude de votre code. Ils peuvent vous aider à identifier les problèmes avec votre code et à vous assurer qu’il fonctionne comme prévu.
Fournisseurs de données dans TestNG
DataProvider dans TestNG nous permet de transmettre plusieurs paramètres à un seul test en utilisant un seul cycle d’exécution. Cela peut être utile lorsque nous devons transmettre plusieurs valeurs à un test en un seul cycle d’exécution.
Pour utiliser un DataProvider dans TestNG, vous devez d’abord définir une méthode qui renvoie un tableau d’objets contenant les données que vous souhaitez transmettre à la méthode de test. Cette méthode doit être annotée avec le Annotation @DataProvider. Ensuite, dans la méthode de test, vous pouvez spécifier quel DataProvider utiliser en référençant son nom dans le @Tester les annotations.
Lorsque le test est exécuté, TestNG appelle la méthode DataProvider et transmet les données renvoyées à la méthode de test. La méthode de test peut alors utiliser ces données pour effectuer ses tests. Cela vous permet de tester un morceau de code avec plusieurs ensembles différents de données d’entrée. Ils peuvent vous aider à vous assurer que votre code fonctionne correctement avec différents types d’entrées et peuvent vous aider à identifier tout problème ou problème avec votre code.
Paramétrage dans TestNG
Si la plupart de vos tests sont susceptibles d’avoir des actions similaires, alors le paramétrage peut être…