jmeter参数化-3、CSV Data Set Config

在使用JMeter的时候,往往需要参数化一些数据,常用到的就是CSV Data Set Config,一般使用.csv或者.dat或者.txt结尾的文件。

 

3.1字段解释

Filename:

填写测试数据的文件名。可以写绝对路径,注意复制文件路径后,需要把反斜杠“\”改为斜杠“/”。建议采用相对路径,避免脚本迁移时需要修改。和测试脚本在同一个目录中时,仅需要测试数据文件名称。

 

File encoding:

参数文件的编码格式。推荐选择 UTF-8,也可能为gbk、gb2312。

 

Variable Names:

对应参数文件每列的变量名。也是后续引用的标识符,建议采用有意义的英文标示,以英文逗号分隔,参考格式:aaa,bbb,ccc。

 

Ignore first line:

是否忽略首行,首行为字段名称时,选择True。

 

Delimiter:

参数文件分隔符。与参数文件中的分隔符保持一致即可。若数据文件中使用tab分隔,则此处填写“\t”。若仅第一行有分隔符,则后面行的第二个参数,默认使用第一行的第二个参数。不建议使用该方法,尽量保证每行的每一个参数都有值。

 

Allow quoted data:

是否允许引用数据。默认设置为 false。设置为true时,可以传递带英文双引号内的数据,例如”a”,传递的参数为去掉双引号之后的a。设置为true时,可以传递带英文单引号的数据,例如’a’,传递的参数为带单引号的’a’。设置为false时,带单双引号均会报错。

 

Recycle on EOF?:

是否循环读取参数文件内容。默认设置为 true。设置为 true 时,当已经读取完参数文件内的测试用例数据,还需要继续获取用例数据时,此时会循环读取参数文件数据;设置为 false 时,若已至文件末尾,则不再继续读取测试数据。通常在 线程组的线程数 * 线程组的循环次数 > 参数文件行数时,才需要将此项设置为 true。

 

Sop thread on EOF?:

当读取到参数文件末尾时,是否停止读取线程。默认为 false。当 Recycle on EOF?  设置为 true 时,此项不起任何作用。当且仅当 Recycle on EOF? 为 false 时,此项配置才生效。

若为 true,则在读取到参数文件行末尾时,终止参数文件读取线程。例如:线程组的线程数 * 线程组的循环次数 = 10,参数文件行数 = 7,那么将在第 8 次开始停止线程。

若为 false,此时线程会继续读取,但是会请求错误,因此时读取的数据为 EOF。以上同例,自第 8 次开始,线程的请求数据为 EOF。

是否循环

读取结束是否停止

结果

循环读取

读取到结束后,其余请求EOF

循环读取

仅读取到结束

 

 

Sharing mode:

共享模式,即参数文件变量作用域。前提是该配置原件位于测试计划下方,设置才会生效。该配置原件在线程组下方时,三个选项没有区别,均是依次使用每一行参数。

All threads默认:当前测试计划中的所有线程组中的所有的线程均有效。

Current thread group:当前的线程组中的线程有效

Current thread:当前线程有效。

 

下面通过一个例子介绍一下Sharing mode三种模式数据的取数策略;

测试计划结构:

测试计划

线程组A--线程1、线程2

线程组B--线程1、线程2

 

 

数据文件内容为:12345678

1)数据文件置于线程组A子节点

只有线程组A可以调用数据文件中的数据;,数据组B不可以调用数据文件中的数据;

2)数据文件置于和线程组A、线程组B同一级别节点

线程组A和线程组B都可以调用数据;

 

线程共享模式为:所有线程

所有线程执行1次,线程1-线程4的取数为:1234

所有线程执行2次,第一次取数为:1234,第二次取数为:5678

结论:线程共享模式为所有线程时,所有线程组共享同一个文件数据,同一次,每个线程的取数都不同;

 

线程共享模式为:当前线程组

所有线程执行1次,线程1-线程4的取数为:1122

所有线程执行2次,第一次取数为:1122,第二次取数为:3344

结论:线程共享模式为当前线程组时,当前线程组共享同一个文件数据,同一次,每个线程组中的不同线程取数相同;不同线程组中线程取数不同;

 

线程共享模式为:当前线程

所有线程执行1次,线程1-线程4的取数为:1111

所有线程执行2次,第一次取数为:1111,第二次取数为:2222

结论:线程共享模式为当前线程时,所有线程共享同一个文件数据,同一次,每个线程的取数都相同。

 

 

3.2实例操作

1、 准备一个txt的测试数据文件,并放到和脚本同级目录中。

 

2、 配置csv data set config

 

 

3、 添加一个http请求,并使用参数

 

 

 

4、 查看结果树

 

 

posted @ 2022-04-13 15:34  hushuer  阅读(547)  评论(0编辑  收藏  举报