Bamboo
WebdriverIO 提供與 CI 系統(如 Bamboo)的緊密整合。使用 JUnit 或 Allure 報表器,您可以輕鬆地偵錯測試並追蹤測試結果。整合非常容易。
- 安裝 JUnit 測試報表器:
$ npm install @wdio/junit-reporter --save-dev
) - 更新您的設定,將 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 中整合您的測試
-
開啟您的 Bamboo 專案
建立新的計畫,連結您的儲存庫(請確保它始終指向儲存庫的最新版本)並建立您的階段
我將使用預設的階段和工作。在您的情況下,您可以建立自己的階段和工作
-
開啟您的測試工作並建立任務以在 Bamboo 中執行測試
任務 1: 原始碼簽出
任務 2: 執行您的測試
npm i && npm run test
。您可以使用Script任務和Shell Interpreter來執行上述命令(這將產生測試結果並將其儲存在./testresults/
資料夾中)任務:3 新增 jUnit Parser 任務以解析您儲存的測試結果。請在此處指定測試結果目錄(您也可以使用 Ant 樣式模式)
注意:請確保將結果解析器任務保留在Final部分中,以便即使您的測試任務失敗,它也始終會被執行
任務:4(可選)為了確保您的測試結果不會與舊檔案混淆,您可以建立一個任務,在成功解析到 Bamboo 後移除
./testresults/
資料夾。您可以新增一個 shell 指令碼,例如rm -f ./testresults/*.xml
以移除結果,或rm -r testresults
以移除整個資料夾
完成以上火箭科學後,請啟用計畫並執行它。您的最終輸出將如下所示
測試成功
測試失敗
失敗並已修復
耶!!就這樣。您已在 Bamboo 中成功整合 WebdriverIO 測試。