在接口测试中,我们需要检查请求处理结果是否正确。当请求的响应状态码为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:断言字节大小

响应字段可以通过查看结果树看到

根据返回响应消息体的大小设置断言值,一般什么大于多少字节,不采用=,因为数据是变化的,大多数会在一定范围内。

3、断言持续时间

适用于:判断请求的响应时间

步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“断言持续时间”。

APPly to:同“响应断言”

持续时间(毫秒):设置期时间的时间,例如预计3秒响应,即设置为3000,如果响应时间在3秒回返回,则断言成功,否则失败!