在Java中的SoapUI API中向TestStep添加断言
我正在尝试使用SOAPUIAPI自动化Restful测试。由此可以理解,我不想打开SOAPUIGUI来启动我的项目,尽管WsdlProject的save-on文件生成的xml文件可以通过GUI导入和执行 以下是我所拥有的: 我创建了一个SoapUI项目:在Java中的SoapUI API中向TestStep添加断言,java,soap,soapui,Java,Soap,Soapui,我正在尝试使用SOAPUIAPI自动化Restful测试。由此可以理解,我不想打开SOAPUIGUI来启动我的项目,尽管WsdlProject的save-on文件生成的xml文件可以通过GUI导入和执行 以下是我所拥有的: 我创建了一个SoapUI项目: WsdlProject wadlProject = new WsdlProject(); 然后添加一个测试套件: WsdlTestSuite ts = wadlProject.addNewTestSuite("HelloTestSuite"
WsdlProject wadlProject = new WsdlProject();
然后添加一个测试套件:
WsdlTestSuite ts = wadlProject.addNewTestSuite("HelloTestSuite");
然后,我向该测试套件添加一个或多个测试用例:
WsdlTestCase tc = ts.addNewTestCase("HelloTestCase1");
最后,我将测试步骤添加到测试用例中:
WsdlTestStep testStep = tc.addTestStep(HTTP_RQST,"HelloTestStep1",ip_addr+":"+port,"POST");
与
私有最终字符串HTTP_RQST=
HttpRequestStepFactory.HTTPREQUEST\u类型
现在,如果我想在测试后步骤中添加有效负载,我会:
testStep.setPropertyValue("request", "My Payload to send with the test");
##########################现在我的问题是:##########################
如果我想在这个测试步骤中添加一个简单的contains断言,它是如何完成的
我尝试过:testStep.setPropertyValue(“包含”、“成功”)代码>
但事实并非如此。希望有人能帮助我
谢谢您可以使用以下代码执行此操作:
import com.eviware.soapui.impl.wsdl.*
import com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase
import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestStep
import com.eviware.soapui.model.testsuite.TestAssertion
import com.eviware.soapui.impl.wsdl.teststeps.assertions.basic.SimpleContainsAssertion
import com.eviware.soapui.impl.wsdl.teststeps.HttpTestRequestStep
WsdlProject wadlProject = new WsdlProject();
WsdlTestSuite ts = wadlProject.addNewTestSuite("HelloTestSuite");
WsdlTestCase tc = ts.addNewTestCase("HelloTestCase1");
WsdlTestStep testStep = tc.addTestStep("httprequest","HelloTestStep1",ip_addr+":"+port,"POST");
TestAssertion assertion = ((HttpTestRequestStep)testStep).addAssertion("Contains");
((SimpleContainsAssertion)assertion).setToken("success");
此代码只是一个示例,用于添加一个包含的
断言,该断言在响应中查找字符串成功
。也可以添加另一种断言,但要考虑addAssertion
方法返回的接口的实现,因为在包含实现的情况下,每个断言都有自己的方法来设置断言
类似于addTestStep()
方法的工作原理,它返回接口的实例,但是由于您的类型是“httprequest”
,因此实现是。。。在resume中,如果没有正确的强制转换,您就无法调用必要的方法来添加断言(至少使用java…在groovy中根本没有问题:)
)
希望有帮助,非常感谢!!我现在更了解它的工作原理了。我读java文档已经好几天了,我迷路了@JajaDrinker很高兴能帮助你:)