Tester un point de terminaison API une fois est simple. Vous envoyez une requête, examinez la réponse et confirmez que tout fonctionne comme prévu. Le véritable défi commence lorsque vous devez exécuter le même test sur des dizaines, voire des centaines, de jeux de données différents. Mettre à jour manuellement les paramètres et envoyer des requêtes à plusieurs reprises est non seulement chronophage, mais aussi sujet aux erreurs et impossible à faire évoluer.
C'est là qu'interviennent les tests d'API basés sur les données. Au lieu de réécrire ou de renvoyer des requêtes à la main, vous définissez un cas de test unique et l'exécutez automatiquement avec plusieurs ensembles de données d'entrée. Le résultat est une couverture plus large, une plus grande précision et beaucoup moins d'efforts manuels.
Pour ce faire efficacement, vous avez besoin du bon outil. Apidog se distingue en offrant un support natif pour les tests basés sur les données en utilisant des fichiers CSV et JSON. En tant que plateforme tout-en-un de développement et de test d'API, Apidog vous permet de lier des fichiers de données externes à un scénario de test et de l'exécuter de manière répétée, en validant automatiquement chaque réponse.
Que vous testiez des flux de connexion avec différents utilisateurs, des API de recherche avec des requêtes variées, ou la création de ressources avec de multiples combinaisons de paramètres, Apidog élimine le travail répétitif et vous aide à réaliser des tests d'API fiables et complets en une fraction du temps.
Maintenant, plongeons dans un guide complet et étape par étape pour maîtriser les tests d'API basés sur les données avec Apidog, en utilisant des fichiers CSV et JSON.
Guide étape par étape pour les tests d'API basés sur les données avec CSV et JSON

Parcourons l'ensemble du processus, de la configuration à l'exécution, en utilisant un exemple concret. Nous allons tester un point de terminaison API d'enregistrement d'utilisateur.
Étape 1 : Définir votre requête API de base
Tout d'abord, vous créez la requête API qui servira de modèle pour votre test.
- Dans Apidog, créez une nouvelle requête vers votre point de terminaison d'enregistrement d'utilisateur (par exemple,
POST /api/v1/users). - Configurez les en-têtes (par exemple,
Content-Type: application/json). - Dans l'onglet Corps, créez votre charge utile JSON. Au lieu de coder en dur les valeurs, vous utiliserez la syntaxe de variable dynamique d'Apidog
{{}}pour créer des espaces réservés.
{
"username": "{{username}}",
"email": "{{email}}",
"password": "{{password}}",
"role": "{{role}}"
}
Notez les espaces réservés : {{username}}, {{email}}, etc. Apidog les remplacera par des valeurs réelles de votre fichier de données lors de l'exécution.
Étape 2 : Créer votre fichier de données de test (CSV ou JSON)
Maintenant, créez le fichier externe qui alimentera vos espaces réservés en données.
Option A : Utiliser un fichier CSV
Le format CSV est parfait pour les données tabulaires. Créez un fichier user_data.csv :
username,email,password,role,expected_status
john_doe,john@example.com,SecurePass123!,user,201
jane_smith,jane@example.com,AnotherPass456!,admin,201
bad_user,not-an-email,short,user,400
duplicate_user,john@example.com,SomePass789!,user,409- La première ligne définit les noms de variables qui correspondent à vos espaces réservés (
username,email, etc.), plus unexpected_statussupplémentaire pour la validation. - Chaque ligne suivante est un cas de test avec les données pour cette exécution.
Option B : Utiliser un fichier JSON
Le format JSON est idéal pour les structures de données imbriquées ou plus complexes. Créez un fichier user_data.json :
[
{
"username": "john_doe",
"email": "john@example.com",
"password": "SecurePass123!",
"role": "user",
"expected_status": 201
},
{
"username": "jane_smith",
"email": "jane@example.com",
"password": "AnotherPass456!",
"role": "admin",
"expected_status": 201
},
{
"username": "bad_user",
"email": "not-an-email",
"password": "short",
"role": "user",
"expected_status": 400
}
]
Étape 3 : Configurer le test basé sur les données dans Apidog
C'est là que le flux de travail intégré d'Apidog brille.
- Allez dans l'onglet "Test" de votre tableau de bord (ou créez un nouveau cas de test dans une suite de tests).

2. Cliquez pour ajouter une nouvelle étape de test et sélectionnez votre requête POST /api/v1/users.

3. Télécharger les données de test : Cliquez sur "Données de test" > "+Nouveau" pour télécharger votre fichier user_data.csv ou user_data.json. Apidog l'analysera et vous montrera un aperçu des lignes de données.


4. Mapper les variables (si nécessaire) : Apidog mappe automatiquement les noms de colonnes (CSV) ou les clés de propriété (JSON) aux espaces réservés {{variable}} dans votre requête. Vérifiez que le mappage est correct.
Étape 4 : Écrire des assertions en utilisant vos variables de données
La véritable puissance vient de la validation de résultats attendus différents basés sur vos données d'entrée. Dans l'onglet Test, vous écrivez des assertions (également appelées "asserts" ou "vérifications").
Il est crucial de pouvoir référencer les mêmes variables de données de votre fichier dans vos assertions.
Par exemple, ajoutez une assertion de code de statut de réponse :
- Valeur attendue :
{{expected_status}}
Cela signifie : "Pour la première exécution du test (john_doe), affirmez que le code de statut est égal à 201. Pour la troisième exécution (bad_user), affirmez qu'il est égal à 400." L'assertion change dynamiquement à chaque itération.
Vous pouvez ajouter des assertions plus complexes en utilisant JavaScript dans la section Script d'Apidog :
// Exemple : Valider le corps de la réponse pour une création réussie
pm.test("Le code de statut est " + pm.variables.get("expected_status"), function () {
pm.response.to.have.status(pm.variables.get("expected_status"));
});
// Ne vérifier l'ID utilisateur que si nous nous attendons à une création réussie
if (pm.variables.get("expected_status") === 201) {
pm.test("La réponse contient un ID utilisateur", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.id).to.be.a('number');
pm.expect(jsonData.username).to.eql(pm.variables.get("username"));
});
}
Étape 5 : Exécuter le test et analyser les résultats
Cliquez sur le bouton Exécuter. Apidog exécutera votre étape de test unique plusieurs fois, une fois pour chaque ligne de votre fichier de données.
Le rapport est l'endroit où tout se rassemble :
Apidog présente un rapport clair et agrégé montrant :
- Itérations totales : (par exemple, "4/4 Réussies")
- Une ventilation pour chaque ligne de données : Vous pouvez développer pour voir la requête exacte envoyée (avec les valeurs réelles substituées) et la réponse reçue pour cette itération spécifique.
- Toutes les défaillances sont identifiées avec précision par rapport à la ligne de données spécifique qui a causé le problème. Est-ce que
duplicate_usera échoué parce que le statut n'était pas409? Vous le verrez instantanément.
Cela rend le débogage incroyablement efficace. Vous n'avez pas à deviner quel cas de test a échoué ; vous savez que c'était l'itération avec le jeu de données spécifique {"username": "duplicate_user", ...}.
Meilleures pratiques pour les tests d'API basés sur les données
- Données spécifiques à l'environnement : Combinez les tests basés sur les données avec les Environnements d'Apidog. Vous pourriez avoir une variable
base_urldans votre environnement qui change du staging à la production, tandis que votre fichier CSV contient les cas de test applicables aux deux. - Données de test réutilisables : Stockez vos fichiers CSV/JSON dans un emplacement central au sein de votre projet Apidog. Plusieurs suites de tests peuvent référencer le même fichier de données, garantissant ainsi la cohérence.
- Générer des fichiers de données par programme : Pour les scénarios complexes, utilisez un script (Python, Node.js) pour générer votre fichier
test_data.csv. C'est excellent pour tester avec des données aléatoires ou une large gamme de valeurs (par exemple, tester la pagination avec 100 combinaisons différentes depageetlimit). - Configuration/Nettoyage du test : Utilisez les scripts de pré-requête et les fonctionnalités de nettoyage des tests d'Apidog en conjonction avec les tests basés sur les données. Par exemple, avant chaque itération d'un test
DELETE, vous pourriez utiliser un script de pré-requête pour créer la ressource qui sera supprimée.
Conclusion : Transformez votre flux de travail de test d'API
Les tests basés sur les données dans Apidog avec des fichiers CSV/JSON vous font passer de la vérification manuelle et répétitive à la validation automatisée et complète. Cela incarne le principe fondamental d'un bon test : être minutieux sans sacrifier l'efficacité.
En externalisant vos données de test, vous créez un document vivant de scénarios de test facile à lire, à mettre à jour et à comprendre pour n'importe quel membre de votre équipe. L'intégration transparente de cette méthodologie par Apidog signifie qu'il n'y a pas de configuration complexe, juste un chemin direct vers des API plus fiables.
Arrêtez de tester les API un cas à la fois. Téléchargez Apidog gratuitement dès aujourd'hui, importez votre premier fichier CSV, et découvrez à quel point les tests d'API peuvent être puissants et efficaces.
