跳至主要内容

Bamboo

WebdriverIO 与 CI 系统(如Bamboo)紧密集成。使用JUnitAllure 报告器,您可以轻松调试测试并跟踪测试结果。集成非常简单。

  1. 安装 JUnit 测试报告器:$ npm install @wdio/junit-reporter --save-dev)
  2. 更新您的配置以将 JUnit 结果保存到 Bamboo 可以找到的位置(并指定junit 报告器)
// wdio.conf.js
module.exports = {
// ...
reporters: [
'dot',
['junit', {
outputDir: './testresults/'
}]
],
// ...
}

注意:将测试结果保存在根文件夹之外的单独文件夹中始终是一个好习惯。

// wdio.conf.js - For tests running in parallel
module.exports = {
// ...
reporters: [
'dot',
['junit', {
outputDir: './testresults/',
outputFileFormat: function (options) {
return `results-${options.cid}.xml`;
}
}]
],
// ...
}

所有框架的报告都类似,您可以使用任何框架:Mocha、Jasmine 或 Cucumber。

此时,我们相信您已经编写了测试并生成了 ./testresults/ 文件夹中的结果,并且您的 Bamboo 正在运行。

在 Bamboo 中集成您的测试

  1. 打开您的 Bamboo 项目

    创建一个新的计划,链接您的存储库(确保它始终指向存储库的最新版本)并创建您的阶段

    Plan Details

    我将使用默认阶段和作业。在您的情况下,您可以创建自己的阶段和作业

    Default Stage

  2. 打开您的测试作业,并在 Bamboo 中创建任务来运行您的测试

    任务 1:源代码检出

    任务 2:运行您的测试 npm i && npm run test。您可以使用脚本任务和Shell 解释器来运行上述命令(这将生成测试结果并将其保存到./testresults/ 文件夹中)

    Test Run

    任务:3 添加jUnit 解析器任务来解析您保存的测试结果。请在此处指定测试结果目录(您也可以使用 Ant 样式模式)

    jUnit Parser

    注意:确保您将结果解析器任务保留在最终部分,以便即使测试任务失败它也会始终执行

    任务:4(可选)为了确保您的测试结果不会与旧文件混淆,您可以创建一个任务在 Bamboo 成功解析后删除./testresults/ 文件夹。您可以添加一个类似于rm -f ./testresults/*.xml 的 shell 脚本删除结果或rm -r testresults 删除整个文件夹

完成上述火箭科学后,请启用计划并运行它。您的最终输出将如下所示

测试成功

Successful Test

测试失败

Failed Test

失败并已修复

Failed and Fixed

耶!就是这样。您已成功将 WebdriverIO 测试集成到 Bamboo 中。

欢迎!我如何帮助您?

WebdriverIO AI Copilot