我希望在现有的 SoapUI 项目中自动创建测试步骤。每个测试步骤都是从保存在单个文件中的记录的 SOAP 请求中加载的。每个测试步骤都可以有相同的断言,从另一个测试步骤复制而来。
我想我可以在安装脚本中使用 Groovy 做一些事情。我还有其他选择吗?
是的,使用 Groovy 中的WsdlTestStepFactory。
有很多不同的测试步骤。对于常规测试步骤,您可以尝试以下操作:
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>