昨天,我编写并运行了一个Katalon测试套件,今天,我正在尝试将Katalon与Jenkins集成。我成功设置了Jenkins,为Katalon测试创建了一个新工作as per these instructions,但是当我去构建它时,我得到了失败的构建。
特别是,这是我不断收到的错误消息:
Recording test results
ERROR: Step ‘Publish JUnit test result report’ failed: No test report files were found. Configuration error?
Finished: FAILURE
我继续将Reports
文件夹结构从我指定的项目目录复制到Jenkins工作区。经过后来的检查,我发现,当Jenkins运行Katalon测试时,JUnit_Report.xml
文件实际上是在项目的Reports
文件夹中创建的,而不是在%JENKINS_HOME%\workspace\[project name]\Reports
。我明确告诉它生成测试报告:Reports/LoginSuite/*/JUnit_Report.xml
。
注意:我在Windows机器上。
如何解决这个问题,以便我可以显示Jenkins的测试结果?!
更新:我已将Windows shell代码修改为以下
C:
cd C:\Katalon
katalon -runMode=console -projectPath="C:\Users\mwarren\Katalon Studio\TestProject" -reportFolder="../../.jenkins/workspace/Katalon Studio Tests/Reports" -reportFileName="report" -retry=0 -testSuitePath="Test Suites/LoginSuite" -browserType="Chrome"
并且它仍然给我同样的错误,即使现在正在那里创建测试。
答案 0 :(得分:0)
Test Report XMLs
设为*/JUnit_Report.xml
答案 1 :(得分:0)
将所有报告复制到一个临时文件夹,使用测试用例名称重命名每个xml,然后将其复制回到junit文件夹。
testCasesTxt = sh (
script: 'sudo find $WORKSPACE -name "*.ts*" -type f -printf "%f\n"',
returnStdout: true
).trim()
testCasesTxt = testCasesTxt.replace(".ts", "")
testCases = testCasesTxt.split("\n")
for (int i = 0; i < testCases.size(); i++) {
script {
try {
wrap([$class: 'Xvfb']) {
sh """
cd /opt/katalon
./katalon -noSplash -consoleLog -runMode=console -projectPath=$WORKSPACE/"katalon-project.prj" -reportFolder="Reports" -reportFileName="report" -retry=0 -testSuitePath="Test Suites/${testCases[i]}" -executionProfile="qa" -browserType="Chrome"
"""
}
} catch (any) {
currentBuild.result = 'FAILURE'
throw any //rethrow exception to prevent the build from proceeding
} finally {
sh """
cd /home/environment/tmp/
cd Reports
mkdir ${testCases[i]}
cd $WORKSPACE
cp -r Reports/ /home/environment/tmp/Reports/${testCases[i]}
cd /home/environment/tmp/Reports/${testCases[i]}/Reports
mv JUnit_Report.xml JUnit_Report_${testCases[i]}.xml
cd $WORKSPACE
cp -r "Data Files/" "/home/environment/tmp/"
"""
//
}
}
}
答案 2 :(得分:0)
答案 3 :(得分:0)
根据this thread,当尝试同时执行两个Katalon实例时,可能会发生这种情况。
如果是这种情况,请尝试更改Jenkins执行器1的数量。
答案 4 :(得分:0)
如果报告位于项目文件夹中的\ Reports \ 20200611_172240 \ TestSuite1 \ 20200611_172240 / JUnit_Report.xml位置,则按如下所示配置文件夹路径-/ Reports / / / * / JUnit_Report。 XML文件 因为报表文件夹名称后的3个文件夹在每次执行后总是会更改。
答案 5 :(得分:0)
请像这样使用测试报告XML路径
**/target/surefire-reports/*.xml