SoapUI – 断言
SoapUI – 断言
断言可以解释为检查点或验证点。一旦请求被发送到 Web 服务器,就会收到响应。需要验证包含数据的响应是否符合预期。为了验证响应,SoapUI 具有断言功能。
注意事项
-
断言用于验证 TestStep 在执行期间收到的消息。
-
它将消息的一部分或整个消息与某个预期值进行比较。
-
可以向 TestStep 添加任意数量的断言,每个断言验证响应消息的某些不同方面和内容。
-
在 TestStep 执行后,它的所有断言都应用于接收到的响应,如果其中任何一个失败,则 TestStep 在 TestCase 视图中被标记为失败。
-
失败的条目显示在测试执行日志中。
断言类型
SoapUI 支持广泛的断言作为响应。
以下是 SoapUI 支持的断言列表。
Assertion | 描述 |
---|---|
Property Content | |
Contains | 检查指定字符串是否存在。它还支持正则表达式。 |
Not Contains | 检查指定字符串是否不存在。它还支持正则表达式。 |
XPath Match | 使用 XPath 表达式选择目标节点及其值。将 XPath 表达式的结果与预期值进行比较。 |
XQuery Match | 使用 Xquery 表达式从目标属性中选择内容。将 XQuery 表达式的结果与预期值进行比较。 |
Compliance, Status, Standards | |
HTTP DOwnload All Resource | 下载作为 HTML 文档(图像、脚本等)引用的所有资源,并验证它们都可用。适用于任何包含 HTML 的属性。 |
Invalid HTTP Status Codes | 检查目标 TestStep 是否接收到状态代码不在定义代码列表中的 HTTP 结果。适用于任何接收 HTTP 消息的 TestStep。 |
Not SOAP Fault | 验证最后收到的消息不是 SOAP 错误。适用于 SOAP 测试步骤。 |
Schema Compliance | 验证最后收到的消息是否符合关联的 WSDL 或 WADL 模式定义。适用于 SOAP 和 REST 测试步骤。模式定义 URL 支持属性扩展(例如 ${#System#my.wsdl.endpoint}/services/PortType?wsdl)。 |
SOAP Fault | 验证最后收到的消息是否为 SOAP 故障。适用于 SOAP TestSteps SOAP 请求 – 验证最后收到的请求是有效的 SOAP 请求。仅适用于 MockResponse 测试步骤。 |
SOAP Response | 验证最后收到的响应是否是有效的 SOAP 响应。仅适用于 SOAP 测试请求步骤。 |
Valid HTTP Status Codes | 检查目标 TestStep 是否收到了 HTTP 结果,在定义的代码列表中带有状态代码。适用于任何接收 HTTP 消息的 TestStep。 |
WS-Addressing Request | 验证最后收到的请求是否包含有效的 WS-Addressing 标头。仅适用于 MockResponse TestSteps。 |
WS-Addressing Response | 验证最后收到的响应是否包含有效的 WS-Addressing Headers。仅适用于 SOAP 测试请求步骤。 |
WS-Security Status | 验证最后收到的消息是否包含有效的 WS-Security 标头。适用于 SOAP 测试步骤。 |
Script | |
Script Assertion | 允许用户执行自定义脚本以执行用户定义的验证。仅适用于 TestSteps(即不适用于属性) |
SLA | |
Response SLA | 验证最后收到的响应的响应时间是否在定义的限制内。适用于发送请求和接收响应的脚本测试步骤和测试步骤。 |
JMS | |
JMS Status | 验证目标 TestStep 的 JMS 请求是否成功执行。适用于使用 JMS 端点请求 TestSteps。 |
JMS Timeout | 验证目标 TestStep 的 JMS 语句花费的时间没有超过指定的持续时间。适用于使用 JMS 端点请求 TestSteps。 |
Security | |
Sensitive Information Exposure | 验证响应消息是否未公开有关目标系统的敏感信息。我们可以将此断言用于 REST、SOAP 和 HTTP TestSteps。 |
JDBC | |
JDBC Status | 验证目标 TestStep 的 JDBC 请求是否成功执行。仅适用于 JDBC TestSteps。 |
JDBC Timeout | 验证目标 TestStep 的 JDBC 语句花费的时间没有超过指定的持续时间。仅适用于 JDBC TestSteps。 |