katalon系列十一:Katalon Studio在Jenkins持續整合
以下在WIN10上執行正常。
安裝準備:
一、安裝Katalon Studio
二、安裝Jenkins
三、獲取Katalon命令列執行命令:點選工具欄的‘Build CMD’按鈕,選擇測試集以及其他選項;選好後點‘Generate Command’即可生成命令,注意生成的命令要去掉-noExit和-consoleLog,以便CI日誌可以直接顯示在作業檢視上。我這裡生成的例子:
katalon -runMode=console -projectPath="E:\work\code\katalon\research\research.prj" -reportFolder="Reports" -reportFileName="report" -retry=0 -testSuitePath="Test Suites/crf" -executionProfile="default" -browserType="Chrome"
配置Jenkins:
一、進入Jenkins點選左上角的‘新建任務’,輸入任務名稱,選擇第一個‘構建一個自由風格的軟體專案’,點確定。
二、
1.構建環境中選中‘Delete workspace before build starts’,官方解釋原因為防止長久執行後毀壞專案資料夾;
2.構建中選擇‘執行Windows批處理命令’
輸入命令:
d:
cd D:\Program Files\Katalon_Studio_Windows_64-5.8.6
katalon -runMode=console -projectPath="E:\work\code\katalon\research\research.prj" -reportFolder="Reports" -reportFileName="report" -retry=0 -testSuitePath="Test Suites/crf" -executionProfile="default" -browserType="Chrome"
copy "E:\work\code\katalon\research\Reports\JUnit_Report.xml" "D:\Program Files (x86)\Jenkins\workspace\katalon\JUnit_Report.xml" /y
第一行切換到d盤
第二行切換到Katalon安裝目錄
第三行為準備工作時準備的命令列語句
第四行是我集成了JUnit報告外掛,但因為Jenkins執行後並沒有在當前任務空間生成執行報告,所以我手動把報告複製過來(下面會講到整合JUnit,如果你不需要的話第四行可以刪掉)
3.整合JUnit報告外掛(首先你的Jenkins已經安裝了JUnit報告外掛)
在‘構建後操作’中選擇‘Publish JUnit test result report’
‘測試報告(XML)’一欄輸入報告的路徑,你可以先按官方的推薦寫成這樣子:Reports\crf\*\JUnit_Report.xml;其中crf為測試集的名字。但是因為我執行後Jenkins的workspace並沒有生成報告,所以在上面第四行命令的時候,我將報告複製到了任務根目錄。
執行效果:
exit 0表示執行成功,其他情況:
0: the execution passed with no failed or error test case.
1: the execution has failed test cases.
2: the execution has error test cases.
3: the execution has failed test cases and error test cases.
4: the execution cannot start because of invalid arguments.
後記——Jenkins日誌亂碼:
Katalon用例中的備註,我是用的中文,在Jenkins日誌中,全顯示成了亂碼,這是因為用例中的編碼是UTF-8,而WINDOWS上的Jenkins是GBK。你可以在Jenkins頂級目錄點系統管理--系統屬性,‘file.encoding’一欄看到Jenkins的編碼。
解決方法就是在Windows新增一個環境變數,名稱為:JAVA_TOOL_OPTIONS;值為:-Dfile.encoding=UTF-8
如果設定完重啟電腦後依然沒生效,試試升級一下JDK,或重新安裝,我的版本是jdk1.8.0_191
官方文件:https://docs.katalon.com/katalon-studio/docs/jenkins-integration.html#publish-junit-reports