使用邮递员集合中的纽曼脚本在某处输出响应主体
output responseBody somewhere with newman script from postman collection
我正在尝试 运行 script.js
与本地保存的邮递员集合中的纽曼。在邮递员中,调用有效,returns 是我需要访问的响应正文令牌。
我不在乎响应正文是如何返回的我只是不想打开邮递员,如果我不需要的话。
我一直遇到 ReferenceError: responseBody is not defined
的错误
如能就此事提供任何帮助,我们将不胜感激。
$ node script.js
var newman = require('newman'); // require newman in your project
// call newman.run to pass `options` object and wait for callback
newman.run({
collection: require('./pathto/my_coll.postman_collection.json'),
reporters: 'cli'
}, function (err) {
if (err) { throw err; }
// console.log(responseBody);
JSON.parse(responseBody);
});
console.log
或 JSON.parse
似乎都没有用,因为 responseBody
似乎从一开始就没有定义
已用尽引用:
https://www.getpostman.com/docs/v6/postman/scripts/postman_sandbox
https://www.npmjs.com/package/newman
how to get whole html or json repsonse of an URL using Newman API
您可以尝试 console.log(summary.run.executions)
并从那里深入研究。 Newman 脚本并不知道 responseBody
在那个上下文中是什么,所以它不知道要注销什么。
查看 Newman 文档以获取更多信息https://github.com/postmanlabs/newman/blob/develop/README.md#cli-reporter-options
邮递员集合是请求的集合。
你 运行 收集了整个集合 (纽曼 运行 将一系列请求放在一起)
因此,在回调函数中记录/解析 responseBody 是不正确的(逻辑上的陈述)。
根据 Newman Docs 它指出 .运行 函数的回调是用两个参数调用的 err 和 总结
回调中的 summary 参数包含 运行 的完整摘要,如果您想使用该摘要,可以按照文档进行操作。
现在,
您要做的基本上是记录请求的响应。
您需要在 测试脚本 中为集合中的每个请求编写一个 console.log(responseBody
) / JSON.parse(responseBody)
,然后在 运行使用 newman 收集集合,每个请求的每个 responseBody 都将根据您的需要注销/解析。
要访问摘要,您可以像这样修改函数:
var newman = require('newman');
newman.run({
collection: require('./C1.postman_collection.json'),
reporters: 'cli'
}, function (err, summary) {
if (err) { throw err; }
console.log(summary);
});
应该可以通过解析缓冲流来实现:
var newman = require('newman');
newman.run({
collection: require('./C1.postman_collection.json'),
reporters: 'cli'
}, function(err, summary) {
if (err) {
throw err;
}
summary.run.executions.forEach(exec => {
console.log('Request name:', exec.item.name);
console.log('Response:', JSON.parse(exec.response.stream));
});
});
我正在尝试 运行 script.js
与本地保存的邮递员集合中的纽曼。在邮递员中,调用有效,returns 是我需要访问的响应正文令牌。
我不在乎响应正文是如何返回的我只是不想打开邮递员,如果我不需要的话。
我一直遇到 ReferenceError: responseBody is not defined
如能就此事提供任何帮助,我们将不胜感激。
$ node script.js
var newman = require('newman'); // require newman in your project
// call newman.run to pass `options` object and wait for callback
newman.run({
collection: require('./pathto/my_coll.postman_collection.json'),
reporters: 'cli'
}, function (err) {
if (err) { throw err; }
// console.log(responseBody);
JSON.parse(responseBody);
});
console.log
或 JSON.parse
似乎都没有用,因为 responseBody
似乎从一开始就没有定义
已用尽引用:
https://www.getpostman.com/docs/v6/postman/scripts/postman_sandbox
https://www.npmjs.com/package/newman
how to get whole html or json repsonse of an URL using Newman API
您可以尝试 console.log(summary.run.executions)
并从那里深入研究。 Newman 脚本并不知道 responseBody
在那个上下文中是什么,所以它不知道要注销什么。
查看 Newman 文档以获取更多信息https://github.com/postmanlabs/newman/blob/develop/README.md#cli-reporter-options
邮递员集合是请求的集合。
你 运行 收集了整个集合 (纽曼 运行 将一系列请求放在一起)
因此,在回调函数中记录/解析 responseBody 是不正确的(逻辑上的陈述)。
根据 Newman Docs 它指出 .运行 函数的回调是用两个参数调用的 err 和 总结
回调中的 summary 参数包含 运行 的完整摘要,如果您想使用该摘要,可以按照文档进行操作。
现在, 您要做的基本上是记录请求的响应。
您需要在 测试脚本 中为集合中的每个请求编写一个 console.log(responseBody
) / JSON.parse(responseBody)
,然后在 运行使用 newman 收集集合,每个请求的每个 responseBody 都将根据您的需要注销/解析。
要访问摘要,您可以像这样修改函数:
var newman = require('newman');
newman.run({
collection: require('./C1.postman_collection.json'),
reporters: 'cli'
}, function (err, summary) {
if (err) { throw err; }
console.log(summary);
});
应该可以通过解析缓冲流来实现:
var newman = require('newman');
newman.run({
collection: require('./C1.postman_collection.json'),
reporters: 'cli'
}, function(err, summary) {
if (err) {
throw err;
}
summary.run.executions.forEach(exec => {
console.log('Request name:', exec.item.name);
console.log('Response:', JSON.parse(exec.response.stream));
});
});