如何使用Postman将GET REST请求的输出作为POST请求的主体发送

时间:2017-08-12 06:34:45

标签: json rest postman

对于我们的应用程序,我们应该编写测试我们的REST api的测试脚本。

所以我在邮递员的集合中写了个别测试。单独运行时,所有测试都通过。

现在要在集合中按顺序运行所有测试,我希望第一个GET请求的输出(响应是json对象的数组),作为输入主体传递给下一个POST请求。

以下代码在测试GET请求中作为测试编写。

var jsonData = JSON.parse(responseBody); postman.setEnvironmentVariable(" data",jsonData);

postman.setNextRequest(" POST请求");

我已将我的帖子请求命名为" POST请求"。但是这个测试失败了。

如果我犯了任何错误,请告诉我。

2 个答案:

答案 0 :(得分:2)

您尝试将整个json设置为环境变量而不是属性值。尝试改变这样的行。

  

var jsonData = JSON.parse(responseBody);

     

postman.setEnvironmentVariable(" data", jsonData.id );

稍后,将该环境变量用作POST请求的输入{{data}}

考虑到你的json响应是这样的。

<?=yii\bootstrap\Alert::widget([
    'options' => [
        'class' => 'alert-info',
    ],
    'body' => Yii::$app->getSession()->getFlash('success'),
]);?>

希望我回答你的问题。我最近写了一篇关于使用邮递员自动化API的博客,你可以在这里参考API Automation using postman

如果它能解决您的问题,请告诉我们。

阿!!错过了这一点。

如果要将整个Json作为输入发送,请使用JSON.stringify()Similar question asked

答案 1 :(得分:0)

应将数据设置为POST操作请求的一部分。

在Postman中,在POST请求的body部分,您可以将数据设置为请求,可以是表单字段值,也可以是整个请求主体,例如原始数据。

{{data}}

此处提供了一些其他信息和示例:https://www.getpostman.com/docs/postman/environments_and_globals/variables