在接口测试中,我们需要检查请求处理结果是否正确。当请求的响应状态码为200,是否表时接口功能正常呢?显然是不正确的。响应状态为200,只能表明服务处理了你的请求,同进进行了结果返回;但并不能代表处理的结果符合接口功能要求。此时只有进一步的检查“响应数据”是否与接口说明中的一致;才能断定结果是否正确。
Jmeter提供了一个断言元件,实现检查接口测试中的响应数据是否符合预期,确保接口测试与预期的一致性。
注:本篇内容以“Jmeter快速创建接口测试脚本”博客请求为例。
1、响应断言
适用于:判断返回内容与预期结果的比对
步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“响应断言”。
例如,响应文本中含有“南京”,表示请求响应成功。
在“测试模式”中添加“南京”,点击“启动”图标,执行请求,查看结果树。可能到此有朋友感觉奇怪,怎么与未加断言时执行效果一致。
那再修改“响应断言”为“南京我爱你”,再次执行请求。
这时请求结果为红色表时请求执行结果与预期设置不同,未包括“南京我爱你”字符,证明此条接口用例执行失败。
下面对“响应断言”内容进行详细介绍。
APPly to:
Main sample and sub-samples:作用于主取样器及对应子取样器
Main sample only:仅作用于主取样器
Sub-samples only:仅作用于子取样器
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
测试字段:响应文本、响应代码、 响应信息、响应头部......
模式匹配规则: 包括、 匹配、Equals、字符串、否、或者
测试模式:可以添加/删除需要判断的内容,按钮“添加”、“删除”是进行指定内容的管理。
除响应断言外,还有其他断言。
2、大小断言
适用于:判断返回内容的大小。
步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“大小断言”。
APPly to:同“响应断言”
Response Size Field to Test(响应字段的测试范围):完整响应、响应头、响应的消息体、响应代码、响应信息。
Size to Assert:断言字节大小
响应字段可以通过察看结果树看到
根据返回响应消息体的大小设置断言值,一般什么大于多少字节,不采用=,因为数据是变化的,大多数会在一定范围内。例如本请求的“Body size in bytes: 1748”,在“大小断言”中设置如下:
3、断言持续时间
适用于:判断请求的响应时间
步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“断言持续时间”。
APPly to:同“响应断言”
持续时间(毫秒):设置期时间的时间,例如预计3秒响应,即设置为3000,如果响应时间在3秒回返回,则断言成功,否则失败!