Publié le 2 août 2016.
Quelle est l’automatisation des tests?
L’automatisation du test consiste à utiliser un programme pour contrôler l’exécution des tests et vérifier si les résultats obtenus sont ce que nous attendions. Pour expliquer comment obtenir l’automatisation des tests sur une API, trois programmes seront nécessaires: Postman, Newman et Jenkins.
Postman
Le premier programme que nous allons utiliser pour obtenir des tests d’automatisation Le postier peut-il être défini comme suit:
« L’objectif principal de Postman aide à construire des API permettant de créer rapidement la création agile de demandes et de flux de travail via des collections »
Environnement
La première chose à faire avant de commencer à créer des tests est de préparer un environnement pour le serveur dans lequel les tests seront exécutés. Pour créer un environnement, nous allons gérer les environnements → Ajouter. Ensuite, nous pouvons commencer. Ajout de paires de la valeur de clé correspondant aux variables que nous utiliserons à plusieurs reprises dans les demandes.
Par exemple, j’ai choisi l’API suivante pour expliquer comment cela fonctionne: swapi.co/api, donc nous sommes donc Aller à l’enregistrer dans une variable à laquelle nous appellerons l’hôte:
Cette API n’a pas besoin de l’utilisateur à authentifier, mais si nécessaire, nous pourrions sauver l’utilisateur. et le mot de passe dans l’environnement.
Collection
Postman vous permet de créer des collections pour stocker des demandes, la première chose dont nous avons besoin est de créer une collection, fournissant votre nom (obligatoire) et une description.
alors nous pouvons créer une demande, qui aura plus ou moins l’aspect suivant:
Dans cet exemple nous essayons d’obtenir une liste de vaisseau spatial, de sorte que dans la capture d’écran, vous pouvez voir:
- nom de la demande.
- Méthode: peut être obtenu, poster, mettre, delier …
- API: L’adresse complète serait swapi.co/api/starships, mais comme nous gardons swapi.co/api dans la variable d’environnement hôte, il suffit d’écrire {{hôte} } Pour l’utiliser.
- environnement.
La deuxième partie de la création d’une demande est la section Tests, conçue pour créer des affirmations qui vérifient que les informations qui vérifient Le serveur est celui que nous attendions et vous pouvez également affecter des valeurs à de nouvelles variables d’environnement ou globales à utiliser ultérieurement. Par exemple:
Dans ce test, nous avons une affirmation qui vérifie que le code vérifie que le code de l’Etat est un 200 et aussi une boucle à stocker dans une variable d’informations sur l’environnement sur un certain navire de tous les retours. Sur le côté droit, nous avons une série de pièces de code qui aident l’utilisateur à créer des tests.
L’étape suivante serait enregistrer la demande en appuyant sur la touche « Enregistrer » et choisissez où enregistrer l’enregistrement. Nous avons la possibilité de l’enregistrer directement dans la collection:
ou dans un Dossier. Les stocker dans des dossiers a l’avantage de pouvoir isoler son exécution à partir du reste des demandes.
Exécution des tests
Pour exécuter la demande créée d’abord, vous devrez l’enregistrer (IMPORTANT!), puis l’envoyer en cliquant sur « Envoyer ». De la réponse, nous sommes intéressés par deux parties: corps, où nous voyons le JSON renvoyé par le serveur avec toutes les informations et tests, où le résultat des affirmations sera vu.
Dans ce cas, l’un des 2 tests a échoué car il a été spécifié dans les tests qui devraient recevoir plus de 100 navires et si Nous observons les informations reçues, il y a moins.
Une fois que nous avons toutes les demandes que nous voulons avec vos tests pouvant être exécutés ensemble. Pour cela, nous devons ouvrir le « Collection Runner »:
Pour exécuter le Tests Nous devons suivre les étapes suivantes:
- Choisissez entre exécuter toute la collection ou simplement un dossier.
- Choisissez l’environnement où nous avons stocké les variables.
- Nombre de fois que nous voulons exécuter les tests.
- Test de démarrage
Une fois l’exécution terminée, vous pouvez voir les résultats sur le côté droit de l’écran. Surtout, un résumé apparaîtra dans lequel vous pouvez voir combien de tests ont échoué, combien de tests et combien de temps il a fallu de même. En dessous de la même chose apparaîtra, mais pour chaque demande faite.
newman
Postman a une version de la ligne de commandes appelé Newman qui a de nombreux services publics, mais nous n’avons besoin que d’un: permet d’intégrer les collections créées dans Postman avec un système d’intégration continue tel que Jenkins, qui est une étape clé pour obtenir l’automatisation des tests.
Installez NEWMAN est très facile:
Avant de commencer à exécuter le test d’abord, nous devons exporter l’environnement de Postman.
et la collection:
ID = « E2AC61944A »>
restera un json de l’environnement et une autre de la collection dans un dossier, qui nous devons nous commencer d’une commande consolue à dominer Newman.
Maintenant, nous pouvons choisir entre exécuter la collection complète:
ou un seul dossier (en ajoutant L’argument -f):
La sortie renvoie presque la même chose que le facteur est retourné: l’exécution de chaque demande et une Résumé indiquant le nombre de tests échoué et combien de no.
Jenkins
La dernière étape pour terminer l’automatisation des tests sur l’API choisies consiste à installer Newman sur le même serveur sur lequel Jenkins est et installer des plug-ins:
- LOG Plugin Parser: Pour analyser la sortie syntaxiquement.
- Paramètres:
- Description: Erreur d’analyse.
- Fichier de règles d’analyse: fichier avec les règles et avec le contenu suivant:
- Paramètres:
- Courriel d’extension Plugin: Pour recevoir un e-mail si un test échoue.
Une fois que nous avons les plug-ins installés et configurés, nous créons un nouvel emploi (nouvel emploi) avec les informations suivantes:
Nom du projet: Star Wars (par exemple)
Build → Ajouter une étape de construction → Exécuter Shell et nous écrivons le même Ries of Commandes Qui nous écrivons à la règle Newman dans la section locale:
Actions post-build → Ajouter une action post-builée → Sortie de la console (logement de console). / P>
et dans certaines règles d’analyse, nous sélectionnons « Erreur analyse » (Description)
Actions post-build → Ajouter une action post-build → Notification de courrier électronique modifiable
et remplir Dans les informations suivantes:
- Liste des destinataires du projet: Les adresses postales que vous devriez recevoir un courrier électronique.
- Paramètres avancés → Ajouter une trigger → Script – Après la construction
- Script de déclenchement:
Enregistrer (enregistrer) et construire (construire maintenant ) …
La console de sortie montrera la même chose que lorsque nous exécutons Newman à la section locale avec certaines lignes indiquant que Jenkins a effectué ses chèques.
J’ai exécuté le dossier « Starships » de manière à ce que je connaisse un test échouera et que vous devez donc envoyer un email. L’e-mail reçu sera:
en ce que nous pouvons voir que le sujet indique que quelque chose ce n’était pas bon (quelque chose s’est mal passé …) et dans le corps du message que Jenkins a exécuté le travail correctement et un lien vers la sortie d’exécution pour voir les résultats.
une fois que nous sommes sur La console de sortie du travail que nous pouvons accéder à une « sortie de la console analysée » pour voir souligné les lignes dans lesquelles les tests qui ont échoué les tests apparaissent.
Obtenir l’automatisation des tests sur une API est aussi simple que de suivre les étapes indiquées dans Ce post, nous devons juste configurer trois programmes et nous n’aurons pas à vous soucier de rien d’autre. Jenkins sera chargé de nous envoyer un email si un test a échoué