使用 Newman 自定义 reporters
自定义报告器可用于使用 Newman 生成满足特定用例的 collection run 报告,例如,在请求(或其测试)失败时注销响应主体。
建立自定义记者
自定义报告器是一个名称为 的 Node.js 模块newman-reporter-<name>
。
要创建自定义报告程序,请执行以下操作:
在你选择的目录中,创建一个带有
npm init
.添加一个
index.js
文件,该文件导出以下形式的函数:function (emitter, reporterOptions, collectionRunOptions) {
// emitter is is an event emitter that triggers the following events: https://github.com/postmanlabs/newman#newmanrunevents
// reporterOptions is an object of the reporter specific options. The usage examples below have more details.
// collectionRunOptions is an object of all the collection run options:
// https://github.com/postmanlabs/newman#newmanrunoptions-object--callback-function--run-eventemitter
};使用 发布你的记者
npm publish
,或在本地使用你的记者。阅读使用说明以获取更多信息。
@myorg/newman-reporter-<name>
还支持 Scoped reporter 包名称。
使用自定义记者
要使用自定义报告程序,必须先安装它。例如,要使用 Newman TeamCity 报告程序,请安装报告程序包:
npm install newman-reporter-teamcity
请注意,包裹名称的格式为newman-reporter-<name>
,其中<name>
是报告者的实际姓名。如果全局安装了 Newman,则安装是全局的,否则是本地的。npm install ...
使用-g
全局安装标志运行。
要使用本地(未发布的)记者,请改为运行命令npm install <path/to/local-reporter-directory>
。
通过命令行工具或以编程方式使用已安装的报告程序。此处,newman-reporter
在选项中指定报告者名称时不需要前缀。
范围报告程序包必须使用范围前缀指定。例如,如果你的包名称是@myorg/newman-reporter-name
,则必须使用 指定报告者@myorg/name
。
在命令行上:
newman run /path/to/collection.json -r myreporter --reporter-myreporter-<option-name> <option-value> # The option is optional
以编程方式:
var newman = require('newman');
newman.run({
collection: '/path/to/collection.json',
reporters: 'myreporter',
reporter: {
myreporter: {
'option-name': 'option-value' // this is optional
}
}
}, function (err, summary) {
if (err) { throw err; }
console.info('collection run complete!');
});
在上述两种情况下,记者选项都是可选的。