前言
断言用于在执行期间验证TestStep接收的消息,通常通过将消息(或整个消息)的部分与某些预期值进行比较。任何数量的断言都可以添加到采样器TestStep中,每个断言都会验证响应内容的一些不同方面。在采样器TestStep执行后,其所有断言将应用于接收到的响应,如果任何一个断言TestStep在TestCase视图中被标记为失败,并且相应的FAILED条目显示在测试执行日志中。
SoapUI中的断言类型
Property Content
Contains
- 在属性值中搜索字符串是否存在,支持正则表达式。适用于任何。
Message Content Assertion
- 允许XML消息的复杂内容验证。适用于包含XML的任何属性。
Not Contains
- 不包含 - 搜索属性值中不存在字符串,支持正则表达式。适用于任何。
XPath Match
- 使用XPath表达式从目标属性中选择内容,并将结果与期望值进行比较。适用于包含XML的任何属性。
XQuery Math
- 使用XQuery表达式从目标属性中选择内容,并将结果与期望值进行比较。适用于包含XML的任何属性。
Compliance, Status and Standards
HTTP Download all resource
- 下载所有资源称为HTML文档(图像,脚本等),并验证它们是否可用。适用于包含HTML的任何属性。
Invalid HTTP Status Codes
- 检查目标TestStep是否收到HTTP结果,状态码不在定义的代码列表中。适用于接收HTTP消息的任何TestStep
Valid HTTP Status Codes
- 检查目标TestStep是否在定义的代码列表中收到带有状态代码的HTTP结果。适用于接收HTTP消息的任何TestStep。
WS-Security Status
- 验证最后收到的消息是否包含有效的WS-Security标头。适用于SOAP TestSteps。
Script
Script Assertion
- 运行自定义脚本来执行任意验证。仅适用于测试步骤(不能用到属性)。
SLA
Response SLA
- 验证最后收到的响应时间是否在定义的限制内。适用于发送请求和接收响应的脚本TestSteps和TestSteps。
JMS
JMS Status
- 验证该目标步步测试的JMS请求成功执行。适用于要求TestSteps与JMS端点。
JDBC
JDBC Status
- 验证目标TestStep的JDBC语句是否成功执行。仅适用于JDBC TestSteps。
JDBC Timeout
- 验证目标TestStep的JDBC语句是否不会超过指定的持续时间。仅适用于JDBC TestSteps。
Security
Sensitive Information Exposure
- 检查上一次接收到的消息是否不会公开有关目标系统的敏感信息。适用于REST,SOAP和HTTP TestSteps。
添加断言
直接添加断言
下方选择Assertions,然后点击添加按钮,即可弹出断言添加窗口
选择响应体添加断言
接口拿到响应后,右键某个响应内容,即可选择需要进行的断言
soapUI会自动定位jsonpath路径,也可以自己进行修改,点击Save即可保存断言,并出现在下方的Assertions区域
常用断言
The Contains Assertion
该断言检查接收到的响应或请求消息中是否存在某些文本,可以勾选使用正则表达式。
The Not Contains Assertion
该断言检查在断言的消息中不存在指定的内容。配置对话框与上述相同。
Valid HTTP Status Codes Assertion
该断言检查响应的状态码是否等于某个值,此处检查响应状态码是否为200
The Response SLA Assertion
此声明验证响应时间在指定的值内,否则断言将失败。单位为毫秒。