ASSERTIBLE pour automatiser et monitorer vos tests API

API testing Test automation Assertible
Par Salim MEKNI il y a 3 ans 9 minutes

Assertible est un outil pratique pour tester et monitorer les services Web.

Il prend en charge l’automatisation des tests API à chaque étape, de l’intégration continue à la livraison et crée des assertions programmées.

Il empêche les bugs de passer en production en automatisant les tests manuels, en exécutant des assertions et en intégrant des alertes dans votre chaîne d’outils actuelle telle que Gitub et Slack

Il se décline en 4 versions :

  • Personal qui est une version gratuite, mais avec des fonctionnalités limitées
  • Standard,
  • Startup
  • Business (Qui sont des versions payantes dont le prix varie selon le package).

Comment tester une API avec Assertible ?

Une fois connecté, on crée un nouveau service :

image

On a la possibilité d'importer une url ou un fichier à partir de Postman

image

Ou Swagger

image

Dans ce tutoriel j'utilise une url swagger https://petstore.swagger.io/v2/swagger.json

Un aperçu du Web service et des tests qui seront créés s'affiche, dans notre cas on aura 20 tests et 14 endpoints. Pour chaque combinaison Endpoint/méthode de votre spécification, Assertible créera un test.

image

Enfin cliquez sur Créer un service et des tests, Assertible affichera la page de présentation du nouveau service Web.

image

On sélectionne l'environnement sur lequel on exécute et clique le bouton Run, tous les tests se lance sur l'environnement sélectionné.

Si on clique sur l'onglet Test on affiche le résultat de tous les tests exécutés.

image

Pour une meilleure gestion, il est possible de regrouper les tests par groupe et d'afficher uniquement les tests avec résultat échec.

image

Gestion des tests :

Si on clique sur un test on affiche le détail de la requête et l'historique des précédentes exécutions. Il est possible aussi d'éditer chaque test sélectionné : Configurer l'authentification, ajouter des variables, paramétrer le header ainsi que de modifier le body en cas de besoin…

image

À partir de l'onglet Test si on sélectionne un test avec un résultat KO n'obtient le code d'erreur ainsi qu'un message d'erreur dans notre cas : aucune data

image

Si on clique sur add request body

image

On a la main pour ajouter un body à la requête post afin d'insérer de la data dans notre requête.

Le body peut être inséré sous 3 formats : Raw, form-urlencoded et multipart/form-data

image

On insère un body en forma Raw avec le modèle ci-dessous

Copy To Clipboard

{
  "id": 0,
  "petId": 0,
  "quantity": 0,
  "shipDate": "2021-07-08T13:30:28.791Z",
  "status": "placed",
  "complete": true
}

On clique sur Save request body

image

On clique sur le bouton Run Test le test est exécuté et le nouveau résultat s'affiche

image

Dans le tableau de bord le test passe en vert

image

Monitoring et test post-déploiement

  • Le monitoring :

Cette étape consiste à configurer l'automatisation pour garantir que votre Web service est testé en permanence.

Pour configurer le monitoring quotidien dans Assertible, accédez à l'onglet Monitoring  et coché la case Daily schedule

Il est également possible de planifier des monitorings par heure, demi-heure, un quart d'heure ….

image

Il est possible  de sélectionner les tests à monitorer.

image

Une fois validé Assertible ajoute le nouveau monitoring à la liste

image

Il suffit ainsi de configurer les alertes pour chaque monitoring à partir de l'onglet Setting.

Dans Hooks & Alert vous devriez avoir des options pour configurer Slack, Email ou Zapier

image

Puis sélectionner votre messagerie et insérer votre adresse mail

image

Il est également possible de planifier des notifications avec l'outil Slack pour les alertes d'échec de test et un déclencheur Zapier pour ouvrir de nouvelles issues sur GitHub lorsque des tests critiques échouent.

  • Le test post-déploiement :

Idéalement, vos tests d'API sont exécutés à chaque fois que vous déployez une nouvelle version de votre API ; surtout si vous disposez d'une chaine CICD

Pour se faire accédez à l'onglet Déploiements et connecté Assertible a GitHub puis intégrez le script fourni dans votre pipeline de déploiement ou exécutez-le manuellement après le déploiement.

image

Assertible enregistre la version de déploiement dans vos résultats de test afin que vous puissiez suivre les régressions lorsque les tests échouent après le déploiement d'une version spécifique de votre API.

A vous de jouer !