jmeter统计接口返回json数据条数并断言

    最近公司在做jenkins持续集成,在自动化测试这步引入了jmeter作接口性能、功能测试。

    其中要实现某个业务需求:用jmeter对一个接口进行测试,该接口会以json形式固定返回63条数据,使用jmeter统计返回了多少条数据,并作出断言,如果数据条数不等于63条,则接口测试失败。返回数据如下:

jmeter统计接口返回json数据条数并断言_第1张图片

1.添加后置BeanShell PostProcessor

jmeter统计接口返回json数据条数并断言_第2张图片

 脚本文本:

import org.json.*;

String response_data = prev.getResponseDataAsString();
JSONArray apps_array = new JSONArray(response_data);
/*
 String[] result = new String[apps_array.length()];
for(int i=0;i

2.引入需要的jar。此处需要引入json lib包(注意,这里是在Windows上写的脚本,lib也存在Windows的系统盘中) :

jmeter统计接口返回json数据条数并断言_第3张图片

3.添加BeanShell Assertion

jmeter统计接口返回json数据条数并断言_第4张图片

脚本文本:

int count=Integer.parseInt(vars.get("sum")); 
System.out.println(count);
if(count!=63){
	Failure=true;
	FailureMessage="数据条数不对";
}else{
	Failure=false;
	FailureMessage="测试通过";
}

 4.测试

控制台输出条数:

jmeter统计接口返回json数据条数并断言_第5张图片

测试通过: 

jmeter统计接口返回json数据条数并断言_第6张图片

修改脚本让测试不通过:

jmeter统计接口返回json数据条数并断言_第7张图片

jmeter统计接口返回json数据条数并断言_第8张图片

 此时在Windows上的脚本已经写好。

但是我们要运行在linux系统。lib包路径需要修改:

mkdir -p  /usr/local/jmeter/lib

上传lib包到此目录:

修改jmx中lib引用:

jmeter统计接口返回json数据条数并断言_第9张图片

改为:

 

你可能感兴趣的:(jmeter)