📲 Postman et Newman : Automatisation et Intégration des Tests API

🚀 Qu’est-ce que Postman ?

Postman est une plateforme de développement API qui simplifie l’interaction avec les API en offrant une interface graphique pour créer, tester, et documenter les requêtes. Grâce à ses fonctionnalités avancées, les utilisateurs peuvent organiser les requêtes API en collections, ajouter des assertions pour vérifier les réponses, et sauvegarder des configurations pour un partage facile.


📋 Fonctionnalités Clés de Postman

  • CrĂ©ation et ExĂ©cution de RequĂŞtes API : Supporte les mĂ©thodes GET, POST, PUT, DELETE, etc.
  • Collections et Environnements : Organise les requĂŞtes en collections et configure les variables d’environnement.
  • Tests AutomatisĂ©s : Ajoute des scripts de test avec JavaScript pour vĂ©rifier les rĂ©ponses des API.
  • Documentation : GĂ©nère automatiquement des documentations dĂ©taillĂ©es pour les collections API.
  • Surveillance API : ExĂ©cute pĂ©riodiquement des tests pour s’assurer que l’API fonctionne correctement.
  • Partage d’Équipe : Collaborez en temps rĂ©el avec des espaces de travail partagĂ©s.

đź“„ Exemple de Cas d’Utilisation avec Postman

Voici un exemple d’utilisation pour créer une requête API, l’ajouter à une collection, et écrire un test simple.

Étape 1 : Créer une Requête

  1. Ouvrez Postman et crĂ©ez une nouvelle requĂŞte avec l’URL de l’API (par exemple,
    https://jsonplaceholder.typicode.com/posts

    ).

  2. Choisissez la méthode HTTP (par exemple, GET ou POST).
  3. Cliquez sur Send pour envoyer la requête et afficher la réponse.

Étape 2 : Créer un Test

  1. Allez dans l’onglet Tests de la requête.
  2. Ajoutez le code JavaScript suivant pour vérifier que la réponse a un code statut 200 :
javascript
pm.<span class="hljs-title function_">test</span>(<span class="hljs-string">"Statut de la réponse est 200"</span>, <span class="hljs-keyword">function</span> () {
pm.<span class="hljs-property">response</span>.<span class="hljs-property">to</span>.<span class="hljs-property">have</span>.<span class="hljs-title function_">status</span>(<span class="hljs-number">200</span>);
});
  1. Cliquez sur Save pour sauvegarder la requĂŞte et le test.

Étape 3 : Organiser en Collection

  1. Ajoutez la requĂŞte dans une collection pour regrouper les tests API.
  2. Ajoutez plusieurs requêtes API à cette collection pour les tester de manière séquentielle.

đź’» Qu’est-ce que Newman ?

Newman est l’outil CLI de Postman qui permet d’exécuter des collections de tests API directement en ligne de commande. Il est particulièrement utile pour automatiser les tests API dans des environnements CI/CD, comme Jenkins, GitHub Actions, ou GitLab CI/CD.


🛠️ Utilisation de Newman pour Automatiser les Tests API

Installation de Newman

Newman peut ĂŞtre installĂ© via npm (Node Package Manager). Assurez-vous d’avoir Node.js installĂ© sur votre machine.

npm install -g newman

Exécution de Tests avec Newman

Une fois Newman installé, vous pouvez exécuter une collection de tests API Postman en utilisant une simple commande.

  1. Exporter la Collection : Dans Postman, exportez votre collection en format JSON.
  2. Exécuter la Collection : Utilisez la commande suivante pour exécuter la collection :
newman run path/to/your-collection.json

Exemples d’Options avec Newman

Newman offre plusieurs options pour personnaliser l’exĂ©cution des tests :

  • Environnement : SpĂ©cifiez un fichier d’environnement pour gĂ©rer les variables de test.
newman run path/to/your-collection.json -e path/to/your-environment.json
  • Rapport HTML : GĂ©nère un rapport en HTML pour une meilleure visualisation des rĂ©sultats.
newman run path/to/your-collection.json -r html --reporter-html-export path/to/report.html
  • Nombre de Tentatives : Re-tente les tests Ă©chouĂ©s.
newman run path/to/your-collection.json --iteration-count 3

🔄 Intégration de Newman dans CI/CD

L’intégration de Newman dans un pipeline CI/CD permet de vérifier automatiquement les API à chaque commit ou avant chaque déploiement. Voici quelques exemples de configuration pour intégrer Newman dans des pipelines populaires.

Exemple de Pipeline Jenkins

groovy
pipeline {
agent any
stages {
stage('Install Newman') {
steps {
sh 'npm install -g newman'
}
}
stage('Run Postman Tests') {
steps {
sh 'newman run path/to/your-collection.json -e path/to/your-environment.json -r cli,html'
}
}
}
post {
always {
archiveArtifacts artifacts: 'newman/*.html', allowEmptyArchive: true
}
}
}

Exemple de Configuration CI/CD GitHub Actions

yaml
<span class="hljs-attr">name:</span> <span class="hljs-string">Run</span> <span class="hljs-string">Postman</span> <span class="hljs-string">Tests</span>

on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest
steps:
name: Checkout code
uses: actions/checkout@v2

name: Install Newman
run: npm install -g newman

name: Run Postman Tests
run: newman run path/to/your-collection.json -e path/to/your-environment.json


🎯 Avantages de Postman et Newman

  • Tests AutomatisĂ©s : L’intĂ©gration de Newman dans CI/CD garantit que les APIs sont testĂ©es Ă  chaque build.
  • Collaboration d’Équipe : Postman facilite le partage des collections avec les Ă©quipes.
  • Rapports et DĂ©bogage Faciles : GĂ©nère des rapports dĂ©taillĂ©s pour visualiser les rĂ©sultats et diagnostiquer les Ă©checs.
  • FlexibilitĂ© : AdaptĂ© aux tests manuels et automatisĂ©s, permettant une approche de test API complète.

đź“Š Rapports et Visualisation avec Newman

Newman peut gĂ©nĂ©rer des rapports sous diffĂ©rents formats, tels que HTML, JSON, JUnit, et CLI. Les rapports peuvent ĂŞtre archivĂ©s ou partagĂ©s avec les Ă©quipes pour suivre l’Ă©tat des tests et faciliter le dĂ©bogage.


đź”— Ressources et Documentation

Pour aller plus loin avec Postman et Newman, voici des ressources utiles :


#Postman #Newman #APITesting #DevSecOps #CICD #APISecurity #AutomationTesting


Cet article présente Postman et Newman, deux outils essentiels pour tester et automatiser les API dans des pipelines CI/CD. Grâce à leur intégration facile et leur puissance de test, Postman et Newman permettent aux équipes de garantir la fiabilité et la sécurité des APIs à chaque étape du développement.

Please follow and like us:
Pin Share

Laisser un commentaire