我希望我的Jmeter从一个位置读取多个csv文件,例如c:\ Jmeter \ file。
目前,如果我在'文件名'中提供特定的csv文件名。在CSV数据设置配置下,Jmeter识别文件和执行我的脚本。
我不想硬编码文件名,我希望jmeter从该位置自动读取。
我写过BeenShell PreProcessor(因为我找不到任何简单的解决方案),这个程序从位置读取列表中的所有csv文件并将它们存储在变量中。 ' VcsvFilename'
import java.io.File;
File folder = new File("C:\\Intel\\CsvFiles");
File[] listOfFiles = folder.listFiles();
String[] desiredNamesOfListOfFiles = new String[listOfFiles.length];
String strFileName;
int intCounter=0;
String count;
int idx = 0 ;
for (int i = 0; i < listOfFiles.length; i++) {
File file = listOfFiles[i];
if (file.isFile() && file.getName().endsWith(".csv")) {
/* do somthing with content */
System.out.println(" File Name is ~~~~~~~~~~~~~~~~~~ " + file.getName());
desiredNamesOfListOfFiles[idx++] = file.getName();
}
}
System.out.println(" Length of array is " + desiredNamesOfListOfFiles.length);
for(int j = 0 ; j < idx ; j++){
// System.out.println(" File name inside array is " + desiredNamesOfListOfFiles[j]);
// ;;vars.put("VcsvFilename",desiredNamesOfListOfFiles[j]);
strFileName = strFileName + ";" +desiredNamesOfListOfFiles[j];
intCounter++;
}
count=Integer.toString(intCounter);
vars.put("VcsvFilename",strFileName);
vars.put("FileCounter",count);
我无法在CSV数据配置下使用此变量。
有人有解决方法吗?
答案 0 :(得分:0)
CSV数据集配置在JMeter启动期间初始化,因此您将无法将JMeter变量用作文件路径的一部分。
可能的解决方法是:
两个函数都支持多个输入文件
答案 1 :(得分:0)
CSV DataSet无论如何都无法读取多个CSV文件。
它不能使用变量,只能使用属性。
你为什么要这样做?
如果仅合并它们,那么选项是使用setupThreadGroup将CSV合并为1个文件,您将在CSV数据集中使用此文件