Jmeter系列(32)- 详解 CSV 数据文件设置
如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
了解一哈什么是 CSV 文件
- 为了实现简单的数据存储,是一个纯文本的文件
- 最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中
- CSV 文件可以用记事本、excel打开;用记事本打开的话,每一列数据都用逗号隔开
为什么要用 CSV 数据文件?
- 从外部导入测试数据,相当于数据参数化
- 通过从文件中导入大量的测试数据,来模拟大量真实用户发送并发请求
CSV 数据文件设置
CSV 数据文件设置界面介绍
字段含义
字段 | 含义 |
Filename | 文件名 |
File encoding | 文件编码 |
Variable Names |
|
Ignore first line |
|
Delimiter |
|
Allow quoted data? | 是否允许带引号 |
Recycle on EOF? | 遇到文件结束符EOF 后再次循环 |
Stop thread on EOF? | 遇到文件结束符EOF 后停止运行线程? |
Sharing mode | 线程共享模式 |
后续通过各种栗子来深入理解常用字段的含义
单个字段的栗子
csv 测试数据
这里用记事本方式当 CSV 数据文件,共有 10 条记录
线程组结构树
${num} 是计数器里面声明的变量,从 1 开始递增到 15
线程组属性
线程数和数据量一致,都是 15
csv 数据文件设置
运行结果
知识点
- 忽略首行 True:一般首行都是字段名字,比如栗子的 mobile,一般都需要忽略除非没有字段名
- 是否允许带引号 False:可以看到有引号的三条记录 8、9、10,都还是保留了引号
- 再次循环 True:csv 文件共有 10 条记录,但线程数有 15 个,循环 10 次后,重头开始循环;可以看到 11-15的手机号和1-5的手机号
- 停止线程 False:取了 10 次值之后就到了文件尾部,但并不会停止运行线程,后面会举个反例
多个字段的综合栗子
csv 测试数据
两个字段,共有 10 条记录,最后三条记录有分别有三种引号
csv 数据文件设置
线程组结构树和上面栗子差不多一样,线程数仍然 = 15
和第一个例子的配置项相反:不忽略首行,允许带引号,遇到文件结束符不再循环
运行结果
- 不忽略首行就会把首行的字段名都返回回来,如:1-mobile-age
- 数据有双引号 "" 时,会把双引号忽略掉, '' 单引号不算
- EOF 是文件结束符,没有开启再次循环时,会直接返回 EOF
开启遇到文件结束符停止线程
还是上个栗子的线程组,只是改了下配置项
运行结果
可以看到,线程数 = 15,但只有 10 条数据,当跑了 10 个线程后,没有数据了,所以停止运行