跳至主要内容

Light Reporter 报告器

wdio-light-reporter 是一个第三方软件包,更多信息请参见GitHub | npm

受 HTML 和 Mochawesome 报告器启发

!理念

此报告器不支持 Cucumber 报告重新生成,并且在考虑 BDD 和 Mocha 框架的情况下开发。在此,describe() 部分被视为测试场景,it() 被视为测试场景内的测试用例。

功能

  1. 轻松设置
  2. 增强的 UI
  3. 屏幕截图嵌入 HTML 报告
  4. addLabel() 用于包含步骤上下文或名称

版本

V 0.1.9 - 初始版本 V 0.2.6 - (最新)

  1. 包含多个环境运行并根据环境进行隔离。
  2. 修复错误
  3. 改进性能。

示例

Example Example Example

安装

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 run wdio.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 免费,太棒了!

欢迎!我如何帮助您?

WebdriverIO AI Copilot