如何使用Newman API获取URL的整个html或json repsonse

时间:2017-03-01 23:14:19

标签: api postman newman

每当我从命令行运行

newman run https://www.getpostman.com/collections/abcd1234

我得到的输出显示失败和执行的统计信息。

但是我在执行上述Newman查询后,正在寻找要在终端上打印的URL的完整HTML或JSON响应。我如何实现这一目标?

3 个答案:

答案 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)
            }
        })
    })