每当我从命令行运行
时newman run https://www.getpostman.com/collections/abcd1234
我得到的输出显示失败和执行的统计信息。
但是我在执行上述Newman查询后,正在寻找要在终端上打印的URL的完整HTML或JSON响应。我如何实现这一目标?
答案 0 :(得分:0)
您必须在请求中添加一些日志输出。
对于要查看响应输出的请求,请在Postman Tests选项卡中添加以下内容:
console.log(responseBody); // full response body
如果要记录特定部分,则必须将响应主体解析为JSON对象:
let response = JSON.parse(responseBody);
console.log(reponse.myprop); // part of the full response body
现在,如果您使用newman运行此集合,CLI报告器也将打印控制台日志部分。
答案 1 :(得分:0)
您需要使用Postman API。
所以您需要运行这样的
newman run https://api.getpostman.com/collections/myPostmanCollectionUid?apikey=myPostmanApiKey
(请参阅http://blog.getpostman.com/2018/06/21/newman-run-and-test-your-collections-from-the-command-line/) 您可以在Postman Cloud中获得ApiKey。您需要转到工作区->集成->浏览集成->邮递员API查看详细信息->详细信息获取API密钥/现有API密钥
如果还需要添加环境(如果使用变量),则需要使用-e参数'newman run https://api.getpostman.com/collections/myPostmanCollectionUid?apikey=myPostmanApiKey -e dev_environment.json'运行相同的命令
但是如果您的环境也存在于云中怎么办?根据本文档https://www.getpostman.com/docs/v6/postman/collection_runs/command_line_integration_with_newman,您可以将URL作为值传递。所以你可能会运行类似的东西
newman run https://api.getpostman.com/collections/myPostmanCollectionUid?apikey=myPostmanApiKey -e environments/{{environment_uid}}?apikey=myPostmanApiKey
它为我工作,希望这会有所帮助
答案 2 :(得分:0)
我正在使用newman进行Web服务和微服务测试。这对我来说很好。
summary.run.executions[0].response.text().toString()
事件完成后,您应该可以获得响应。
d是从Postman导出的集合。
newman.run({
collection: d,
// reporters: 'cli',
iterationCount: 1,
timeoutRequest: 10000,
timeoutScript: 5000,
delayRequest: 0,
insecure: false,
}).on('done', (err, summary) => {
if (err || summary.error) {
console.error('\ncollection run encountered an error.');
reject(summary.error);
}
else {
var xml = summary.run.executions[0].response.text().toString();
console.log(xml)
}
})
})