jmeter中对接口进行循环请求后获取相应数据

1、工作中遇到一个场景就是对某个单一接口进行循环请求,并需要获取每次请求后返回的相应数据;

2、首先就在jmeter对接口相关组件进行配置,需要组件有:循环控制器、CSV数据文件设置、计数器、访问接口、HTTP信息头管理器、正则表达式提取器;BeanShell取样器;这些组件排列方式如图所示:

3、循环控制器:其它组件都在循环控制器下,需要循环访问多少次就配置多少次循环

4、CSV数据文件设置:是用于循环访问接口中从配置文件提取参数时用到的配置组件,文件名:参数文件路径;文件编码:如果有中文则需要选择:UTF-8;变量名:如果是一个参数就输入一个变量名称,如:userID,两个就输入两个名称;如:user,pass 其它配置默认即可。

引用文件配置如下:两种方式手动在txt文件编辑,两个引用tab页隔开,或者通过excel表格配置好后复制过来。不要有空白行。

5、计数器:用于接口访问时给接口编号。Starting value:初始值。递增:每次增加多少个;引用名称:设置引用变量:num

6、除BeanShell取样器是在循环控制器下且放在最后一个,其它的组件就是在访问接口下级进行配置了,信息头管理器的配置不赘述了,该接口下的正则表达式是用来提取接口返回的响应数据配置如下:

引用名称:result{num} 后面BeanShell取样器中响应数据写入文件时需要引用的参数,{num}是计数器,每次循环加1,在BeanShell取样器中,需要用函数来存储和传递${num},不能直接引用

正则表达式:(.+) 表示提取全部相应响应数据

7、BeanShell取样器,着重需要配置该取样器,其位置是处于循环控制器的下级,并在访问接口组件的下方如图所示:

脚本内容:

复制代码
//指定需要写入到哪个文件,格式:TXT,csv
 
FileWriter file = new FileWriter("D:\\Program Files\\apache-jmeter-5.1.1\\bin\\WedoJB\\text.txt",true);
 
//创建一个字符缓存输出流
 
BufferedWriter out = new BufferedWriter(file);
 
//写入文件内容
 
//vars.get:获取 jmeter 中的变量值
 
//将计数器组件参数 num 通过vars.get函数传递给字符串 count
 String count=vars.get("num");

//通过Integer.parseInt函数将字符串count类型转化为int类型并赋值给countNum
 int countNum=Integer.parseInt(count);
 
//"接口"+countNum+":写入文件每一行记录接口循环数
//vars.get("result"+countNum):引用正则表达式组件中的参数,countNum对应${num}
//\r\n\r\n   表示两次回车换行。
out.write("接口"+countNum+":\r\n"+vars.get("result"+countNum)+"\r\n\r\n");

 
 
//关闭写数据流
 
out.close();
 
//关闭文件
file.close();

配置完成后,写入文件格式如下:

相关推荐
weixin_419658311 天前
JMeter性能测试
jmeter
爱学习的执念2 天前
高频Jmeter软件测试面试题
jmeter
小小测试开发2 天前
JMeter插件用法全解析:扩展自动化测试能力的实用指南
jmeter
卓码软件测评3 天前
第三方软件测评机构:【Gatling与JMeter的架构对比:异步与非阻塞I/O模型如何实现更高并发】
测试工具·jmeter·架构·测试用例·负载均衡·压力测试
小小测试开发3 天前
JMeter XPath2 Extractor用法全解析:精准提取XML/HTML响应数据
xml·jmeter·html
安然无虞3 天前
JMeter性能测试工具·下
开发语言·测试工具·jmeter
程序员三藏3 天前
Jmeter自动化测试
自动化测试·软件测试·python·测试工具·jmeter·测试用例·接口测试
小小测试开发3 天前
JSR223后置处理程序用法详解:JMeter复杂响应处理的终极方案
jmeter
小小测试开发4 天前
JMeter XPath提取器用法详解:XML/HTML响应数据提取神器
xml·jmeter·html
weixin_440730506 天前
jmeter请求头和参数总结
jmeter