jmeter学习—003——使用CSV Data Set Config参数化数据不重复的多次循环执行(实现多用户多笔投资不同项目功能)

本文介绍如何使用JMeter进行批量测试,包括设置CSV数据集、HTTP请求、循环控制器等,实现多用户对多个项目标的进行多次投资的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:

需要测试上千条数据(也可以说造上千条数据),且每条数据要求执行多次,(模拟多用户多次投资不同项目标的)

1.用户id有20个,且没有任何排序规则;

2.要求20个用户都去请求6个不同项目标的,每个用户执行100次;

(由于自己电脑性能不佳,只能数量小举例,大家自行增加用户量和循环次数)

设计:

我们通过CSV Data Set Config,在记事本中先写好100条数据,然后直接调用该文本;

然后在http请求中直接引用该值;


没有太多数据,我使用少量数据举例说明以上情况如何设计测试计划:

模拟3个用户id,每个用户投资不同项目标的100笔

一.准备txt文档

investCgt.txt;里面的值如下:

依次对应CSV Data Set Config中Variable names:



二.启动jmeter.bat进入jmeter界面,设计好的脚本如下:



1.添加并配置的CSV Data Set Config

(1)添加:

右击“线程组”-添加-配置元件-CSV Data Set Config;

(2)配置CSV Data SetConfig参数信息


Filename:制定的文档路径和名字;可以右击文档-属性,找到文档的路径,注意要写上文档名字和后缀;

File enconding:编码格式,如果txt文档中有中文,该行就要写入utf-8;

Variable Names:定义参数;txt文档中有几列就定义几个参数;参数见用英文逗号隔开或 | 隔开;

Recycle on EOF:到了文件尾处,是否循环读取参数;

Stop thread on EOF:到了文件尾,是否停止线程;

(3)若:想把文档中所有数据读取一遍,且不重复,那么就要设置为:

Recycle on EOF:False;

Stop thread on EOF:True;

3.添加http请求或java请求,我这里用的是java请求并配置如下:





4.修改线程组配置

方案1:存在并发量问题:如果数据量大的情况下,接口性能不允许或处理多进程方式问题等,会出现掉单的情况(也就是请求失败)。缺点:不能保证全部成功。。

当我们只写了一个java请求,点击运行只会运行一次,我们想把txt文档中所有行都执行一遍,所以我们要将线程数修改;目前txt中共3行,所以线程组中线程数我们设置为3。


方案2:不存在并发量问题:单个线程请求-响应结束后,再请求下一条数据,依次进行。。。。。 优点:保证全部请求成功(除外部干扰外)

线程数设置为1,java请求-响应1条数据。目前txt中共3行,要想把txt文档中所有行都执行一遍,则要设置循环次数为3,才可以全部执行一遍。


5.监听结果:添加“查看结果树”和“聚合报告”

查看结果树:可以看到每个请求的执行成功失败;

聚合报告:可以看出总共执行数和失败情况等;


6.点击运行,查看结果

点击绿色箭头运行,查看结果

(1)在“查看结果树”中,可以看到参数请求的是那个值:


特别注意的是:

java请求结果树的响应数据应该在黑屏中查看(也就是启动jmeter.bat出现两个弹框:一个是GUI模式的,一个就是黑屏),在监听器-结果树相应数据是看不到的。

(2)在“聚合报告”可以看所有线程有没有执行完成


以上结果,只是让txt文档中数据全部执行了1遍,如果想执行多次,那么我们就要让http请求重复执行了;

7.重复执行http请求机票java请求

(1)添加循环控制器:

右击http请求-插入上级-逻辑控制器-循环控制器;

(2)配置循环次数


8.再次查看运行结果:

一共3条数据*100=300条记录;


到此我们就完成了,多用户多次投资的功能;

多用户就是txt文档中多行数据,多次投资就是单个请求循环100次,如果投多次就修改循环控制器次数即可,如果投资不同项目标的,就修改txt文件的loanid(项目id)参数值然后再按以上步骤再操作一遍即可(有6个不同项目标的,就修改6次txtx文件。)。



为了在JMeter实现重复多用户抽奖测试,我们可以通过精心配置CSV Data Set Config (CSVDC)参数化用户ID,并配合线程组与HTTP请求的相关设置来模拟多用户行为。首先,我们需要准备好CSV文件,确保每个用户ID占据一行,并使用英文逗号作为分隔符。文件的编码应使用utf-8以兼容中文字符。接下来,在JMeter中创建一个新的测试计划,并添加一个线程组用于模拟多用户操作。 参考资源链接:[JMeterCSV Data Set Config实现重复多用户抽奖测试](https://wenku.youkuaiyun.com/doc/6412b7a7be7fbd1778d4b10b?spm=1055.2569.3001.10343)CSV Data Set Config配置方面,我们需要正确填写文件路径和名称,设置合适的文件编码(例如UTF-8),定义变量名来引用CSV文件中的列数据,以及配置循环和线程停止的选项。具体来说,Recycle on EOF选项应设为False,以防止数据重复取;Stop Thread on EOF选项设为True,则可在到达文件末尾时停止当前线程,避免无限循环。 在HTTP请求的配置上,我们需确保请求能够接收并使用CSVDC中的用户ID参数。这需要在线程组内添加一个HTTP Request,并在其中设置适当的URL和参数。通过引用CSVDC中定义的变量名(如${wxid}),可以将用户ID动态插入到HTTP请求中。 最后,通过调整线程组的参数(如线程数、循环次数和启动延迟),可以模拟不同规模的用户群体进行抽奖测试。例如,设置循环次数为175 * 3,意味着每个用户将执行3次抽奖操作。同时,应确保线程组配置足够大以处理这些并发请求。 通过上述步骤,我们便可以在JMeter中模拟无重复多用户抽奖测试的场景,从而验证抽奖接口在面对并发请求时的表现。为了解决实际中可能遇到的问题,建议深入研究《JMeterCSV Data Set Config实现重复多用户抽奖测试》这份资料,它将为你提供详细的项目实战指导,帮助你在性能测试方面更进一步。 参考资源链接:[JMeterCSV Data Set Config实现重复多用户抽奖测试](https://wenku.youkuaiyun.com/doc/6412b7a7be7fbd1778d4b10b?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值