前言:
今天扒拉函数助手时发现__StringFromFile函数有点复杂的赶脚,特此记录下学习历程,以便记忆。
__StringFromFile函数和配置元件CSV Data Set Config一样都是从文件中读取数据,不同在于其支持多输入文件,对于需要大量可变数据的测试很有用。
功能及要求:
- 文件格式必须为.dat;
- 文本内容按行读取,且以字符串类型输出;
- 文本内容是所有线程共享的,故不同线程读取不同行。
参数说明:

示例:
文件内容展示如下:


单文件读取:
场景1:读取test1文件,只设置filename和结果存放result选项。
预期结果为:循环读取test1文件(线程数*循环次数)次;
BeanShell Sampler ${__StringFromFile(C:\Users\aics-test\Desktop\test1.dat,reslut,,)}

线程属性设置:

测试结果:共循环读取test1文件8次(线程数2*循环次数4)。与预期结果一致。

场景2:读取test1文件,设置filename、结果存放result及End sequence number选项。
预期结果为:循环读取test1文件【(End sequence number)*文本行数】次;
BeanShell Sampler ${__StringFromFile(C:\Users\aics-test\Desktop\test1.dat,reslut,,2)}

线程属性设置:

测试结果:共循环读取test1文件6次(文本行数3*最终序列数2)。与预期结果一致。

多文件读取:
场景1:格式字符串的使用
语法格式:
- pin#'.'dat --- #号代表数字,
如:BeanShell Sampler ${__StringFromFile(C:\Users\aics-test\Desktop\test#'.'dat,reslut,1,2)},实际对应的是test1.dat和test2.dat文件; - pin000'.'dat --- 表示文本名称后的数字格式为000,当超过3位时,可根据实际显示;如:BeanShell Sampler ${__StringFromFile(C:\Users\aics-test\Desktop\test000'.'dat,reslut,1,9999)},实际对应的是test001.dat到test9999.dat文件;
- pin'.'dat# --- #号代表数字,
如:BeanShell Sampler ${__StringFromFile(C:\Users\aics-test\Desktop\test'.'dat#,reslut,1,2)},实际对应的是test.dat1和test.dat2文件;
BeanShell Sampler ${__StringFromFile(C:\Users\aics-test\Desktop\test#'.'dat,reslut,1,2)}

线程属性设置:

测试结果:共读取文本6行-------》min(【线程数*循环次数】,所有文本总行数)

浙公网安备 33010602011771号