当前位置: 首页 > article >正文

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();

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


http://www.kler.cn/a/516086.html

相关文章:

  • 电子应用设计方案103:智能家庭AI浴缸系统设计
  • doris:Broker Load
  • Ansys Motor-CAD:IPM 电机实验室 - 扭矩速度曲线
  • Spark Streaming的核心功能及其示例PySpark代码
  • SpringBoot项目中的异常处理
  • C++ 在2D与3D游戏的开发库
  • 智能工厂数字化化集成落地项目(交付版 67页)PPT 解读
  • K8S 快速实战
  • 【ARTS】【LeetCode-704】二分查找算法
  • 洛谷刷题1-3
  • Java如何实现反转义
  • 【Ubuntu】安装SSH启用远程连接
  • UE 像素流Pixel Streaming笔记
  • 五种高频设计模式及其在 Spring 中的应用揭秘
  • Git克隆 提示证书验证失败解决
  • Python OrderedDict 实现 Least Recently used(LRU)缓存
  • 【易康eCognition实验教程】002:创建工作空间、工程
  • 分布式光纤应变监测是一种高精度、分布式的监测技术
  • element tbas增加下拉框
  • Windows Server 虚拟化环境中SR-IOV网络I/O增强功能
  • HTML5 常用事件详解
  • JavaScript图像处理,常用图像边缘检测算法简单介绍说明
  • 51 单片机矩阵键盘密码锁:原理、实现与应用
  • 微信小程序中实现进入页面时数字跳动效果(自定义animate-numbers组件)
  • 前后端交互过程
  • mysql my.ini 配置参数结束