SOAPUI:将断言应用于所有请求?

时间:2011-04-21 22:55:54

标签: soapui

将相同的断言应用于所有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}"
  • 好处:只有一个位置 更新字符串值
  • 缺点: 如果我想添加/删除断言, 我必须为每项服务
  • 这样做

2 个答案:

答案 0 :(得分:3)

我的2美分

其他方式可能是在24个左右的请求结束时有一个groovy脚本,并从每个请求中获取元素并声明SAML令牌。

您使用“不包含”的想法并不是测试元素的有效方法。

希望这有帮助

答案 1 :(得分:2)

正如SuperMan提到的那样,groovy脚本是做主张的好主意。并且您将能够添加任何类型的断言。例如,如果它是一个xpath断言,它将需要两个输入xpath和预期内容作为参数,而不像包含的情况下的一个参数。

在所有步骤之后,您也可以在测试步骤事件之后执行此操作,而不是执行断言。如果您是soapui专业版用户,可以使用此事件。 SoapUI免费版没有此功能,但您可以使用soapuiExtensions库来实现后续事件。