我们创建了一个maven Java应用程序,使用maven插件5.3运行SoapUI测试。这个项目我们在 Jenkins for Regression 中运行。要在修复后重新运行 SoapUI 项目的失败测试,我们必须为该项目再次运行 Jenkins 作业。 Jenkins 作业获取已修复的(从 SVN 存储库修复后更新的 proejct xml(测试,并再次重新运行所有通过和失败的测试。
有没有办法只在 Jenkins 中重新运行失败的测试?
詹金斯工作:
- 从SVN获取更新的SoapUI项目xml 。
- 使用自定义 jar(插件(运行测试
插件:
SoapUI.setSoapUICore(- new StandaloneSoapUICore(true((;
- 创建 WSDL 项目
- WsdlTestCaseRunner wsRunner = project.getTestSuiteByName(testSuiteName(.getTestCaseByName(testCaseName(.run(new PropertiesMap((, false(;
我可以通过仅通过测试套件在循环中运行并使用 wrunner 运行它来做到这一点:
} else if (!testSuiteDisable && testSuitetoRerun != null( {
for (int i = 0; i < testSuitetoRerun.size(); i++) {
testSuiteName = project.getTestSuiteByName(testSuitetoRerun.get(i).trim().toString()).getName();
for (TestCase testCase : project.getTestSuiteByName(testSuitetoRerun.get(i).trim().toString()).getTestCaseList()) {
testCaseName = testCase.getName();
startTime = System.currentTimeMillis();
boolean testCaseDisable = project.getTestSuiteByName(testSuiteName).getTestCaseByName(testCaseName).isDisabled();
if (!testCaseDisable) {
System.out.println("Running Test Case : " + testCaseName);
wsRunner = project.getTestSuiteByName(testSuiteName).getTestCaseByName(testCaseName).run(new PropertiesMap(), false);