Light Reporter 报告器
受 HTML 和 Mochawesome 报告器启发
!理念
此报告器不支持 Cucumber 报告重新生成,并且在考虑 BDD 和 Mocha 框架的情况下开发。在此,
describe()
部分被视为测试场景,it()
被视为测试场景内的测试用例。
功能
- 轻松设置
- 增强的 UI
- 屏幕截图嵌入 HTML 报告
- addLabel() 用于包含步骤上下文或名称
版本
V 0.1.9 - 初始版本 V 0.2.6 - (最新)
- 包含多个环境运行并根据环境进行隔离。
- 修复错误
- 改进性能。
示例
安装
NPM
npm install wdio-light-reporter --save-dev
配置
reporters: ['dot', ['light',{
outputDir: './Results',
outputFile:`demo${new Date()}`, // html report file will be name this
addScreenshots: false, // to add screenshots in report make it as true. Default is false
}]
],
屏幕截图
报告器没有自动配置拍摄屏幕截图的功能,但是如果手动配置,它会侦听事件并将屏幕截图附加到 HTML 报告中。**要在报告中包含屏幕截图,请在 wdio 配置文件中 afterTest() 钩子中添加以下代码。**
afterTest: async function (test,context,{ error, result, duration, passed, retries }) {
if (!passed) {await browser.takeScreenshot()}
},
结果文件
每次运行都会为每个规范文件重新生成 JSON 报告,要生成组合的 JSON 和 HTML 报告,请在 wdio 配置文件中的 onComplete() 钩子中添加以下代码
onComplete: function (exitCode, config, capabilities, results) {
const mergeResults = require("wdio-light-reporter/src/mergeResults"); //you can add this on top of the file
mergeResults("./Results");
},
如果您在没有任何 --suite 选项的情况下运行测试,则将其视为默认套件。如果在运行时为套件提供多个参数,则报告器将无法工作。wdio run
wdio.conf.js --suite firstSuite
- (工作正常) :)
wdio runwdio.conf.js --suite firstSuite --suite secondSuite
(无法工作) :(
添加上下文
您可以使用
useLabel()
将上下文添加到任何步骤或添加以将其包含为步骤。
const { addLabel } = require("wdio-light-reporter").default;
describe("Show how to use addLabel ", () => {
it("report will added this a steps/context in report", async () => {
addLabel("Log Example 1 as step 1")
console.log("Log Example 1 )
addLabel("Log Example 2 as step 2")
console.log("Log Example 2 )
})
})
更新
reporters: ['dot', ['light',{
outputDir: './Results',
outputFile:"demo", // html report file will be name this
addScreenshots: false, // to add screenshots in report make it as true. Default is false
//autoClean:false // removed autoClean and include the same functionality as default in mergeResult function
}]
],
许可证
MIT 免费,太棒了!