【问题标题】:Rerunning failed SoapUI tests using maven plugin with Java使用带有 Java 的 maven 插件重新运行失败的 SoapUI 测试
【发布时间】:2018-06-08 03:14:56
【问题描述】:

我们创建了一个 maven Java 应用程序来使用 maven 插件 5.3 运行 SoapUI 测试。我们在 Jenkins 中运行这个项目以进行回归。要在修复后重新运行失败的 SoapUI 项目测试,我们必须为该项目再次运行 Jenkins 作业。 Jenkins 作业获取已修复(从 SVN 存储库修复后更新的 proejct xml)测试并再次重新运行所有通过和失败的测试。

有没有办法只在 Jenkins 中重新运行失败的测试?

詹金斯工作:

  1. 从 SVN 获取更新后的 SoapUI 项目 xml
  2. 使用自定义 jar(插件)运行测试

插件:

  1. SoapUI.setSoapUICore(new StandaloneSoapUICore(true));
  2. 创建一个 WSDL 项目
  3. WsdlTestCaseRunner wsRunner = project.getTestSuiteByName(testSuiteName).getTestCaseByName(testCaseName).run(new PropertiesMap(), false);

【问题讨论】:

    标签: soapui


    【解决方案1】:

    我可以通过只传递测试套件在循环中运行并使用 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);
    

    【讨论】:

      最近更新 更多