Jmeter如何判断接口响应文本、响应时间、响应大小

在使用Jmeter时如果想要通过响应结果判断接口是否请求成功的时候,肯定是需要通过断言来完成的,那么Jmeter如何正确使用断言呢,下面简单通过几种场景给大家介绍一下Jmeter中断言的使用

当然Jmeter断言给出了很多,但是在日常测试工作中仅使用一个响应断言基本就可以满足所有测试需求了

响应断言

右键点击【HTTP请求】--> 【添加】--> 【断言】--> 【响应断言】

断言添加后如下图所示:

响应断言介绍

响应断言中有很多测试字段如:相应文本、响应代码、响应信息、响应头、请求头、URL样本等

但是在测试工作中使用 相应文本、相应代码 就基本已经满足各种场景的测试工作了

响应文本:是指是否在响应数据中有对应的文本内容如:访问百度网页,可以在文本中添加(“百度一下 你就知道”)

响应代码:是指接口返回状态码如:200请求成功、300重定向、400请求缺失、500服务器拒绝访问等

选择包括;就需要判断返回数据中是否包含该字段

相等:就需要判断返回数据中与该字段必须完全相同才符合

否 :即反向判断,类似与MySQL或者python中的not in(NOT IN)

断言使用

如果在模式匹配规则中选择“或者”,意思即为在返回数据中只要符合下方填入的多个字段中的一个字段就是符合要求

如:添加200、201两个测试模式,勾选模式匹配规则“或者”;此时接口返回200或者201,断言均可通过

接口返回200(请求成功)符合(200、201)中的(200)代码断言,没有爆红

还有一种场景,比如调用录入接口,请求成功但是需要判断返回结果中是否包含:“新增成功”四个字,这时用响应代码绝对是无法准确判断的,因为响应代码只会判断请求的结果,而不是接口返回的结果,这时可以选择“响应文本”

在测试模式中添加“新增成功”四个字(并非必须这四个字,根据接口返回文本填入需要判断的文字),记得“模式匹配规则”勾选包括,而不是相等或匹配,这个时候运行脚本,查看运行结果

因为接口返回的文本中包含“新增成功”四个字,则没有爆红;

判断新增失败同理,将新增成功改成新增失败即可,或者直接在“模式匹配规则”中选择“否”即可实现反向判断,即不包含新增成功四个字为通过

大小断言

如果需要判断接口返回结果的数据大小时该如何使用断言呢?这时给大家介绍“大小断言”

添加断言

右键点击【HTTP请求】--> 【添加】--> 【断言】--> 【大小断言】

添加完成后页面如下:

断言使用

举例:此时需要判断接口响应的结果中有大于200个字节,那么在响应字段大小中勾选“响应信息”,(其他几个基本就是字面意思,响应代码就是判断接口请求结果200、300、400来判断)

Size to Assert:

字节大小就输入200

比较类型选择“<”(这块不用多说了吧,小学毕业基本都能看懂为啥是<)

!=:不等于

>=:大于或等于

<=:小于或等于

执行脚本查看结果:

因为返回文本绝对大于200字节了,所以断言通过,没有爆红

此处所要注意的是,所有判断条件都是根据字符的长短进行判断的,响应代码、响应信息两个内容,比如响应代码为200
首先判断200是三个数字,所以如果选择响应代码,就需按照 3 这个数字判断
再比如响应信息返回OK,此处不能直接写入OK,需判断OK这个字符长度,OK为两个2两个字符,所以符合 2 的条件

断言持续时间

还有一种情况需要判断接口请求响应时间的话,比如请求超出1秒即为不通过,小于1秒视为通过,这时该如何使用断言呢?

添加断言持续时间

右键点击【HTTP请求】--> 【添加】--> 【断言】--> 【断言持续时间】

添加完成如下图所示:

此处无需过多设置,可直接在【持续时间(毫秒)】选项中填入要求响应的时间,毫秒为单位(一秒为1000毫秒)

断言使用

比如此时输入1000,即判断接口请求响应时间是否超出一秒;如果此次执行HTTP请求超过设置的预期时间,则会爆红,如果在设置时间之内发送成功,断言即可通过

可以看到即使接口返回200,文本中包含“新增成功”,但是断言依旧爆红,因为此次接口请求超出了1000毫秒

好了!断言的使用大概就介绍到这里,还请各位点个赞,谢谢大家!!

  • 24
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JMeter中,可以使用响应断言来对接口响应数据进行校验。根据引用\[3\]中的描述,可以选择以下几种断言模式来进行断言校验: 1. 包括:断言的内容可以是一个字符串或正则表达式,只要响应数据中包含该内容,断言就会通过。 2. 匹配:响应数据必须完全匹配断言的内容才能通过断言校验。 3. 相等:与匹配类似,响应数据必须完全等于断言的内容才能通过断言校验。 4. 字符串:与包括类似,但不支持正则表达式。 5. 否:断言结果取反,即断言结果为true时,实际结果为false,反之亦然。 6. 或者:多个断言存在时,只要有一个断言成功,整体断言结果就为成功。 根据你的描述,如果响应信息显示为空,但响应数据是有值的,可以选择使用响应文本断言模式。你可以将期望的响应文本作为断言的内容,比如"success",如果响应数据中包含该文本,断言就会通过。 另外,你也可以根据具体的需求选择其他断言模式,比如匹配或相等,来对响应数据进行校验。请根据实际情况选择合适的断言模式来进行断言校验。 #### 引用[.reference_title] - *1* *2* [JMeter学习笔记002-JMeter响应断言](https://blog.csdn.net/qq_35316141/article/details/125863617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [3.1 jmeter 响应断言](https://blog.csdn.net/qiushiqiushi/article/details/129292265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值