Nous construisons des API tous les jours, et le besoin d'automatisation, de tests et d'orchestration est primordial. Postman, un outil bien connu pour son interface conviviale, a introduit son Interface de Ligne de Commande (CLI) pour prendre en charge une automatisation plus poussée et les flux de travail CI/CD.
Postman CLI n'est pas seulement un outil pour déclencher des tests ; c'est un utilitaire étendu qui vous permet de scripter les interactions API, de vous intégrer aux pipelines existants et d'assurer l'intégrité des API dans plusieurs environnements. Cet article explore les capacités avancées de Postman CLI, montrant comment il peut améliorer votre développement et vos pratiques de test d'API.
L'évolution de la CLI de Postman
Avant de plonger dans les détails techniques, il est important de comprendre pourquoi Postman a introduit sa CLI. L'interface graphique de Postman est parfaite pour une utilisation interactive, idéale pour explorer, tester et déboguer les API.
Cependant, dans un environnement DevOps moderne, l'automatisation est cruciale. Les pipelines d'Intégration Continue/Déploiement Continu (CI/CD) nécessitent des tests et une validation automatisés des API, et c'est là que Postman CLI entre en jeu. Il comble le fossé entre les tests d'API manuels et les flux de travail d'API entièrement automatisés et intégrés. Cet utilitaire permet aux équipes d'exécuter des collections, des tests et des intégrations directement à partir d'un terminal, libérant ainsi le potentiel de processus efficaces et reproductibles dans un environnement automatisé.
Comment installer et configurer Postman CLI ?
Postman CLI n'est pas un outil autonome ; il nécessite un environnement configuré, généralement avec une clé API Postman pour authentifier l'accès à votre espace de travail, vos collections et vos environnements. Ceci est essentiel pour l'exécution sécurisée et transparente des scripts dans les environnements, en particulier lors de l'intégration avec les plateformes CI/CD.
Nous devrons installer la CLI pour la configurer. Les Postman docs ont un bon guide de documentation qui peut aider.
Installation Windows
Exécutez les commandes suivantes pour installer Postman CLI pour Windows. Cela téléchargera un script d'installation et l'exécutera. Le script d'installation crée un répertoire %USERPROFILE%\AppData\Local\Microsoft\WindowsApps
s'il n'existe pas encore, puis installe un binaire postman là-bas.
powershell.exe -NoProfile -InputFormat None -ExecutionPolicy AllSigned -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://dl-cli.pstmn.io/install/win64.ps1'))"
Installation Mac (Apple silicon)
Exécutez la commande suivante pour installer Postman CLI pour les Macs avec un processeur Apple silicon. Cela téléchargera un script d'installation et l'exécutera. Le script d'installation crée un répertoire /usr/local/bin
s'il n'existe pas encore, puis installe un binaire postman là-bas.
curl -o- "https://dl-cli.pstmn.io/install/osx_arm64.sh" | sh
Installation Mac (Intel)
Exécutez la commande suivante pour installer Postman CLI pour les Macs avec des puces Intel. Cela téléchargera un script d'installation et l'exécutera. Le script d'installation crée un répertoire /usr/local/bin
s'il n'existe pas encore, puis installe un binaire postman là-bas.
curl -o- "https://dl-cli.pstmn.io/install/osx_64.sh" | sh
Installation Linux
Exécutez la commande suivante pour installer Postman CLI pour la dernière version de Linux. Cela téléchargera un script d'installation et l'exécutera. Le script d'installation crée un répertoire /usr/local/bin
s'il n'existe pas encore, puis installe un binaire postman là-bas.
curl -o- "https://dl-cli.pstmn.io/install/linux64.sh" | sh
Une fois installé, authentifiez-vous à l'aide de votre clé API Postman, qui est gérée en toute sécurité par le backend de Postman :
postman login --with-api-key ABCD-1234-1234-1234-1234-1234
Cette gestion des clés API garantit que les exécutions de la CLI ont le même niveau d'accès et de sécurité que toute session dans l'interface web ou de bureau de Postman.
Exécution de collections et d'environnements
Postman CLI permet l'exécution de collections, le cœur des tests Postman. Les collections dans Postman représentent des flux de travail ou des séquences d'appels d'API qui doivent être testés. Elles sont souvent liées à des environnements, qui stockent des variables telles que les URL de base, les jetons d'authentification ou tout autre détail de configuration qui varie selon les étapes de déploiement (par exemple, dev, staging, production).
L'une des fonctionnalités les plus avancées est la possibilité d'exécuter une collection avec un environnement spécifique. Cela permet de tester des flux d'API complexes dans plusieurs environnements sans modifier la collection elle-même :
postman run <collection.json> --environment <environment.json>
Cette commande simple mais puissante permet d'exécuter plusieurs suites de tests sur différentes configurations, ce qui rend la CLI inestimable pour orchestrer les tests d'API dans les pipelines CI/CD.
Configuration avancée : variables globales et d'environnement
La gestion des variables par Postman CLI est une autre fonctionnalité avancée. Avec l'introduction d'environnements dynamiques, vous pouvez remplacer et gérer les variables globales, d'environnement et locales à la volée. Cette capacité est essentielle pour les flux de travail avancés où plusieurs paramètres d'API doivent changer dynamiquement à travers les différentes étapes des tests.
Considérez un scénario où votre API nécessite des jetons d'authentification dynamiques. Plutôt que de coder en dur les jetons, vous pouvez les injecter dynamiquement à l'aide de Postman CLI :
postman run <collection.json> --env-var token=<new_token>
Dans des scénarios plus complexes, vous souhaiterez peut-être charger ces valeurs à partir de fichiers externes, les gérer via les scripts de pré-requête de la collection de Postman, ou même les transmettre en tant que variables d'environnement lors de l'exécution à partir de votre plateforme CI. Cette flexibilité rend Postman CLI extrêmement puissant pour gérer des flux d'authentification d'API sophistiqués.
Exécution des tests et rapports personnalisés
Postman CLI prend en charge l'exécution de collections Postman qui sont intégrées à des tests automatisés, écrits en JavaScript. Ces tests peuvent vérifier l'intégrité des réponses de l'API, valider le schéma ou comparer les temps de réponse aux seuils prédéfinis.
Lors de l'exécution de collections, la CLI fournit une journalisation et des rapports détaillés. Par défaut, la sortie est rendue dans un format structuré qui montre quels tests ont réussi ou échoué. Cependant, Postman CLI va au-delà de la journalisation de base. Les utilisateurs avancés peuvent générer des rapports personnalisés dans plusieurs formats, notamment JSON, HTML et JUnit XML, ce qui est essentiel pour l'intégration avec des plateformes CI comme Jenkins ou GitLab :
postman run <collection.json> --reporters cli,json --reporter-json-export output.json
Cette commande exécutera non seulement la collection, mais produira également les résultats aux formats CLI et JSON, ce qui permettra une manipulation ou une intégration ultérieure avec des outils de tableau de bord.
Plongée en profondeur : travailler avec Newman vs Postman CLI
Avant l'introduction de Postman CLI, Newman était l'outil de référence pour exécuter les collections Postman à partir de la ligne de commande. Bien que Newman reste pertinent, en particulier pour certains flux de travail hérités, Postman CLI apporte plusieurs améliorations. Il s'intègre directement à la plateforme cloud de Postman, offrant une authentification et une gestion de l'environnement plus transparentes.
Par exemple, Postman CLI peut accéder aux espaces de travail partagés directement à partir du cloud de Postman, éliminant ainsi le besoin de télécharger et de gérer les collections et les environnements localement. Il prend également en charge les mécanismes d'authentification avancés (OAuth2, jetons porteurs, etc.) nativement via les configurations de l'espace de travail de Postman, ce qui en fait une solution plus robuste pour les flux de travail intégrés au cloud.
Voici une comparaison d'une simple exécution de collection à l'aide de Newman et de Postman CLI :
Newman :
newman run <collection.json> --environment <environment.json>
Postman CLI :
postman run <collection>
La principale différence ici est la capacité de Postman CLI à référencer les collections et les environnements directement à partir de l'espace de travail Postman dans le cloud, ce qui le rend beaucoup plus flexible pour les environnements avec une sécurité élevée ou des configurations en évolution rapide.
Intégration de Postman CLI dans les pipelines CI/CD
L'une des principales raisons d'utiliser Postman CLI est son intégration avec les pipelines CI/CD. Dans un pipeline, les tests d'API automatisés deviennent cruciaux pour détecter les problèmes dès le début du cycle de développement. Des outils tels que Jenkins, CircleCI, GitLab CI et GitHub Actions peuvent tous invoquer des commandes Postman CLI pour exécuter des tests d'API à différentes étapes du pipeline.
Considérez l'exemple suivant pour intégrer Postman CLI dans un pipeline Jenkins :
pipeline {
agent any
stages {
stage('Run Postman Tests') {
steps {
script {
sh 'postman run <collection> --reporters cli,junit --reporter-junit-export results.xml'
}
}
}
}
post {
always {
junit 'results.xml'
}
}
}
Ce Jenkinsfile exécute la collection Postman et capture les résultats des tests dans un format compatible avec le plugin JUnit de Jenkins, qui génère ensuite des rapports basés sur les résultats des tests.
Postman CLI permet également un contrôle plus granulaire de l'exécution des tests dans les pipelines. Par exemple, vous pouvez définir des itérations spécifiques de suites de tests, contrôler les délais d'attente et configurer des mécanismes de nouvelle tentative en cas d'échec d'un test, offrant ainsi un environnement de test hautement personnalisable.
Gestion des échecs et débogage
Les tests d'API peuvent échouer pour de nombreuses raisons, allant des divergences de format de réponse aux erreurs de configuration de l'environnement. Postman CLI prend en charge une journalisation détaillée, ce qui est essentiel pour le débogage de ces problèmes. En utilisant l'indicateur --verbose
, les développeurs peuvent accéder à une couche d'informations approfondie, notamment les corps des requêtes et des réponses, les en-têtes et les chronométrages d'exécution.
postman run --verbose
Lorsqu'elle est intégrée aux flux de travail CI/CD, ce niveau de granularité est inestimable. La sortie détaillée peut être acheminée vers des journaux que les développeurs peuvent analyser pour déterminer si le problème réside dans l'API elle-même, la configuration des tests ou la configuration de l'environnement.
Explorer Apidog CLI : une expérience de ligne de commande supérieure pour les tests automatisés

Bien que Postman CLI soit populaire pour l'automatisation des flux de travail d'API, Apidog CLI est une alternative convaincante qui offre une approche robuste et flexible des tests automatisés, conçue spécifiquement pour rationaliser l'exécution de scénarios d'API à partir de la ligne de commande. Apidog, un concurrent de Postman, offre une expérience de test d'API transparente, basée sur des commandes, conçue pour les développeurs qui ont besoin d'une solution rapide et automatisée pour tester des flux de travail complexes dans les environnements CI/CD.
Pourquoi Apidog CLI ?
La CLI d'Apidog fournit toutes les capacités dont vous avez besoin pour automatiser les tests d'API, en mettant l'accent sur la facilité d'utilisation, les options de configuration avancées et de puissantes capacités d'intégration. Il est conçu pour exécuter des scénarios de test Apidog à partir du terminal, ce qui en fait un excellent choix pour les équipes qui souhaitent intégrer les tests d'API directement dans leurs flux de travail de développement et de déploiement. La CLI s'intègre sans effort aux puissantes fonctionnalités cloud d'Apidog et est optimisée pour l'exécution de scénarios de test dans n'importe quel environnement, garantissant un retour d'information rapide sur l'intégrité de l'API à travers plusieurs étapes de votre pipeline.
Configuration de la CLI Apidog
Pour commencer à utiliser Apidog CLI, assurez-vous que votre environnement est équipé de Node.js version 16 ou supérieure. Apidog CLI peut être facilement installé via npm, ce qui vous permet de démarrer en quelques commandes :
npm install -g apidog-cli
Une fois installé, la vérification de votre configuration est simple. La commande suivante vérifie votre version de Node.js, la version de la CLI et les chemins d'installation de Node, npm et Apidog :
node -v && apidog -v && which node && which npm && which apidog
Cela garantit que votre système est correctement configuré pour utiliser Apidog CLI et aide à résoudre les problèmes de configuration.
Exécution de scénarios de test dans Apidog CLI
Apidog CLI est conçu pour exécuter efficacement des scénarios de test, vous offrant une flexibilité dans la manière dont vous authentifiez et exécutez les tests. Vous pouvez spécifier un scénario de test soit par son ID unique, soit en référençant un dossier qui contient une collection de scénarios de test. Cette fonctionnalité simplifie l'exécution de tests d'API à grande échelle dans plusieurs environnements et configurations.
Voici un exemple d'exécution d'un scénario de test à l'aide d'un jeton d'accès Apidog :
apidog run --access-token <your-access-token> -t <test-scenario-id>
Cette commande exécute le scénario de test en fonction de son ID, tout en transmettant en toute sécurité les informations d'identification d'authentification via le jeton d'accès. Si vous devez exécuter tous les scénarios de test dans un dossier particulier, vous pouvez simplement utiliser l'ID du dossier à la place :
apidog run --access-token <your-access-token> -f <test-scenario-folder-id>
Options de CLI avancées pour une personnalisation détaillée
L'une des forces d'Apidog CLI réside dans ses options de ligne de commande avancées. Vous pouvez configurer des rapports de test, des variables d'environnement, des certificats SSL et même introduire des délais ou des délais d'attente entre les requêtes. Apidog permet un contrôle précis de votre processus de test, que vous exécutiez un seul scénario de test ou que vous exécutiez un lot de tests de manière itérative dans différents environnements.
Voici un exemple de génération d'un rapport personnalisé aux formats JSON et JUnit, et de son enregistrement dans un répertoire spécifique :
apidog run <collection> --reporters json,junit --out-dir ./test-reports
Avec Apidog CLI, vous pouvez également définir des variables d'environnement de manière dynamique, en vous assurant que vos scénarios de test sont sensibles au contexte et capables de s'adapter aux changements de configuration de l'API sans modifier les scripts de base :
apidog run <collection> --env-var "BASE_URL=https://staging.api.com" --env-var "TOKEN=abc123"
Ce type de flexibilité garantit qu'Apidog s'intègre de manière transparente à votre infrastructure de test existante.
Certificats SSL et tests de sécurité
Dans le monde d'aujourd'hui, la validation SSL est cruciale lors des tests d'API. Apidog CLI prend en charge le passage des certificats clients, permettant des connexions sécurisées à vos API pendant les tests. Que vous utilisiez un seul certificat ou plusieurs certificats basés sur des domaines spécifiques, Apidog simplifie le processus. Vous pouvez spécifier un seul certificat client pour vos tests :
apidog run <collection> --ssl-client-cert ./path/to/cert.pem --ssl-client-key ./path/to/key.pem
Ou, pour des configurations plus complexes, vous pouvez utiliser un fichier JSON qui contient une liste de certificats clients correspondant à des URL spécifiques :
apidog run <collection> --ssl-client-cert-list ./path/to/ssl-cert-list.json
Pourquoi passer à Apidog ?
Apidog CLI offre une expérience améliorée aux équipes qui recherchent des performances plus rapides, une intégration plus facile et plus de contrôle sur leurs flux de travail de test d'API. Il offre la flexibilité d'outils de ligne de commande puissants tout en s'intégrant à la plateforme riche en fonctionnalités d'Apidog, ce qui en fait une solide alternative à la CLI de Postman.
Si vous connaissez déjà Postman, la transition vers Apidog CLI vous semblera intuitive, mais vous remarquerez immédiatement la flexibilité et la puissance supplémentaires qu'Apidog offre. Son riche ensemble de fonctionnalités, combiné à des rapports complets et à une gestion dynamique de l'environnement, fait d'Apidog un concurrent de taille pour les développeurs qui ont besoin d'une solution de test d'API efficace et évolutive.
Conclusion
En conclusion, bien que Postman soit depuis longtemps un incontournable dans l'espace des tests d'API, la CLI d'Apidog offre une alternative robuste adaptée aux flux de travail modernes et automatisés. Avec ses options de commande avancées, sa gestion transparente de l'environnement et ses capacités de reporting flexibles, Apidog CLI permet aux équipes de tester et de valider efficacement les API à différentes étapes du développement et du déploiement. Si vous recherchez un outil puissant et flexible qui s'intègre facilement à vos pipelines CI/CD, Apidog CLI mérite d'être exploré. Il offre une approche simplifiée des tests d'API, garantissant que vos API restent fiables, sécurisées et performantes.