Jmeter函数助手之CSVRead
一、函数助手调用
启动jmeter界面后,可以在JMeter的选项菜单中找到函数助手对话框(快捷键:Ctrl+Shift+F1),如下图所示:
打开函数助手后,可从下拉列表中选择需要的函数,并为其参数设定值,不同的函数要求的参数也不同。
函数参数,第一列是名称,这是函数参数的简要描述,第二列是值,这是需要用户填充参数的值。
二、CSVRead函数
1、界面说明
这个函数的功能就是从CSV文件读取一个字符串。
当对某文件进行第一次读取时,文件将被打开并读取到一个内部数组中;如果在读取过程中找到了空行,函数就认为到达文件末尾了,后续所有对同一个文件名的引用,都使用相同的内部数组。用人话说,就是单用户(线程)读取CSV文件时,每次都是使用的同一个内部数组,也就是每次读取的都是同一个字符串。
每一个线程都有独立的内部指针指向文件数组中的当前行;当某个线程第一次引用文件时,函数会为线程在数组中分配下一个空闲行。如此一来,任何一个线程访问的文件行,都与其他线程不同(除非线程数大于数组包含的行数)。用人话说,就是多用户(线程)读取CSV文件时,每次都是使用不同的内部数组,也就是每次读取的是不同字符串。
默认下,函数会在遇到每一个逗号处断行;如果希望在输入列中使用逗号,那么需要换一个分隔符(设置属性csvread.delimiter实现),且该符号没有在CSV文件任何列中出现。
注意:文件名大小写对函数调用很重要,哪怕操作系统不区分大小写,CSVRead(test.csv,0)和CSVRead(Test.csv,0)
参数说明:
-
第一个参数
- CSV file to get values from | *alias:这里填写CSV文件的路径
-
第二个参数
- Column number of CSV file | next | *alias:取CSV文件里的第几列数据(默认是从0开始计算,填0代表的是CSV文件中的第1列数据)
2、函数使用
-
创建一个csv文件:数据为两列,没有标题
-
单用户(线程)多次循环执行时,每次CSVRead读取的都是第一个字符串
-
多用户(线程)多次循环执行时,每次CSVRead读取的都是不同的字符串
-
多用户(线程)多次循环执行时,每次CSVRead读取的都是不同的字符串,读取出CSV文件中的所有字符串