我有一个执行WSDL调用的SoapUI测试。
如果
,则认为此WSDL调用是成功的SOAPResponse
SOAPFault
faultstring
如何编写一个在两种情况下都成功的SoapUI测试(显然只是那些情况)?
编辑我的测试用例已经定义了3个断言:
我想要像
这样的东西答案 0 :(得分:0)
SoapUI无法开箱即用。您指定的所有断言都具有(相当于)布尔AND:它们都必须通过,才能通过该步骤。
我可以看到两种方法来解决你的困境。
可能是这样的:
def status = messageExchange.responseHeaders["#status#"][0]
if(status.contains("500")) {
log.info "Fault"
def faultStr = context.expand( '${#Response#//*:faultstring}' )
assert faultStr.contains("something special")
} else {
log.info "Non Fault"
}
您的其他两个断言,SOAP响应和Schema合规性,无论是否有错都应该适用。
答案 1 :(得分:0)
如果您的Web服务可以返回2个响应,那么您需要编写2个测试。 1表示SOAP有效,另一表为SOAP故障
答案 2 :(得分:-1)
我猜这个断言会完成这项工作:
添加断言 - > SoapResponse
添加断言 - >不是soapFault
添加断言 - >的SOAPFault
添加断言 - > XPath匹配并配置与faultString和预期结果相关的Xpath表达式