gpt4 book ai didi

java - 如何使用 java 从 Soapui 运行特定的 TestSuite 或 TestCase?

转载 作者:行者123 更新时间:2023-12-02 04:59:59 26 4
gpt4 key购买 nike

在soapui中创建项目后,现在我想从我的项目中运行特定的TestSuites和TestCases,这里我用google找到了一个示例,但它执行了项目中的所有TestSuites。

如何指定要运行的 TestSuite 和 TestCase 的名称?

import static org.junit.Assert.assertEquals;
import java.util.List;
import org.junit.Test;

import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.model.support.PropertiesMap;
import com.eviware.soapui.model.testsuite.TestCase;
import com.eviware.soapui.model.testsuite.TestRunner;
import com.eviware.soapui.model.testsuite.TestRunner.Status;
import com.eviware.soapui.model.testsuite.TestSuite;

public class TestRunnerSample {

@Test
public void fullControl() throws Exception {

WsdlProject project = new WsdlProject("C:/Folder/Project.xml");
List<TestSuite> testSuites = project.getTestSuiteList();

for( TestSuite suite : testSuites ) {
List<TestCase> testCases = suite.getTestCaseList();

for( TestCase testCase : testCases ) {
System.out.println("Running SoapUI test [" + testCase.getName() + "]");
TestRunner runner2 = testCase.run(new PropertiesMap(), false);
assertEquals(Status.FINISHED, runner2.getStatus());
}
}
}
}

最佳答案

查看com.eviware.soapui.impl.wsdl.WsdlProject API ,有一个getTestSuiteByName(String testSuiteName)方法通过名称获取 TestSuite,此方法返回 com.eviware.soapui.impl.wsdl.WsdlTestSuite对象也有 getTestCaseByName(String testCaseName)方法通过名称获取此 TestSuite 中的 TestCase。

您可以运行 TestSuite (com.eviware.soapui.impl.wsdl.WsdlTestSuite) 或特定 TestCase (com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase) )使用 run(StringToObjectMap properties, boolean async) 方法,就像在代码示例中所做的那样。

使用您的代码,您可以执行以下操作:

WsdlProject project = new WsdlProject("C:/Folder/Project.xml");
WsdlTestSuite ts = project.getTestSuiteByName('myTestSuite');
WsdlTestCase tc = ts.getTestCaseByName('myTestCase');

System.out.println("Running SoapUI test [" + tc.getName() + "]");
// run a specific testCase
TestRunner tcRunner = tc.run(new PropertiesMap(), false);
assertEquals(Status.FINISHED, tcRunner.getStatus());

// or alternatively run the whole TestSuite
TestRunner tsRunner = ts.run(new PropertiesMap(), false);
assertEquals(Status.FINISHED, tsRunner.getStatus());
...

希望这有帮助,

关于java - 如何使用 java 从 Soapui 运行特定的 TestSuite 或 TestCase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28373198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com