3 回答
TA贡献1818条经验 获得超3个赞
移动使用JSR223采样用下面的代码文件实用程序:
import org.apache.commons.io.FileUtils;
List<File> files = FileUtils.listFiles(new File("C:\\_private\\Files\\input"), null, true);
注意替换files.length为files.size():
for (int i=0; i < files.size(); i++) {
vars.put("file_" + i, files[i].getAbsolutePath());
}
TA贡献2065条经验 获得超13个赞
从 JMeter 3.1 开始,建议对任何形式的脚本编写使用 JSR223 测试元素和 Groovy 语言,主要是因为与其他脚本编写选项相比, Groovy 性能要好得多
Groovy 反过来提供File.eachFileRecurse()函数,这正是您要寻找的。
示例代码:
def index = 1
new File('c:/apps/jmeter/bin').eachFileRecurse(groovy.io.FileType.FILES) {
vars.put('file_' + index, it.getAbsolutePath())
index++
}
TA贡献2003条经验 获得超2个赞
您需要递归地执行此操作。您可以按照与文件相同的方式列出所有目录,然后递归调用您创建的函数。当您使用初始文件调用该函数时,它将遍历树结构并为您提供列表中的所有文件。要添加到列表中,请使用addAll.
def listFiles(File folder) {
... // Recursive function
}
添加回答
举报