Jmeter系列(32)- 详解 CSV 数据文件设置

如果你想从头学习Jmeter,可以看看这个系列的文章哦

https://www.cnblogs.com/poloyy/category/1746599.html

了解一哈什么是 CSV 文件

  • 为了实现简单的数据存储,是一个纯文本的文件
  • 最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中
  • CSV 文件可以用记事本、excel打开;用记事本打开的话,每一列数据都用逗号隔开

为什么要用 CSV 数据文件?

  • 从外部导入测试数据,相当于数据参数化
  • 通过从文件中导入大量的测试数据,来模拟大量真实用户发送并发请求

CSV 数据文件设置

Jmeter系列(32)- 详解 CSV 数据文件设置

CSV 数据文件设置界面介绍

Jmeter系列(32)- 详解 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 测试数据

Jmeter系列(32)- 详解 CSV 数据文件设置

这里用记事本方式当 CSV 数据文件,共有 10 条记录

线程组结构树

Jmeter系列(32)- 详解 CSV 数据文件设置

${num} 是计数器里面声明的变量,从 1 开始递增到 15

线程组属性

Jmeter系列(32)- 详解 CSV 数据文件设置

线程数和数据量一致,都是 15

csv 数据文件设置

Jmeter系列(32)- 详解 CSV 数据文件设置

运行结果

Jmeter系列(32)- 详解 CSV 数据文件设置

知识点

  • 忽略首行 True:一般首行都是字段名字,比如栗子的 mobile,一般都需要忽略除非没有字段名
  • 是否允许带引号 False:可以看到有引号的三条记录 8、9、10,都还是保留了引号
  • 再次循环 True:csv 文件共有 10 条记录,但线程数有 15 个,循环 10 次后,重头开始循环;可以看到 11-15的手机号和1-5的手机号
  • 停止线程 False:取了 10 次值之后就到了文件尾部,但并不会停止运行线程,后面会举个反例

多个字段的综合栗子

csv 测试数据

Jmeter系列(32)- 详解 CSV 数据文件设置

两个字段,共有 10 条记录,最后三条记录有分别有三种引号

csv 数据文件设置

线程组结构树和上面栗子差不多一样,线程数仍然 = 15

Jmeter系列(32)- 详解 CSV 数据文件设置

和第一个例子的配置项相反:不忽略首行,允许带引号,遇到文件结束符不再循环

运行结果

Jmeter系列(32)- 详解 CSV 数据文件设置

  • 不忽略首行就会把首行的字段名都返回回来,如:1-mobile-age
  • 数据有双引号 "" 时,会把双引号忽略掉, ‘‘ 单引号不算
  • EOF 是文件结束符,没有开启再次循环时,会直接返回 EOF

开启遇到文件结束符停止线程

还是上个栗子的线程组,只是改了下配置项

Jmeter系列(32)- 详解 CSV 数据文件设置

运行结果

Jmeter系列(32)- 详解 CSV 数据文件设置

可以看到,线程数 = 15,但只有 10 条数据,当跑了 10 个线程后,没有数据了,所以停止运行

相关推荐