api testing tool
12 juin 2019

Postman vs Insomnia : Comparaison de deux outils de Tests pour API

Par Jean-Marc Amon

Le test des points de terminaison(endpoints) API est l’une des tâches les plus importantes que nous effectuons en tant que développeur Web. Si les endpoints permettant d’atteindre nos données sont incorrects, si les paramètres requis ne sont pas inclus, si l’autorisation est manquante ou si de nombreuses autres choses ne sont pas correctement connectées, votre application ne fonctionne pas.

C’est pourquoi nous avons des outils tels que des outils de test d’API. Ces outils nous permettent, en tant que développeurs, de vérifier que lorsque nous transmettons (ou non) un ensemble de données spécifique à notre application, il renvoie la réponse que nous attendons. C’est une idée assez simple, mais elle simplifie grandement nos vies.

Les avantages

Voici certains des principaux avantages de l’utilisation d’un outil de test d’API, comme mentionné brièvement ci-dessus.

  • Configuration et test plus rapides des systèmes (vous n’avez pas besoin de parcourir tout le flux utilisateur pour configurer les données, puis exécuter les commandes permettant de les modifier),
  • Moins d’interaction en ligne de commande,
  • Plusieurs façons de configurer l’autorisation en fonction du type que vous utilisez,
  • Meilleur formatage du code envoyé et reçu,
  • Tests de performance et de fiabilité simplifiés.

Les prétendants: Postman & Insomnia

Je vais parler aujourd’hui des deux principaux outils de test d’API. Postman, une suite d’outils qui présente son écosystème comme:

Le seul environnement complet de développement d’API

Postman

Et Insomnia, un client REST qui prétend pouvoir

déboguer des API comme un humain, pas un robot

Insomnia

Alors, sans plus tarder, commençons par voir quelles fonctionnalités ils partagent.

Ce que les deux offrent

Insomnia et Postman partagent de nombreux avantages extrêmement utiles pour les développeurs des équipes front-end, back-end et full-stack.

Entre autres choses que je suis sûr de ne pas oublier, les deux se vantent:

  • Une version gratuite de leur logiciel pour les utilisateurs (mise à niveau vers des versions payantes plus riches en fonctionnalités à tout moment),
  • Être des projets open source,
  • Permettant plusieurs espaces de travail (par exemple, développement, acceptation, prod, etc.),
  • Possibilité de définir des variables d’environnement et des variables locales statiques à mettre à jour à chaque appel d’un noeud final,
  • Autoriser les importations et les exportations de données de test pour un partage facile entre les membres de l’équipe,
  • La possibilité de sauvegarder les appels et de les organiser dans des dossiers ou des collections,
  • Intégration de GraphQL et options de test,
  • Plusieurs façons de configurer les autorisations (OAuth, jetons supports, Basic, HAWK, etc.) et de générer / gérer les cookies,
  • Et les deux ont des combinaisons de couleurs claires et foncées (je sais que ce n’est pas grave, mais cela vaut la peine d’être noté. Je préfère vraiment développer dans un IDE sombre à un blanc intense).

Ok, passons maintenant à certaines des offres uniques des deux outils.

Ce qui est unique à propos de Postman

Postman semble disposer d’un ensemble de produits et de fonctionnalités beaucoup plus abouti lorsque vous commencez à vous plonger vraiment dans sa documentation.

Voici quelques-uns des éléments qui distinguent Postman des autres outils de test d’API.

  • Documentation sur les API (Postman générera et hébergera en temps réel la documentation sur les API basée sur un navigateur),
  • Les collections fonctionnent (exécuter un groupe de requêtes en série sur un environnement correspondant – c’est très utile pour les tests automatisés
  • Suivi où Postman exécutera périodiquement une collection pour vérifier ses performances et sa réponse,
  • Les tests écrits en JavaScript clair qui vérifieront l’objet de réponse, l’heure, etc. à partir du nœud final,
  • Et simulez des serveurs pour que les équipes simulent chaque point d’extrémité et sa réponse correspondante dans une collection Postman. Les développeurs peuvent visualiser les réponses potentielles sans créer de back-end et les membres de l’équipe peuvent être alignés sur les attentes lors des premières phases de développement d’API.

Ce qui est unique à propos de d’Insomnia

Insomnia

Insomnia, dans sa défense, propose des offres intéressantes que Postman ne propose pas.

  • Balises de modèle (similaires aux variables d’environnement mais elles effectuent des opérations sur des éléments tels que des chaînes, des horodatages, etc.),
  • La possibilité de créer de nouveaux plugins pour Insomnia et sa communauté d’utilisateurs,
  • Affectation de certificats clients aux espaces de travail et validation SSL (ou désactivation de celle-ci),
  • Génération d’extrait de code en 12 langages différents (pratique si vous souhaitez CURLER (faire un curl) la commande depuis la ligne de commande ou la déposer dans votre base de code),
  • Une zone de documentation très complète dans laquelle des éléments tels que des instructions, des extraits de code et même des données de test peuvent être ajoutés à des appels ou des collections spécifiques.
  • Voir les réponses au-delà des formats JSON et XML (avec Insomnia, vous pouvez voir des pages HTML, des images, des SVG, des fichiers audio et même des documents PDF).

Conclusion

Globalement, je dois dire que Postman est le leader actuel en termes d’outils de test d’API, à mon sens. Il est plus mature et complet que Insomnia, offrant de nombreux avantages vraiment excellents aux développeurs, même dans son niveau gratuit.

Cela dit, si Insomnia intègre quelques-uns des avantages de Postman au fur et à mesure de son développement et de son amélioration, il n’ya aucune raison pour qu’il ne puisse pas continuer à être un concurrent très puissant dans le monde des tests API.

Merci de votre lecture, j’espère que cela s’avérera utile et vous permettra de mieux comprendre quelques-unes des principales options disponibles pour les tests.