Pendant des années, l'exécution des collections Postman en dehors de l'application de bureau ne se faisait qu'avec un seul outil : Newman. Puis Postman a lancé son propre outil officiel en ligne de commande, le Postman CLI, et il existe désormais deux façons de faire à peu près la même chose. Les deux exécutent des collections sans interface graphique, les deux s'intègrent dans les pipelines CI/CD, et les deux exécutent les mêmes scripts de test. Alors pourquoi deux outils, et lequel appartient à votre pipeline ?
En bref : Newman est l'exécuteur open source et sans compte qui a été la norme communautaire depuis les débuts. Le Postman CLI est l'outil plus récent, lié à un compte, qui connecte les exécutions au cloud Postman et y rapporte les résultats. Le bon choix dépend de si vous voulez que les résultats soient stockés sur la plateforme de Postman ou si vous préférez un exécuteur qui n'a besoin que d'un fichier de collection. Cet article les compare honnêtement afin que vous puissiez décider.
Qu'est-ce que Newman
Newman est l'exécuteur de collection en ligne de commande original de Postman. Il est open source, distribué sous forme de paquet npm, et entièrement gratuit. Il exécute les fichiers de collection exportés de Postman, exécute chaque requête et chaque assertion pm.test, et rapporte le résultat via son code de sortie.
La caractéristique principale de Newman est son indépendance. Il ne nécessite pas de compte Postman, de clé API, ni de connexion réseau aux serveurs de Postman. Vous lui donnez un fichier de collection JSON et il l'exécute. Cela le rend prévisible et facile à comprendre dans des environnements verrouillés.
npm install -g newman
newman run checkout-api.postman_collection.json \
--environment staging.postman_environment.json
Newman est également léger et extensible. Il est livré avec des rapporteurs CLI et JUnit, et la communauté maintient des rapporteurs supplémentaires tels que newman-reporter-htmlextra pour une sortie HTML riche. Comme c'est un paquet Node.js, vous pouvez également l'appeler programmatiquement depuis un script. Notre guide sur la différence entre Newman et Postman couvre la façon dont il se rapporte à l'application de bureau.
Qu'est-ce que Postman CLI
Postman CLI est l'outil officiel en ligne de commande que Postman a construit et recommande désormais. C'est un exécutable unique que vous installez avec un script, pas un paquet npm, et il est lié à votre compte Postman via une clé API.
# installation (exemple pour macOS/Linux)
curl -o- "https://dl-cli.pstmn.io/install/osx_64.sh" | sh
# authentification, puis exécution
postman login --with-api-key VOTRE_CLE_API
postman collection run checkout-api
La différence clé est le lien avec le cloud. Lorsque vous exécutez une collection avec Postman CLI, il peut récupérer la collection directement depuis votre espace de travail Postman par ID, et il renvoie les résultats de l'exécution à la plateforme Postman, où ils apparaissent dans l'historique de l'espace de travail et les tableaux de bord. Le grand avantage est la gouvernance API et les vérifications de sécurité : Postman CLI peut effectuer du linting sur vos définitions d'API pendant un pipeline, révélant les violations de schéma et de règles dans le cadre de la construction.
Ainsi, Postman CLI est moins un pur exécuteur de collections qu'un agent de pipeline pour la plateforme Postman. Si votre équipe travaille dans le cloud de Postman et souhaite que l'historique des exécutions et la gouvernance y soient centralisés, cette intégration est la raison de le choisir.
Comparaison côte à côte
| Aspect | Postman CLI | Newman |
|---|---|---|
| Source | Code source fermé, outil Postman officiel | Open source |
| Installation | Script d'installation, exécutable unique | Paquet npm |
| Compte Postman | Requis (connexion par clé API) | Non requis |
| Source de la collection | Récupère depuis le cloud Postman par ID, ou fichier local | Fichier JSON local |
| Résultats d'exécution | Rapportés à la plateforme Postman | Sortie terminal et fichiers de rapport |
| Gouvernance/linting API | Intégré | Non inclus |
| Rapporteurs | Limités, résultats dans Postman | CLI, JUnit, plus rapporteurs HTML communautaires |
| Utilisation hors ligne | Limitée, conçue autour du cloud | Entièrement hors ligne une fois le fichier local |
| Maturité | Plus récent | Standard communautaire établi de longue date |
| Coût | Gratuit, mais lié aux limites du plan Postman | Gratuit, sans compte |
L'axe décisif est le cloud Postman. Postman CLI est conçu pour alimenter la plateforme Postman en résultats et en gouvernance. Newman est conçu pour exécuter un fichier et rapporter localement, sans dépendance aux serveurs de Postman.
Comment ils s'intègrent dans le CI/CD
Les deux outils fonctionnent avec n'importe quel fournisseur CI, y compris Jenkins, GitHub Actions, GitLab CI et CircleCI. Les mécanismes diffèrent.
Avec Newman, vous commettez les fichiers JSON de collection et d'environnement dans votre dépôt, installez Newman dans le job, l'exécutez, et laissez le code de sortie non nul faire échouer la construction en cas d'échec de test. Tout est autonome dans le dépôt et le pipeline. Nos guides sur l'automatisation des tests API en CI/CD et l'automatisation des tests API avec GitHub Actions illustrent ce modèle.
Avec Postman CLI, vous stockez une clé API Postman en tant que secret chez le fournisseur CI, vous vous authentifiez et exécutez la collection par son ID. La collection est récupérée depuis le cloud Postman plutôt que depuis le dépôt, et les résultats sont renvoyés à l'espace de travail. Cela maintient la source de vérité dans Postman, ce que certaines équipes préfèrent et d'autres trouvent limitant.
Une différence pratique : Newman versionne les tests avec votre code, puisque le JSON de la collection se trouve dans le dépôt. Postman CLI versionne les tests sur la plateforme de Postman, puisqu'il les récupère par ID. Décidez quelle source de vérité votre équipe souhaite avant de choisir.
L'angle de la gouvernance
La fonctionnalité qui sépare le plus clairement les deux outils est la gouvernance des API. Postman CLI peut exécuter une vérification de style postman api lint contre une définition d'API stockée dans votre espace de travail Postman, l'évaluant par rapport aux règles de nommage, de sécurité, d'exhaustivité du schéma et de cohérence. Lorsque cette vérification s'exécute dans un pipeline, une définition qui viole une règle fait échouer la construction avant même que la modification ne soit fusionnée.
Newman n'a pas d'équivalent. Il exécute des collections et rapporte les résultats des tests, et c'est la limite de sa tâche. Si votre organisation se soucie de l'application automatique des normes de conception d'API, cette capacité n'existe que dans Postman CLI, et c'est une vraie raison de le choisir. Si vous n'appliquez pas de règles de conception dans le pipeline, la fonctionnalité est sans objet et la simplicité de Newman l'emporte.
Il est important d'être honnête à ce sujet, car cela recadre la comparaison. Postman CLI n'est pas simplement "Newman, mais plus récent". C'est un type d'outil différent : un agent de pipeline pour la plateforme Postman qui inclut un exécuteur de collections. Newman est, et n'est que, un exécuteur de collections. Une fois que vous le voyez ainsi, le choix devient moins une question de fonctionnalités et plus une question de savoir si vous voulez que vos tests soient liés à la plateforme de Postman.
Considérations de migration
Les équipes qui utilisent déjà Newman se demandent parfois s'il faut passer à Postman CLI. Il y a rarement une raison forte. Newman est toujours maintenu, toujours gratuit, et fonctionne toujours avec tous les fournisseurs CI. Le passage signifie l'ajout d'une clé API en tant que secret CI, la modification de la manière dont les collections sont sourcées, et l'acceptation d'une dépendance au cloud de Postman. À moins que vous ne souhaitiez spécifiquement un historique d'exécution centralisé ou des contrôles de gouvernance, les coûts de migration sont supérieurs aux avantages.
Les équipes qui débutent font face à un choix plus intéressant. Si l'équipe est engagée envers Postman comme son outil principal et paie pour un plan, Postman CLI garde tout dans un seul écosystème et est le choix naturel. Si l'équipe souhaite de la flexibilité, des tests versionnés dans le dépôt et l'indépendance vis-à-vis du cloud d'un seul fournisseur, Newman, ou un outil non-Postman tout court, a plus de sens. Il n'y a pas de bonne réponse universelle ; il n'y a que la réponse qui correspond à la façon dont votre équipe travaille déjà.
Lequel choisir
Choisissez Newman si vous voulez un exécuteur sans dépendance de compte, si vous voulez des tests versionnés dans votre dépôt, si vous avez besoin de rapports HTML riches via des rapporteurs communautaires, ou si vous travaillez dans des environnements restreints où l'appel au cloud de Postman n'est pas autorisé. L'indépendance et la maturité de Newman en font le choix par défaut sûr pour la plupart des pipelines.
Choisissez Postman CLI si votre équipe travaille au sein de la plateforme Postman, si vous souhaitez que l'historique des exécutions et les tableaux de bord y soient centralisés, ou si la gouvernance des API et le linting des définitions dans le pipeline vous sont précieux. Son intégration étroite avec le cloud est un réel avantage pour les équipes centrées sur Postman.
Si vous êtes en train de peser cette décision, il est utile de vous demander si vous souhaitez être lié à l'écosystème Postman. Pour d'autres approches, consultez notre guide sur l'exécution des collections Postman en CI sans Newman et notre analyse plus large sur les tests API sans Postman.
Une alternative à outil unique : Apidog
Postman CLI et Newman supposent tous deux que vous avez créé vos tests dans Postman. Apidog élimine cette scission. Vous concevez des API, déboguez des requêtes et construisez des scénarios de test automatisés avec des assertions visuelles dans une seule application, puis exécutez ces scénarios en CI/CD avec l'exécuteur en ligne de commande intégré. Il n'y a pas d'étape d'exportation ni de paquet d'exécution séparé, car les définitions de test et le moteur d'exécution sont le même produit.
Apidog intègre également la conception d'API, les serveurs de maquettes et les tests de performance, de sorte qu'une équipe peut couvrir le cycle de vie complet de l'API sans assembler plusieurs outils. Vous pouvez télécharger Apidog et utiliser ses fonctionnalités de test gratuitement, y compris l'exécuteur CLI pour les pipelines.
Questions fréquemment posées
Le Postman CLI remplace-t-il Newman ?
Postman positionne le Postman CLI comme son outil officiel en ligne de commande recommandé, mais Newman est toujours maintenu et largement utilisé. Newman reste le meilleur choix lorsque vous souhaitez un exécuteur sans compte et versionné dans le dépôt. Les deux coexisteront probablement pendant un certain temps, il n'y a donc pas de besoin urgent de migrer.
Le Postman CLI nécessite-t-il un compte Postman ?
Oui. Le Postman CLI s'authentifie avec une clé API Postman et est conçu pour relier les exécutions à votre espace de travail Postman. Newman, en revanche, n'a pas besoin de compte et fonctionne uniquement à partir d'un fichier de collection local.
Quel outil offre de meilleurs rapports ?
Newman offre une plus grande flexibilité de rapport grâce aux rapporteurs communautaires, notamment newman-reporter-htmlextra pour une sortie HTML détaillée et JUnit XML pour les tableaux de bord CI. Postman CLI rapporte les résultats directement dans la plateforme Postman, ce qui est pratique si votre équipe y travaille mais moins flexible pour les fichiers de rapport autonomes.
Le Postman CLI peut-il exécuter un fichier de collection local ?
Le Postman CLI peut exécuter des collections à partir de fichiers locaux, mais il est conçu pour récupérer les collections du cloud Postman par ID et renvoyer les résultats. Si vous souhaitez un outil qui traite un fichier JSON local comme source de vérité sans intervention du cloud, Newman correspond plus naturellement à ce modèle.
Lequel est le plus rapide en CI ?
Pour l'exécution pure de collections, la différence est minime et dépend de la taille de la collection et des conditions réseau. Newman a une empreinte plus petite et n'effectue pas d'allers-retours vers le cloud. Postman CLI ajoute la surcharge de l'authentification et de la synchronisation des résultats avec la plateforme. Pour la plupart des pipelines, choisissez en fonction de l'adéquation au flux de travail plutôt que de la vitesse brute.
