【jmeter】使用BeanShell Assertion断言响应结果某个字段的大小

一、场景

    在对定时任务进行测试的时候,需要对返回结果中的埋点字段进行断言,以判断性能上是否超过预期

 

二、方案

    jmeter

    BeanShell Assertion

    json.jar

 

三、安装json.jar

Maven Repository: org.json » json » 20231013

 下载之后添加到jmeter的lib目录下(主要是解析json格式要用)

然后重启jmeter

 

四、编写测试脚本

1、创建测试计划

2、创建线程组

3、创建定时任务触发HTTP Sampler

4、添加BeanShell Assertion

5、编写断言脚本

复制代码
//导入json包
import org.json.*;
//获取获取请求的返回值
response_data = prev.getResponseDataAsString();
//日志打印获取请求的返回值
log.info(response_data);

JSONObject data_obj = new JSONObject(response_data);

//获取作为下一个请求post的参数值Province(两种方式)
//String data = data_obj.get("data").toString();
data = data_obj.get("data");

if(data < 10000){
    Failure = false; //设置成false 表示接口跑成功,在结果树中sample是绿色的
} else {
    Failure = true;//直接判断失败,表示接口跑失败,在结果树中sample是红色的
    FailureMessage = "定时任务超过10s";
    //prev.setStopThread(true);//如果断言失败,后面的接口不需要再跑,直接暂停
}
复制代码

 

五、验证

 

参考链接:

Maven Repository: org.json » json » 20231013

15.jmeter 自定义断言及json.jar的使用 - 简书

jmeter BeanShell预处理程序:报错JSONObject not found in namespace_error o.a.j.u.beanshellinterpreter: error invoking-CSDN博客

posted @   代码诠释的世界  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示