Jmeter 中使用 CSV Data Set Config 参数化不重复数据执行 N 遍
要求:
今天要测试上千条数据,且每条数据要求执行多次,(模拟多用户多次抽奖)
1.用户 id 有 175 个,且没有任何排序规则;
2.要求 175 个用户都去请求,每个用户执行 3 次;
(由于自己笔记本性能不佳,只能数量小举例,大家自行增加用户量和循环
次数)
设计:
我们通过 CSV Data Set Config,在记事本中先写好 175 个数据,然后直接
调用该文本;
然后在 http 请求中直接引用该值;
整个图见下:
一.准备 txt 文档
1.参数说明
在 txt 文档中写入要调用的数据,如果数据只有一列,就写一列,即:1 个
参数;
两列就是 2 个参数,三列就是 3 个参数,文档中参数之间都要用英文逗号分
隔;
(这里就以 1 个参数举例,如果以下描述不清楚,大家随时可留言,我回复)
2.txt 文档名字叫 gld.txt;里面的值见下:
二.启动 jmeter.bat 进入 jmeter 界面
1.添加线程组
右击“测试计划”-添加-Threads-线程组;
注:如果是英文 jmeter 可通过“选项”-选择语言-Chinese 更改;
2.添加并配置 CSV Data Set Config
(1)添加:
右击“线程组”-添加-配置元件-CSV Data Set Config;
(2)配置 CSV Data Set Config 参数信息
Filename:制定的文档路径和名字;可以右击文档-属性,找到文档的路径,
注意要写上文档名字和后缀;
File enconding:编码格式,如果 txt 文档中有中文,该行就要写入 utf-8;
Variable Names:定义参数;txt 文档中有几列就定义几个参数;参数见用英
文逗号隔开;直接写 wxid,在其他模块用的时候直接${wxid}调用即可;
Recycle on EOF:到了文件尾处,是否循环读取参数;
Stop thread on EOF:到了文件尾,是否停止线程;
(3)若:想把文档中所有数据读取一遍,且不重复,那么就要设置为:
Recycle on EOF:False;
Stop thread on EOF:True;
3.添加 http 请求并配置
(1)添加:右击“线程组”-添加-Sample-HTTP 请求;
(2)配置 http 请求
4.修改线程组配置
因为我们只写了一个 http 请求,所以点击运行只会运行一次,我们想把 txt
文档中所有行都执行一遍,所以我们要将线程数修改;目前 txt 中共 175 行,所
以线程组中线程数我们设置为 175;
5.监听结果:添加“查看结果树”和“聚合报告”
查看结果树:可以看到每个请求的执行成功失败;
聚合报告:可以看出总共执行数和失败情况等;
6.点击运行,查看结果
点击绿色箭头运行,查看结果
(1)在“查看结果树”中,可以看到参数请求的是那个值:
(2)在“聚合报告”可以看所有线程有没有执行完成
以上结果,只是让 txt 文档中数据全部执行了 1 遍,如果想执行多次,那么
我们就要让 http 请求重复执行了;
7.重复执行 http 请求
(1)添加循环控制器: