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

Posted poloyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 个线程后,没有数据了,所以停止运行

以上是关于Jmeter系列(32)- 详解 CSV 数据文件设置的主要内容,如果未能解决你的问题,请参考以下文章

记一次jmeter添加多个csv文件导致的性能骤降

来自 csv 文件的 JMeter 和数据集

如何使用 jmeter 覆盖 csv 文件中的数据

jmeter-csv文件参数化

Jmeter-CSV数据文件设置

Jmeter-CSV数据文件设置