SoapUI - 断言


断言可以解释为检查点或验证点。一旦请求被发送到网络服务器,就会收到响应。需要验证包含是否符合预期数据的响应。为了验证响应,SoapUI 具有断言功能。

注意事项

  • 断言用于验证 TestStep 在执行期间接收到的消息。

  • 它将消息的一部分或整个消息与某个期望值进行比较。

  • 可以将任意数量的断言添加到 TestStep,每个断言验证响应消息的某些不同方面和内容。

  • TestStep 执行后,其所有断言都会应用于收到的响应,如果其中任何断言失败,则 TestStep 在 TestCase 视图中被标记为失败。

  • 测试执行日志中显示失败的条目。

执行日志

断言类型

SoapUI 支持多种断言响应。

以下是 SoapUI 支持的断言列表。

断言 描述
财产内容
包含 检查指定字符串是否存在。它还支持正则表达式。
不包含 检查指定字符串是否不存在。它还支持正则表达式。
XPath 匹配 使用 XPath 表达式选择目标节点及其值。将 XPath 表达式的结果与预期值进行比较。
XQuery 匹配 使用 Xquery 表达式从目标属性中选择内容。将 XQuery 表达式的结果与预期值进行比较。
合规性、状态、标准
HTTP下载所有资源 下载 HTML 文档中提到的所有资源(图像、脚本等)并验证它们是否全部可用。适用于任何包含 HTML 的属性。
无效的 HTTP 状态代码 检查目标 TestStep 是否收到状态代码不在已定义代码列表中的 HTTP 结果。适用于任何接收 HTTP 消息的 TestStep。
不是 SOAP 错误 验证最后收到的消息不是 SOAP 错误。适用于 SOAP 测试步骤。
架构合规性 验证最后收到的消息是否符合关联的 WSDL 或 WADL 架构定义。适用于 SOAP 和 REST 测试步骤。架构定义 URL 支持属性扩展(例如 ${#System#my.wsdl.endpoint}/services/PortType? wsdl)。
SOAP 错误 验证最后收到的消息是否为 SOAP 错误。适用于 SOAP TestSteps SOAP 请求 - 验证最后收到的请求是否是有效的 SOAP 请求。仅适用于 MockResponse 测试步骤。
SOAP 响应 验证最后收到的响应是否是有效的 SOAP 响应。仅适用于 SOAP TestRequest 步骤。
有效的 HTTP 状态代码 检查目标 TestStep 是否收到 HTTP 结果以及已定义代码列表中的状态代码。适用于任何接收 HTTP 消息的 TestStep。
WS-寻址请求 验证最后收到的请求是否包含有效的 WS-Addressing 标头。仅适用于 MockResponse TestSteps。
WS-寻址响应 验证最后收到的响应是否包含有效的 WS-Addressing 标头。仅适用于 SOAP TestRequest 步骤。
WS-安全状态 验证最后收到的消息是否包含有效的 WS-Security 标头。适用于 SOAP 测试步骤。
脚本
脚本断言 允许用户执行自定义脚本来执行用户定义的验证。仅适用于测试步骤(即不适用于属性)
SLA
响应SLA 验证最后收到的响应的响应时间是否在定义的限制内。适用于发送请求和接收响应的脚本 TestSteps 和 TestSteps。
联合管理系统
JMS 状态 验证目标 TestStep 的 JMS 请求是否成功执行。适用于使用 JMS 端点请求 TestSteps。
JMS 超时 验证目标 TestStep 的 JMS 语句所花费的时间不超过指定的持续时间。适用于使用 JMS 端点请求 TestSteps。
安全
敏感信息暴露 验证响应消息是否未公开有关目标系统的敏感信息。我们可以将此断言用于 REST、SOAP 和 HTTP 测试步骤。
数据库连接
JDBC 状态 验证目标 TestStep 的 JDBC 请求是否成功执行。仅适用于 JDBC TestSteps。
JDBC 超时 验证目标 TestStep 的 JDBC 语句所花费的时间不超过指定的持续时间。仅适用于 JDBC TestSteps。