Le domaine du développement web comporte une part importante autours des API (REST, GraphQL, ...). Lorsque nous réalisons des applications Web, nous sommes parfois producteur d'une API pour publier des données structurées, ou au contraire consommateur pour intégrer des données tierces. Il est crucial de disposer de bons outils pour tester et valider nos réalisations.
Depuis de nombreuses années Postman est la référence mais des alternatives émergent, cet article présente Bruno et Yaak, deux «clients» API largement orientés vers le test.
Publié le 25/10/2024
Toujours la référence, Postman continue de dominer le marché grâce à son interface complète, sa capacité à gérer des tests complexes et son intégration fluide avec d'autres services. Cet outil reste incontournable pour de nombreuses équipes grâce à son écosystème robuste et son adoption massive dans l'industrie, alors pourquoi s'intéresser à des alternatives ? Selon nous, Postman dispose d'inconvénients notables qui nous poussent à envisager d'autres outils :
Depuis quelque temps, deux outils se démarquent dans ce domaine : Bruno et Yaak. Tous deux offrent des fonctionnalités pour tester des APIs basées sur des spécifications OpenAPI, mais ils ont des approches et des fonctionnalités distinctes. Cet article explore les différences entre Bruno et Yaak pour vous aider à choisir l'outil qui vous conviendra le mieux.
Bruno et Yaak sont des outils modernes conçus pour faciliter les tests d'API en se basant sur des spécifications OpenAPI. Ils permettent de valider les API en vérifiant leur conformité aux spécifications et en automatisant les tests.
$ref). Il permet d'importer des fichiers au format JSON ou YAML.$ref.Points Forts :
Points Faibles :
Points Forts :
Points Faibles :
L'équipe Pomlo a donc testé les deux outils pouar voir s'ils pouvaient correspondre à nos besoins. Nous avons commencé par importer nos spécifications OpenAPI, y compris des fichiers découpés, afin de tester la compatibilité et l'efficacité de Bruno et Yaak. Malheureusement, l'import des fichiers OpenAPI n'a pas fonctionné correctement sur les deux outils. Malgré leur promesse de support des références externes, cela n'a pas fonctionné. Cette limitation nous a empêchés d'exploiter pleinement leurs fonctionnalités et a soulevé des questions sur leur maturité dans la gestion de scénarios OpenAPI complexes. Espérons que ce point sera rapidement corrigé.
Cependant, en utilisant Postman, l'import des mêmes spécifications OpenAPI s'est déroulé sans encombre, même avec des fichiers fragmentés. Postman a parfaitement géré la résolution des références, confirmant qu'il reste le meilleur choix pour ce type d'opération.
Le choix entre Bruno et Yaak dépend de vos besoins spécifiques :
Pomlo a retenu Bruno pour la majorité des nouveaux projets et envisage une migration progressive des projets de complexité moyenne utilisant Postman. Toutefois, sur des projets très complexes ou disposant de collections très nombreuses, nous conserverons Postman tant que cette approche restera possible en tenant compte des évolutions de l’outil et de son modèle économique.
Nous avons intégré Bruno sur un de nos projets récents, comportant une API relativement petite et peu complexe. L’un des principaux atouts de Bruno est la portabilité des tests : nos fichiers de test sont intégrés directement dans le projet, ce qui nous permet de les exécuter via une image Docker de Bruno et une simple commande make (voir notre article sur l’utilisation des Makefiles). Cela garantit que tous les développeurs utilisent les mêmes scripts de test et les exécutent dans un environnement homogène, un avantage difficile à reproduire avec Postman. De plus, la syntaxe des scripts Bruno (.bru) est intuitive et permet d’écrire des assertions directement en JavaScript, rendant les tests très simples à mettre en place et à interpréter.
Bruno et Yaak sont tous deux outils puissants pour les tests d'API basés sur OpenAPI, mais ils répondent à des besoins différents. Ils seront certainement largement suffisants pour des projets de complexité moyenne, pour une utilisation occasionnelle ou en phase de prototypage. Choisissez l'outil qui correspond le mieux à votre contexte de développement et à vos objectifs de test pour optimiser la qualité et la conformité de vos API.
Malgré l'apparition de ces alternatives modernes, Postman reste un bon choix pour beaucoup d’équipes de développement, notamment celles qui disposent d’un fort patrimoine de collections, ceci en dépit d'un coût bien plus élevé.