欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

jmeter响应断言使用_十二、Jmeter断言-响应断言、Json断言和Beanshell断言

发布时间:2025/4/16 编程问答 61 豆豆
生活随笔 收集整理的这篇文章主要介绍了 jmeter响应断言使用_十二、Jmeter断言-响应断言、Json断言和Beanshell断言 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

所谓断言,就是检查接口的返回是否符合预期。

自动化测试脚本,如果断言做的不好,就好比测试用例不写预期结果,因此我认为断言是最重要一部分。

关于如何做好断言,我觉得要做到:要断言的内容一定是唯一的,每个接口都要做断言。举例

用例:新增一条数据,然后去列表查看新增是否成功。新增数据,如果成功返回数据id,如下:

{"id": "63c81f8c-ba80-4504-ac1d-66f3774307b2","msg":"ok","code":0 }

列表数据返回如下:

无数据 {"data": [] }有数据 {"data": [{"id": "63c81f8c-ba80-4504-ac1d-66f3774307b2","name": "zhangsan"}] }

如何要断言列表中存在我新增的数据?错误断言:断言data,不管是否存在我们要的数据,返回内容都包含data正确断言:从新增接口提取返回的ID,然后断言ID出现在列表中注意:如果id是自增形式的,建议使用json断言,在这里json断言是首选

实现断言的三种方式
我们首先要把新增接口的id提取出来,用到json提取器,具体配置见下图

JSON断言

json断言配置如下,取出列表所有数据的id看是否存在新增返回的id

关于json断言配置解释,在前面文章已经有介绍。

响应断言

通过响应断言进行断言预期,只需要判断列表数据中出现id,配置如下

关于响应断言配置解释,在前面文章已经有介绍。

Beanshell断言

Beanshell断言在实际运用的比较少,除非是结果需要经过处理后进行断言才用得到,本文为了举例,用Beanshell断言实现我们的目的,配置如下

附上脚本源码

import org.json.*;//获取上一个请求的返回值 String response = prev.getResponseDataAsString(); //将返回值转换为json JSONObject responseJson = new JSONObject(response); //从json提取data数组 JSONArray dataList = responseJson.getJSONArray("data"); //遍历所有列表,判断是否存在idfor(i==0;i<dataList.length;i++){JSONObject item = dataList[i];if(item.get("id")==${id}){Failure = false; FailureMessage = "存在新增的id";break;}else{Failure = true; FailureMessage = "不存在新增的id";}}

补充

假如我们执行删除数据后,我们需要断言不存在于列表

响应断言取反

json断言取反

Beanshell断言读者自己想想如何处理吧,比较灵活!

总结

以上是生活随笔为你收集整理的jmeter响应断言使用_十二、Jmeter断言-响应断言、Json断言和Beanshell断言的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。