文件参数化,除了CSVRead函数读取文件方式外,还有一种 CSV参数化文件设置;
CSV 数据文件设置:线程组---右键添加---配置元件 ---CSV Data Set Config;
假如:本地txt、csv文件中内容,有两行,准备将此两行数据读到jmeter中; 注意:txt文件 ,一行两值之间 的, 必须是英文的。
jmeter 中添加 csv参数化文件设置后;
适用场景:一个线程,读取 文件中所有数据;
文件名:本地文件路径+文件名
变量名称:读取几个变量,设置变量名 name,password, 在jmeter 脚本中使用时 用 ${name}, ${password}。好
忽略首行:文件中不输入标题,false不必忽略; 文件中有标题,设置成true,读取时需要忽略;
分隔符:文件中无特殊字符,可以使用英文逗号; 有金额那种本身自己就有特殊字符,不能使用英文逗号来分割的,可以用\t, 即键盘的tab键,多空格 一般数据中肯定没有;
是否允许带引号:文件中放的数据是否有引号;
遇到文件结束符再次循环: 即文件从头读到尾,读到文件最后时是否再回 ,文件头------重新读取;
遇到文件结束符停止线程;读到文件最后后,线程停不停;
遇到文件结束符是否再次循环:假如我把你文件中的数据用完了,还能从第一行再次读取数据吗; 默认true,是允许的。
默认情况是:将文件中的数据读取完了,再去从头读取数据。
遇到文件结束符停止线程:False, 文件从头读到尾,要停止线程不。
遇到文件结束符再次循环:True 遇到文件结束符停止线程:False
这两个是相反的,一个true,一个就是false;
第一个true,第二个false:文件读到尾后,再次去开头进行读取,不停止线程,再去文件头重新读取; 会重复读取文件中数据;
第一个false,第二个true:文件读到尾后,不再次循环,停止线程;意思是去文件中读取,从头读到尾后,停止线程,不再次循环--不再次去文件头 重新读取数据。
遇到文件结束符是否再次循环:true & 遇到文件结束符停止线程:False 文件中参数 是重复读取;
遇到文件结束符是否再次循环:false & 遇到文件结束符停止线程:true 文件中参数是 唯一读取; 比如说 支付的时候订单号、登录接口的用户名、密码--这都是文件中数据只能读取一次。
文件中乱码问题:一般是亚洲的中国、韩国、日本这些国家,语言使用键盘上字母无法拼出来的; 都不是字母组成的,需要拼音拼成文字来转换。
文件数据是怎么读取的呢;
选择:允许循环 & 不停止线程
线程1,循环4次: 运行,接口调用文件中4组数据; 哪怕只有一个线程,只要循环了,就会去读取文件下一数据。
线程1,循环5次,运行,接口调用文件中4组数据,再去头,重新读取第1组数据;
线程2,循环2次,运行,接口依次调用文件中4组数据; 不关心 哪个用户,只要有人来读取,就给下一行,只要有人来读取,就给下一行,按照循环来读取的。
选择:不允许循环 & 停止线程 文件中只 4组数据
线程2,循环3次,运行,接口只调用4次,调4组数据,就停止了,不再次调用了;
场景二: 比如生成的随机数 33 ,然后接口A中需要用,接口B也需要使用;如果保证两次随机生成的数据是一样的呢;
随机函数中 有存储结果的变量名: 附上值 。 这样生成的变量,存储到此变量名,第一个接口使用,正常使用生成的函数;
其他接口使用时,用此变量名 ${rdmnum},就可以 保证数据 使用的是同一数据。