跳至主要內容

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。您可以使用Script任務和Shell Interpreter來執行上述命令(這將產生測試結果並將其儲存在 ./testresults/ 資料夾中)

    Test Run

    任務:3 新增 jUnit Parser 任務以解析您儲存的測試結果。請在此處指定測試結果目錄(您也可以使用 Ant 樣式模式)

    jUnit Parser

    注意:請確保將結果解析器任務保留在Final部分中,以便即使您的測試任務失敗,它也始終會被執行

    任務:4(可選)為了確保您的測試結果不會與舊檔案混淆,您可以建立一個任務,在成功解析到 Bamboo 後移除 ./testresults/ 資料夾。您可以新增一個 shell 指令碼,例如 rm -f ./testresults/*.xml 以移除結果,或 rm -r testresults 以移除整個資料夾

完成以上火箭科學後,請啟用計畫並執行它。您的最終輸出將如下所示

測試成功

Successful Test

測試失敗

Failed Test

失敗並已修復

Failed and Fixed

耶!!就這樣。您已在 Bamboo 中成功整合 WebdriverIO 測試。

歡迎!我能幫上什麼忙?

WebdriverIO AI Copilot