将相同的断言应用于所有SOAP请求的最简洁,最优雅的方法是什么?
我正在创建一个ping多个服务(大约24个)的测试,并验证它们是否包含(或不包含)响应的相同元素。 (例如,所有服务都接受有效的SAML令牌。)
一个解决方案:
- create a global/project property named "assertion1" with value "invalid token"
- under each soap request, add a "does not contain" assertion with the value "${assertion1}"
答案 0 :(得分:3)
我的2美分
其他方式可能是在24个左右的请求结束时有一个groovy脚本,并从每个请求中获取元素并声明SAML令牌。
您使用“不包含”的想法并不是测试元素的有效方法。
希望这有帮助
答案 1 :(得分:2)
正如SuperMan提到的那样,groovy脚本是做主张的好主意。并且您将能够添加任何类型的断言。例如,如果它是一个xpath断言,它将需要两个输入xpath和预期内容作为参数,而不像包含的情况下的一个参数。
在所有步骤之后,您也可以在测试步骤事件之后执行此操作,而不是执行断言。如果您是soapui专业版用户,可以使用此事件。 SoapUI免费版没有此功能,但您可以使用soapuiExtensions库来实现后续事件。