Fermer

septembre 23, 2022

Automatisation des tests d’API à l’aide de Rest Assured


Dans tout projet, nous avons un grand nombre d’API, et si nous nous en tenons uniquement aux tests manuels, cela prendra beaucoup de temps et de ressources ; gérer cette situation est également très difficile dans cette tendance récurrente des versions dans l’industrie. Pour pallier à cela, il est bon de démarrer l’API Automation et de viser à automatiser un maximum d’API. L’automatisation de l’API s’exécute très rapidement et nous donne le rapport d’exécution grâce auquel nous pouvons analyser rapidement les cas d’échec et prendre les mesures nécessaires. L’automatisation peut être exécutée quotidiennement, ce qui nous permet d’examiner rapidement toutes les API et si quelque chose se brise par le nouveau changement de code, nous pouvons signaler le problème le même jour.


1. Introduction au repos assuré

Il s’agit d’une bibliothèque Java utilisée pour tester les services Web reposants. Le formulaire complet est (REpresentational State Transfer). En utilisant JAVA, nous pouvons utiliser cette bibliothèque pour créer une suite d’automatisation complète selon les exigences de notre projet. Il prend en charge les méthodes HTTP telles que GET, POST, PUT, PATCH et DELETE qui sont largement utilisées dans les tests d’API.

2. Premiers pas avec la création du framework

Afin de créer le framework, la première étape consiste à configurer n’importe quel IDE sur notre machine. Dans ce cas, j’utilise Eclipse. La deuxième étape consiste à installer JAVA. Maintenant, créez d’abord un projet maven, puis convertissez-le en TestNG.

Étapes pour créer un projet Maven : Dans l’éclipse, accédez à Fichier > Nouveau > Autre > Sélectionnez un projet Maven > Suivant > Fournissez l’ID de groupe et l’ID d’artefact et créez le projet.

Étapes pour convertir Maven Project en TestNG : Faites un clic droit sur le projet maven> Sélectionnez TestNG> Convertir TestNG.

Ici, le point central est que le nom de notre projet est ‘ClientManagement’ et que nous avons deux dossiers sous src/test/java le premier est com.org.Base et le second est com.org.Tests aussi j’ai créé un fichier de configuration avec le nom config.propriétés. Dans ce projet, nous effectuerons les opérations CRUD telles que l’ajout du nouvel utilisateur, la récupération de l’enregistrement de tout utilisateur existant de la même manière, la mise à jour et la suppression des utilisateurs.

3. Ajout des dépendances requises dans le projet

Nous pouvons ajouter les dépendances ci-dessous à partir d’ici https://mvnrepository.com/ il est toujours recommandé d’ajouter la dernière version des dépendances. Ajoutez toutes les dépendances dans le fichier POM.xml.

<dependency>
<groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.0.0</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId>  <version>4.4.0</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId> <artifactId>json-path</artifactId> <version>4.1.2</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId> <artifactId>json-schema-validator</artifactId> <version>3.3.0</version>
</dependency>

4. Création des classes requises et ajout des méthodes dans le package de base

Ici, nous allons créer les classes et les méthodes communes qui seront utilisées dans tout le framework.

4.1 Dans le com.org.Base package d’abord, créez un Installer classe et créez une méthode pour lire les données du fichier de propriétés. Cette méthode prend un nom de clé sous forme de chaîne et renvoie la valeur respective.

4.2 Préparer le fichier de configuration

Ici, nous ajoutons les URL et les données de test qui seront utilisées dans l’ensemble du framework et par l’utilitaire que nous avons déjà créé dans le Installer classe, nous allons chercher les valeurs.

Noter: Toutes les URL mentionnées ici sont des URL factices que vous pouvez ajouter selon votre projet.

4.3

Encore dans le com.org.Base package, nous créons une nouvelle classe RestUtilities et dans cette classe, nous allons créer des utilitaires communs qui seront utilisés dans le framework. Ici, je crée deux méthodes, la première consiste à ajouter le nouvel utilisateur au système et la seconde à obtenir les détails de tout utilisateur existant.

Dans le RestUtilities classe d’abord, je crée l’objet de la Installer classe afin que nous puissions appeler les méthodes déclarées dans cette classe.

Les deux méthodes renvoient le code de réponse sur la base duquel nous allons écrire l’assertion et valider l’API. De même, nous pouvons créer d’autres méthodes pour mettre à jour les détails de l’utilisateur et supprimer l’utilisateur du système.

5. Rédaction du script de test réel en fonction de l’exigence

Dans le com.org.test package d’abord, nous créons une classe TestCase_UserManagement_Operations ici nous pouvons écrire tous nos cas de test ici j’écris un exemple de cas de test pour vérifier qu’un nouvel utilisateur peut être ajouté au système via l’API, pour cela, j’appellerai la méthode Ajouter un nouvel utilisateur déclaré dans le RestUtilities classe et sur la base du code de réponse, j’écrirai l’assertion, dans ce cas, si le code de réponse en 201, le cas de test sera réussi.

Noter: Nous devons utiliser l’annotation @Test du TestNG avant chaque cas de test, cela aidera au moment de l’exécution.

6. Configuration du fichier d’exécution

Pour l’exécution du cas de test ici, nous utiliserons le TestNG.xml fichier, dans celui-ci, nous pouvons gérer tout notre contrôle d’exécution. C’est le même fichier qui a été généré lorsque nous avons converti notre projet en TestNG dans les premières étapes.

Nous faisons l’exécution basée sur les classes, dans le projet tous les cas de test de la classe
TestCase_UserManagement_Operations sera exécuté car nous avons passé le même nom de classe sous la balise dans le testNG.xml.

Nous pouvons désormais exécuter manuellement la suite complète ou planifier une tâche automatisée à partir de n’importe quel outil CICD.

7. Récupérer les données du corps de la réponse

Dans l’exemple ci-dessus, nous validons l’API en fonction du code de réponse, mais en temps réel, nous devons également récupérer les données de réponse et leur validation. Nous pouvons utiliser le code ci-dessous pour récupérer les données de la réponse, puis écrire l’assertion selon les besoins.

Dans le code ci-dessus, nous récupérons les détails spécifiques de l’utilisateur en utilisant user_id, maintenant en utilisant le JsonPath nous récupérons le prénom de la réponse et écrivons l’assertion.

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link

septembre 23, 2022