目录
1、添加CSV 数据文件设置
2、CSV 数据文件设置页面参数详解
2.1、名称
2.2、文件名
2.3、文件编码
2.4、变量名称
2.5、忽略首行
2.6、分隔符
2.7、是否容许变量带引号
2.8、遇到文件结束符再次循环
2.9、遇到文件结束符停止线程
2.10、线程共享模式
添加的方式有两种:在测试计划中添加、在线程组中添加,根据添加的方式不同,其数据的作用域也随之发生改变,后续章节将详细说明。
直白一点就是给添加的配置元件起个名字,顺便加上注释,以便管理与维护
该参数为必填项,这里可以写绝对路径和相对路径,但最重要的是让程序能找到你填写的文件,绝对路径,保证路径正确即可,相对路径,相对于jmeter/bin目录,或者测试计划存放在的路径,比如存放在bin目录下直接写文件即可,例如test.csv,如果存放于与bin同级的目录,则写../test.csv,放在测试计划存放的目录与之同理。
该参数为非必填项,用于读取文件的编码,目前jmeter给出下拉框可供选UTF-8、UTF-16、ISO-8859-15、US-ASCII,另外也可以设置编码格式,不填写该参数,则使用操作系统的编码格式。
该参数为非必填项,默认为空,指定CSV数据对应的变量名,可以自定义,多个变量之间用逗号隔开,不填写,则系统会提取CSV文件的首行并解析为变量名
该参数为非必填项,默认值为false,只有设置了变量名称时,该项才生效,当没有表头时选择false,有表头时,建议变量名称不填写,该项填写true,总结:判断首行是否是测试需要的数据,进而决定是否忽略首行。
该参数为必填项,一般选取西文逗号,判断该项填写的值最简单的办法为:用记事本打开csv文件,查看每行的数据分隔形式。
该参数为非必填,默认值为false,当变量中含有引号字符并且又想用含有引号的变量名时,该选项完美的解决了这种需求,注意在变量引用时,也要加上引号(单引号和双引号)
该参数为必填项,取值为true或者false,即读取到csv文件的末尾,是否还需要循环读取csv文件。
该参数为必填项,取值为true或者false。即读取到csv文件的末尾,是否需要停止线程,当遇到文件结束符再次循环设置为True时,该项设置失效
组合说明:
1、遇到文件结束符再次循环 为True时,遇到文件结束符停止线程设置无效
2、遇到文件结束符再次循环 为False时,遇到文件结束符停止线程设置为True,当线程数大于CSV实际数据量时(即数据行),遍历到CSV结尾即线程停止,反之,无影响
3、遇到文件结束符再次循环 为False时,遇到文件结束符停止线程设置为False,即不会循环读取CSV数据且遇到文件结束符不会停止线程。当线程数大于CSV数据量时,虽然遇到文件结尾不会停止线程,但是数据已经读取完毕,剩余的线程将读取不到数据,系统会随机分配莫名其妙的值,而导致测试失败。
该参数为必填项 ,默认值为所有线程,可选参数所有线程、当前线程组 、当前线程。
结合第一章 添加CSV 数据文件设置元件说明,由于添加的位置不同,作用阈也不同。
前提:两个线程组A、B,A线程组中含有两个线程1,2,B线程组中含有两个线程1,2,csv数据为
假定请求含有两个参数。且参数配置正确。
场景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