jmeter 配置元件之CSV数据文件设置

目录

1、添加CSV 数据文件设置

2、CSV 数据文件设置页面参数详解

2.1、名称

2.2、文件名

2.3、文件编码

2.4、变量名称

2.5、忽略首行

2.6、分隔符

2.7、是否容许变量带引号

2.8、遇到文件结束符再次循环

2.9、遇到文件结束符停止线程

2.10、线程共享模式


1、添加CSV 数据文件设置

        添加的方式有两种:在测试计划中添加、在线程组中添加,根据添加的方式不同,其数据的作用域也随之发生改变,后续章节将详细说明。

jmeter 配置元件之CSV数据文件设置_第1张图片

2、CSV 数据文件设置页面参数详解

jmeter 配置元件之CSV数据文件设置_第2张图片

2.1、名称

        直白一点就是给添加的配置元件起个名字,顺便加上注释,以便管理与维护

2.2、文件名

        该参数为必填项,这里可以写绝对路径和相对路径,但最重要的是让程序能找到你填写的文件,绝对路径,保证路径正确即可,相对路径,相对于jmeter/bin目录,或者测试计划存放在的路径,比如存放在bin目录下直接写文件即可,例如test.csv,如果存放于与bin同级的目录,则写../test.csv,放在测试计划存放的目录与之同理。

2.3、文件编码

        该参数为非必填项,用于读取文件的编码,目前jmeter给出下拉框可供选UTF-8、UTF-16、ISO-8859-15、US-ASCII,另外也可以设置编码格式,不填写该参数,则使用操作系统的编码格式。

2.4、变量名称

        该参数为非必填项,默认为空,指定CSV数据对应的变量名,可以自定义,多个变量之间用逗号隔开,不填写,则系统会提取CSV文件的首行并解析为变量名

2.5、忽略首行

        该参数为非必填项,默认值为false,只有设置了变量名称时,该项才生效,当没有表头时选择false,有表头时,建议变量名称不填写,该项填写true,总结:判断首行是否是测试需要的数据,进而决定是否忽略首行。

2.6、分隔符

        该参数为必填项,一般选取西文逗号,判断该项填写的值最简单的办法为:用记事本打开csv文件,查看每行的数据分隔形式。

2.7、是否容许变量带引号

        该参数为非必填,默认值为false,当变量中含有引号字符并且又想用含有引号的变量名时,该选项完美的解决了这种需求,注意在变量引用时,也要加上引号(单引号和双引号)

2.8、遇到文件结束符再次循环

        该参数为必填项,取值为true或者false,即读取到csv文件的末尾,是否还需要循环读取csv文件。

2.9、遇到文件结束符停止线程

         该参数为必填项,取值为true或者false。即读取到csv文件的末尾,是否需要停止线程,当遇到文件结束符再次循环设置为True时,该项设置失效

        组合说明:

                1、遇到文件结束符再次循环 为True时,遇到文件结束符停止线程设置无效

                2、遇到文件结束符再次循环 为False时,遇到文件结束符停止线程设置为True,当线程数大于CSV实际数据量时(即数据行),遍历到CSV结尾即线程停止,反之,无影响

                3、遇到文件结束符再次循环 为False时,遇到文件结束符停止线程设置为False,即不会循环读取CSV数据且遇到文件结束符不会停止线程。当线程数大于CSV数据量时,虽然遇到文件结尾不会停止线程,但是数据已经读取完毕,剩余的线程将读取不到数据,系统会随机分配莫名其妙的值,而导致测试失败。

2.10、线程共享模式

         该参数为必填项 ,默认值为所有线程,可选参数所有线程、当前线程组 、当前线程。

结合第一章 添加CSV 数据文件设置元件说明,由于添加的位置不同,作用阈也不同。

前提:两个线程组A、B,A线程组中含有两个线程1,2,B线程组中含有两个线程1,2,csv数据为

jmeter 配置元件之CSV数据文件设置_第3张图片

假定请求含有两个参数。且参数配置正确。

场景1、在测试计划中添加CSV 数据文件设置元件

        作用阈为整个测试计划,即包括所有线程组。

        1、线程共享模式选择所有线程

                循环1次结果;1&101  2&102  3&103  4&104

                循环2次结果;1&101  2&102  3&103  4&104  5&105  6&106  1&101  2&102

                总结:即每一个线程按顺序获取每行csv数据,

        2、线程共享模式选择当前线程组

               循环1次结果;1&101  1&101  2&102  2&102 

               循环2次结果;1&101  1&101  2&102  2&102   3&103  3&103  4&104  4&104  

                总结: 即每个线程组内的线程按顺序获取每行数据,线程组之间互不影响

        3、线程共享模式选择当前线程

               循环1次结果;1&101  1&101  1&101  1&101

               循环2次结果;1&101  1&101  1&101  1&101  2&102  2&102   2&102  2&102  

                总结: 即每个线程按顺序获取每行数据,线程与线程之间互不影响,即线程间独立获取数据,对于A-1线程,循环一次取1&101,循环第二次时,获取2&102

场景2、在各线程组中添加CSV 数据文件设置元件

        在线程组内添加的CSV 数据文件设置元件仅会对该线程组生效,所以模式选择当前线程组和所有线程都是一样的效果,当选择当前线程时,该线程组内的线程相互独立,取值互不干扰,举例如下,仅对于线程组A来说:

        循环1次结果;1&101  1&101 

        循环2次结果;1&101  1&101  2&102  2&102 

 

 

 

 

你可能感兴趣的:(jmeter)