0

我希望在现有的 SoapUI 项目中自动创建测试步骤。每个测试步骤都是从保存在单个文件中的记录的 SOAP 请求中加载的。每个测试步骤都可以有相同的断言,从另一个测试步骤复制而来。

我想我可以在安装脚本中使用 Groovy 做一些事情。我还有其他选择吗?

4

2 回答 2

1

是的,使用 Groovy 中的WsdlTestStepFactory

于 2013-03-28T16:41:57.523 回答
1

有很多不同的测试步骤。对于常规测试步骤,您可以尝试以下操作:

    public String createGroovyScriptTestStep() {
    try {
        String projectName = "C:\\YourProjectName.xml";
        File projectFile = new File(projectName);
        WsdlProjectPro project = new WsdlProjectPro(projectName);

        if (!projectFile.exists()) {
            return "no_project_already_exists";
        }

        WsdlTestSuite testSuite = project
                .getTestSuiteByName("TestSuiteName");

        if (testSuite == null) {
            return "testsuite does not exist";
        } else {
            WsdlTestCase testCase = testSuite
                    .getTestCaseByName("TestCaseName");

            if (testCase == null) {
                return "testcase does not exist";
            } else {

                if (testCase.getTestStepByName("StepName") != null) {

                    return "teststep_already_exists";
                }

                WsdlGroovyScriptTestStep testStep = (WsdlGroovyScriptTestStep) testCase
                        .addTestStep(GroovyScriptStepFactory.GROOVY_TYPE,
                                "StepName");

                testStep.setDescription("Description");
                testStep.setScript("System.out.println('Hi')");

                project.saveIn(projectFile);

                return "teststep_successfully_created";
            }
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

您需要以下 Maven 依赖项:

    <dependency>
        <groupId>com.github.redfish4ktc.soapui</groupId>
        <artifactId>maven-soapui-extension-plugin</artifactId>
        <version>4.6.4.1</version>
    </dependency>
    <dependency>
        <groupId>com.fifesoft</groupId>
        <artifactId>rsyntaxtextarea</artifactId>
        <version>1.4.1</version>
    </dependency>
于 2014-08-29T13:45:59.583 回答