昨天,我编写并运行了一个Katalon测试套件,今天,我试图将Katalon与Jenkins集成。我成功地安装了Jenkins,根据这些说明为Katalon测试创建了一个新的工作,但是当我开始构建它时,我得到了失败的构建。
特别是,这是我不断收到的错误消息:
Recording test results
ERROR: Step ‘Publish JUnit test result report’ failed: No test report files were found. Configuration error?
Finished: FAILURE
我继续将Report
文件夹结构从我指定的项目目录复制到Jenkins工作区。经过后来的检查,我发现,当Jenkins运行Katalon测试时,JUnit_Report.xml
文件实际上是在项目的Report
文件夹中创建的,而不是在%JENKINS_HOME%\workspace\[项目名称]\Report
。我明确告诉它生成测试报告到:Report/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"
它仍然给我同样的错误,即使现在测试正在那里创建。
将所有报告复制到一个临时文件夹,用测试用例名称重命名每个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/"
"""
//
}
}
}
显然,这是一种。我应该从一开始就听詹金斯的意见,并将我的测试报告XML
设置为*/JUnit_Report.xml
目前的情况: 每周一早上我都会手动检查周末运行的Jenkins作业jUnit结果,使用Project Health插件我可以过滤时间框运行。然后我将此表复制粘贴到Excel中,并检查每个测试用例的输出日志,以查看失败的原因并记下失败的原因。每个周末在Excel中都有另一个选项卡。所有这些都使可追溯性成为一场噩梦,并导致耗时的体力劳动。 我在寻找什么(并希望在某种程度上已经存在): 存储我指定的所有
我的一个GAE类正在从HTML文件创建[datastore Entity][1]: 当我试图在JUnit测试中调用此方法时,会引发以下异常: 问题似乎是在我的代码示例的第一行中创建键。
我正试图利用Jenkins中的“发布JUnit测试结果报告”,但无法让它为我的android测试项目工作。我在Jenkins的android测试项目的设置基于以下指南:https://wiki.jenkins-ci.org/display/Jenkins/building+an+android+app+和+test+project 我希望有人能发布一个简单的逐步指南,说明如何从测试运行中获得JUn
我正在创建两个单元测试来测试我的应用程序逻辑。在下面,我根据顺序是否为真创建了两个最终变量。有没有一种方法可以不必为每种订单类型创建最终变量,从而使其干燥?
22.13.7.测试报告 测试任务默认生成以下结果. 一份HTML测试报告 一个与Ant的JUnit测试报告任务兼容的XML.这个格式与许多其他服务兼容,如CI serves 结果是有效的二进制,测试任务会从这些二进制结果生成其他结果。 有一个独立的TestReport任务类型会根据一些Test任务实例生成的二进制源码生成一个HTML报告.使用这种测试类型,需要定义一个destinationDir