Jmeter学习:文件类函数
结果解释:
1、当线程迭代次数大于该文件内行数时,回循环重复读取文件内容
2、一个线程读取完毕,接下一个线程重新读取文件,可以理解为读取文件时数据是线程独立的。
1.2 多文件顺序读取
前提:这里准备了3个文件,依次取 test1.txt,test2.txt,test3.txt 三个文件,每个文件3行数据一共9行,文件内容如下:
1.2.1 情况一:采样迭代次数小于所有文件总行数
结果解释:
1、预设采样总迭代次数小于所有文件总行数,采样结果以迭代次数为准。
2、所有线程逐个迭代,一个线程迭代完成后,下一个线程继续迭代读取剩下的文件内容。
1.2.2 情况二:采样迭代次数大于所有文件总行数
结果解释:
1、预设采样总迭代次数大于所有文件总行数,采样结果以文件行数为准。
2、这里有9行,但实际读取结果为8行的原因是Jmeter自动将第一个文件的第一行忽略了,不影响测试结果。
3、印证了场景一结论第三条,线程一6次迭代完成后,线程二迭代开始并迭代剩下的2条数据,没有发生重复迭代。
结果解释:
1、当文件总行数小于线程总迭代次数时,以总行数为准
2、印证了场景一结论第三条,线程一20次迭代完成后,线程二迭代开始并迭代剩下的9条数据,没有发生重复迭代。
1.3.2 文件总行数大于线程总迭代次数
结果解释:
1、文件总行数大于线程总迭代次数时,以总迭代次数为准
2、印证了场景一结论第三条,线程一10次迭代完成后,线程二继续迭代直到迭代完成,没有发生重复迭代。
二、__StringToFile
通过循环控制器循环写入:
注意:如路径下不存在文件,文件将会被创建。
三、__FileToString
四、__CSVRead
结果解释:
采用${__CSVRead(wade/18.5/csv.txt,0)}${__CSVRead(wade/18.5/csv.txt,next)} 的方式实现自动获取下一行数据,搭配循环。