Automatisation et tests
Utilisez une collection pour répéter un ensemble de requêtes, une chaîne lorsqu'une réponse fournit des valeurs à l'appel suivant, et une planification pour exécuter régulièrement une requête enregistrée.
Exécuter une collection
Ouvrez l'exécuteur, choisissez l'environnement et définissez les itérations. Ajoutez une pause entre les appels si nécessaire. Décidez si une requête ou assertion en échec doit interrompre l'exécution, puis lancez-la et consultez les résultats.
Pour varier les entrées, chargez un CSV avec en-têtes ou un tableau JSON d'objets :
orderId,expectedStatus
1001,200
1002,404
La requête {{baseUrl}}/orders/{{orderId}} reçoit l'orderId de la ligne. Le script après requête lit le statut attendu avec pm.iterationData.get("expectedStatus"). Chaque ligne fournit une itération.
Le résultat indique statut, durée et assertions en échec. L'historique conserve le nom du fichier de données et le nombre de lignes. Exportez en JUnit XML pour CI ou en HTML pour lecture. Vérifiez les rapports avant de les partager, notamment si l'API renvoie des données personnelles ou confidentielles.
Écrire un script ciblé
Le script avant requête prépare les valeurs. Celui après requête vérifie la réponse. Placez cet exemple dans l'éditeur après requête :
pm.test("Expected status", function () {
const expected = Number(pm.iterationData.get("expectedStatus") || 200);
pm.expect(pm.response.code).to.equal(expected);
});
if (pm.response.code === 200) {
const body = pm.response.json();
pm.environment.set("orderId", String(body.id));
}
Consultez pm.response.text(), pm.response.json(), pm.response.headers.get("Content-Type") et pm.response.responseTime. L'API inclut pm.environment, pm.variables, pm.collectionVariables, les métadonnées pm.request en lecture seule, pm.iterationData, pm.test, les assertions pm.expect de style Chai et console.log.
pm.sendRequest effectue un appel HTTP supplémentaire avec callback, exécuté avant le retour de la fonction. Les scripts fonctionnent dans une sandbox JavaScript limitée à cinq secondes, sans modules Node.js ni accès à .NET. Vérifiez les scripts importés selon ces APIs ; toutes les extensions Postman ne sont pas disponibles. Les scripts et l'authentification modifiable au niveau de la collection ne sont pas pris en charge.
Transmettre des valeurs dans une chaîne
Créez la chaîne, ajoutez les requêtes enregistrées dans l'ordre voulu et sélectionnez l'environnement. Une extraction JSONPath comme $.id place la valeur de réponse dans orderId. L'étape suivante peut utiliser {{orderId}}.
Les conditions vérifient l'existence d'une variable, son égalité à une valeur ou la présence de texte, avec des combinaisons AND ou OR. Une condition non remplie fait ignorer l'étape. Activez l'arrêt sur erreur lorsque la suite dépend du succès de l'étape précédente. Dans les détails, distinguez une étape ignorée d'une étape en échec.
Créer un mock sur le bureau
Ouvrez l'éditeur de mocks, créez une entrée de serveur et ajoutez des routes avec protocole, méthode ou opération, chemin, réponse et délai facultatif. Les modèles, la duplication et la vérification des priorités facilitent la préparation. Vous pouvez aussi enregistrer une réponse HTTP de l'historique comme route.
Les routes HTTP acceptent une réponse exacte ou des données générées à partir d'un contrat. Vérifiez exemples et scénarios et consultez les contrats pour importer des modèles ou fixer une version publiée. Les mocks du bureau acceptent aussi des réponses gRPC et des séquences de messages WebSocket.
Ces mocks sont gratuits et répondent aux appels dans Echo, sans ouvrir de port réseau. Une URL HTTP partagée exige l'hébergement public payant. Pour des règles dans votre application .NET ou des snapshots offline, consultez les packages.
Planifier une requête
Enregistrez la requête, ouvrez sa planification et choisissez environnement, expression cron et mode d'exécution. Définissez l'état actif et vérifiez la prochaine exécution. Par exemple, */15 * * * * demande une exécution toutes les quinze minutes.
Sur le bureau, Echo et la machine doivent rester en fonctionnement. Le mode hébergé continue sur les serveurs Gapfy une fois l'application fermée et exige un forfait payant et l'autorisation correspondante. Il accepte HTTP et les queries ou mutations GraphQL, à au moins cinq minutes d'intervalle. Il n'accepte pas gRPC, WebSocket, SSE ni les subscriptions GraphQL.
Attendez la confirmation de réception par le serveur. Une sauvegarde en attente ou une synchronisation ordinaire ne vaut pas confirmation. Consultez le dernier résultat, le message d'échec et la durée de référence. Ajustez le seuil de régression ou réinitialisez la référence lorsqu'elle n'est plus utile. Maestro affiche aussi les résultats hébergés et les résumés synchronisés des exécutions de collections.
Exécuter dans un terminal
La CLI gapfy-echo exécute des dossiers au format Echo sans ouvrir le bureau. Elle exige .NET 11 et l'accès à son package sur le flux Gapfy. Elle est distincte de l'outil stable echo-mock présenté dans le guide des packages.
Une fois la CLI installée, exécutez un export de dossier lié :
gapfy-echo run collection ./orders --env Development --data ./rows.csv --bail --junit ./results/run.xml --html ./results/run.html
Les options couvrent itérations, délai par requête, proxy et diagnostics détaillés. La liste et le téléchargement des collections du serveur utilisent --server et une clé d'application avec RunCollections. Les appels s'exécutent sur la machine de la CLI, sans envoi automatique des résultats.
Les chaînes utilisent des fichiers complémentaires explicites chains/*.chain.json, run chain et --chain. L'export de dossier lié ne crée pas ces fichiers. OAuth avec connexion dans le navigateur est indisponible dans la CLI. Les codes de sortie sont 0 pour une exécution terminée sans échec, 1 pour un échec de requête ou d'assertion, 2 pour une erreur d'usage, de chargement ou de rapport, et 130 pour une annulation. Vérifiez aussi le nombre d'appels exécutés : une collection vide peut se terminer sans appel.
Les assistants IA peuvent préparer assertions, suites de tests et améliorations de chaînes à vérifier.