JMeter循环读取CSV文件实现接口批量测试

news/2024/11/24 5:04:08/

目录

前言:

1、添加线程组

2、添加HTTP信息头管理器

3、添加HTTP请求

4、添加察看结果树

5、添加循环控制器

6、在循环控制器下添加CSV配置文件

7、其他配置文件需要修改写入形式

8、执行CSV文件,查看结果


前言:

JMeter可以通过CSV数据文件来实现接口的批量测试。您可以将多个接口请求保存在CSV文件中,并使用JMeter的循环控制器来指定循环次数以及读取不同的CSV数据文件中的请求。

首先要理解为什么要进行批量测试,当我们在工作中进行接口测试时,项目的接口肯定不止一个,而是很多很多,而且每个接口都需要进行正确参数,错误参数,参数为空,特殊字符等方式来测试接口是否能够正确返回所需的响应值。

在编写脚本之前可以先汉化JMeter,找到JMeter解压/安装路径下的JMeter.properties,用编辑器打开(右键用记事本打开也可以):找到  #language=en  ,在下面添加:language=zh_CN 并重启JMeter

那么我们该如何通过JMeter来完成批量测试呢? 我们先建立一个较为简单的方式进行测试脚本观察一下。

以去获取创建订单时的【省/市/区信息】接口:api.test.XXXXXX.com/api/XXXX/XXXX/getAddress 请求方法:post 请求参数:type,code为例

1、添加线程组

测试计划右键选择添加——线程用户——线程组。

Setup线程组:用于执行预测试操作

tearDown:用于执行测试后操作

线程组:一般测试接口时添加的线程,可以把它看做一个虚拟的用户组,线程组中的每一个线程都可以理解为一个虚拟用户

2、添加HTTP信息头管理器

线程组右键选择添加——配置元件——HTTP信息头管理器

如果接口信息头定义了值的话,需要放到信息头管理器里面,例如:用户token,公共参数等。

3、添加HTTP请求

线程组右键添加——取样器——HTTP请求

协议:默认HTTP协议,可不填写,若为HTTPS协议需要填写HTTPS。

服务器名称或IP:填写接口域名

端口号:默认HTTPS请求的80,若为HTTPS请求需要填写443

方法:直接选择接口的请求方法:GET,POST,PUT,DELETE即可。

路径:填写接口的具体路径

参数:点击下方导航栏添加按钮,在已经添加的数据栏填写参数名,参数值。

4、添加察看结果树

线程组右键添加——监听器——察看结果树

左边:展示请求名,绿色请求结果表示请求成功,红色请求结果表示请求失败。

右边:展示请求值,包括取样器结果,请求头,请求体,响应头,响应体。

以上步骤能够确保接口正确的进行访问并返回对应的返回值。

完成以上步骤后,下一步就是要把上面步骤的所有的值以参数的形式传递给JMeter脚本,使我们能够以参数化的形式对接口进行批量测试。  

5、添加循环控制器

线程组右键添加——逻辑控制器——循环控制器,循环控制器添加后需要把【HTTP信息头管理器】【HTTP请求】移到【循环控制器下】

循环次数:运行脚本后循环控制器下的HTTP请求将执行的次数。例如:循环控制器的计数为1,则发送HTTP请求1次;计数为5,则发送HTTP请求5次。设置为永远则需要手动停止请求,否则不会停止请求。

6、在循环控制器下添加CSV配置文件

循环控制器右键添加——配置元件——CSV数据文件设置,CSV文件里面定义接口所需要动态取值的参数,例如:URL,路径,请求方法,接口参数等。

a)如何创建CSV文件?电脑桌面新建TXT文档,更名为:测试参数文档.CSV(TXT后缀需要变更为CSV),打开CSV文件新增数据。

b)文件内参数如何书写?第一行定义接口所需动态参数,自第二行起填写接口详细值。

caseSeq:定义接口序号

apiSeq:每个接口序列

         apiName:接口名称

         url:接口域名

         api:接口地址

         function:接口请求方法

         purpose:描述接口验证类型

         parameter:接口所需参数拼接,以:“code=500000&type=city”的形式,参数间以“&”连接

c)csv数据文件如何设置

文件名:点击浏览后选择本地的CSV文件

文件编码:一般情况下无需设置

变量名称:“caseSeq,apiSeq,apiName,url,api,function,purpose,parameter”,参数之间需要用英文的逗号隔开,注意参数不要写错。

忽略首行:True则不执行CSV文件的首行,False则执行CSV文件首行。

分隔符:英文逗号,无需变更

是否允许带引号:设置True和False以当前CSV文件都能正常执行

遇到文件结束符再次循环:True则在设置的循环次数内一直循环,False则CSV文件所有数据循环一次后就停止。

遇到文件结束符停止线程:True则在设置的循环次数内执行到CSV文件数据为空时停止发送HTTP请求,False则在设置的循环次数内执行到CSV文件数据为空时继续执行。

线程共享模式:选择所有现场即可

综上:本次CSV文件设置时:循环次数“永远”,忽略首行“True”,是否允许带引号“False”,遇到文件结束符再次循环“False”,遇到文件结束符停止线程“True”,线程共享模式“所有现场”

7、其他配置文件需要修改写入形式

HTTP信息头管理器:除必要参数外,添加:“Content-Type=application/x-www-form-urlencoded”,使用Json参数需要用到

HTTP请求:名称设置为:“${caseSeq}_${apiSeq}_${apiName}”动态取CSV文件里面配置的参数信息;IP:“${url}”;方法:“${function}”;路径:“${api}”,消息体数据:“${parameter}”消息体数据和参数只能设置一种,不能两种同时设置。

8、执行CSV文件,查看结果

可以看到左边能够很清晰的反应接口执行的信息,右边可以很明确的反应接口返回的数据。并且CSV文件内可以设置众多接口的不同验证方式,很方便且很适合日常工作使用。希望以上内容能给大家提供帮助,谢谢。

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步! 

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Yg3Y37fdTkAHAEyqD-gLuGbCI8UEiRA1&authKey=wJQ7hIhE9p%2FQDdwXXPjwolJnDMyBoIU%2FtVbTLbNFIvzIWoA7LZfVmSNccWx15jwG&noverify=0&group_code=574737577

 


http://www.ppmy.cn/news/384068.html

相关文章

OpenShift Virtualization - 从集群外部访问集群中的 VM(附视频)

《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在 OpenShift 4.12 的环境中验证 文章目录 方法1:通过 Service 的 NodePort 访问 VM方法2:通过外部 IP 访问 VM确认 OpenShift 集群环境为 Worker 节点添加 Linux Bridge创建使用 Li…

kubernetes和容器安全的7个关键特性

这里写自定义目录标题 **Linux容器部署中的eBPF****容器运行时威胁检测****锁定Kubernetes控制平面****统一控制平面和数据平面数据****开发人员友好的注册表扫描****揭示嵌入式秘密****NSA针对Kubernetes部署的加固检查** Uptycs结合了针对Kubernetes和容器运行时的威胁检测&a…

【mongoDB数据库基本操作】

mongoDB 基本命令使用 mongoDB数据库基本操作1、连接/创建数据库3、查看数据库4、删除数据库 表的基本操作1、创建表2、删除表3、查询表4、更新表删除表中的记录 mongoDB数据库基本操作 连接mongoDb服务器 进入到mongoDb安装目录 cd /data/mongodb/bin 使用./mongo连接到本…

scDesign3:多模态单细胞和空间组学数据生成

scDesign3是一个统计模拟器,通过从真实数据中学习可解释的参数,生成真实的单细胞和空间组学数据,包括各种细胞状态、实验设计和特征模态。使用单细胞和空间组学数据的统一概率模型,scDesign3可以推断出具有生物学意义的参数&#…

惠普HP Color Laser 150nw 打印机驱动

惠普HP Color Laser 150nw 打印机驱动是官方提供的一款打印机驱动,本站收集提供高速下载,用于解决打印机与电脑连接不了,无法正常使用的问题,本动适用于:Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作…

惠普HP Laser NS MFP 1005c 打印机驱动

惠普HP Laser NS MFP 1005c 打印机驱动是官方提供的一款打印机驱动,本站收集提供高速下载,用于解决打印机与电脑连接不了,无法正常使用的问题,本动适用于:Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作…

7-基于51单片机的金属探测器检测金属报警器设计(源程序+原理图+PCB+论文)全套资料

编号: 0007 本系统采用单片机1602液晶按键比较器蜂鸣器发光二极管组合而成。 按键说明: 加键、减键。单独一个按键为复位按键 1.单片机型号: STC89C52/51、AT89C52/51、AT89S52/51 可任选,程序通用2.产品自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(…

一文彻底搞懂 Softmax 函数,数学原理分析和 PyTorch 验证

文章目录 1. Softmax 的定义2. Softmax 使用 e 的幂次的作用2.1 代码验证2.2 数学原理分析 3. 解决 Softmax 的数值溢出问题3.1 什么是数值溢出?3.2 解决数值上溢问题: x i − m a x ( x ) x_i-max(x) xi​−max(x)3.3 解决数值下溢问题:log_…