2017-08-12 1 views
1

Pour notre application, nous sommes supposés écrire les scripts de test qui testent notre API REST. J'ai donc écrit des tests individuels chez posman dans une collection. Lorsqu'il est exécuté individuellement, tous les tests réussissent.Comment envoyer la sortie d'une requête GET REST comme corps de requête POST en utilisant Postman

Maintenant, pour exécuter tous les tests de façon séquentielle dans une collection, je veux que la sortie de la première requête GET (la réponse est un tableau d'objets json), passe en tant que corps d'entrée à la requête POST suivante.

Le code suivant est écrit en tant que test dans la requête Tests of GET.

var jsonData = JSON.parse (corps_réponse); Postman.setEnvironmentVariable ("data", jsonData);

postman.setNextRequest ("demande POST");

J'ai appelé ma demande de publication comme "demande POST". Mais ce test échoue.

S'il vous plaît laissez-moi savoir si j'ai fait une erreur.

Répondre

0

Les données doivent être définies dans le cadre de la demande d'opération POST. Dans Postman, dans la section body de la demande POST, vous pouvez définir les données sur la demande, soit en tant que valeur de zone de formulaire, soit en tant que corps de requête complet, c'est-à-dire brut, par exemple.

{{data}} 

Quelques informations supplémentaires et des exemples sont ici: https://www.getpostman.com/docs/postman/environments_and_globals/variables

0

Vous essayez de mettre JSON entière comme variable d'environnement au lieu d'une valeur de la propriété. Essayez de changer votre ligne comme ça.

var jsonData = JSON.parse (corps_réponse); Postman.setEnvironmentVariable ("data", jsonData.id);

Plus tard, utilisez cette variable d'environnement comme entrée à votre requête POST comme {{data}}

Compte tenu de votre réponse JSON est quelque chose comme ça.

{ 
    "status": "SUCCESS", 
    "message": null, 
    "error": null, 
    "id": 1234 
} 

J'espère avoir répondu à votre question. J'ai récemment écrit un blog sur l'automatisation des API utilisant le facteur que vous pouvez consulter ici API Automation using postman

Faites-nous savoir si cela résout votre problème.

Ah !! Manqué ce point.

Si vous souhaitez envoyer Json entier en entrée, utilisez JSON.stringify() Similar question asked