2017-06-04 123 views
0

我试图从CSV文件名设置变量,特别是修改了最后一个日期的文件。 CSV文件基于我测试的数据,因此该文件将不断变化。我试过这段代码,但我似乎无法将它保存为变量。设置CSV文件名作为jmeter中的变量,基于修改日期

public static File getLatestFilefromDir(String dirPath) { 
File dir = new File(dirPath); 
File[] files = dir.listFiles(); 
if (files == null || files.length == 0) { 
    return null; 
} 

File lastModifiedFile = files[0]; 
for (int i = 1; i < files.length; i++) { 
    if (lastModifiedFile.lastModified() < files[i].lastModified()) { 
     lastModifiedFile = files[i]; 
    } 
} 
return lastModifiedFile; 
} 

    String fileName = lastModifiedFile; 

    vars.put("FILENAME", fileName); 

谢谢你的帮忙。

回答

1

我会建议使用以下Groovy代码来获取指定文件夹中的最新文件的名称,并将结果保存到FILENAME JMeter的变量:

vars.put("FILENAME", new File('/path/to/the/folder/with/CSV/files').listFiles()?.sort { -it.lastModified() }?.head().getName()) 

您可以使用此代码与任何JSR223 Test Elements

有关在JMeter测试中使用Groovy脚本的更多详细信息,请参阅Apache Groovy - Why and How You Should Use It文章。

+0

谢谢,成功了!绝对比我想要做的要简单得多。 –

0

为您的代码的修复程序转换文件在其名称

String fileName = getLatestFilefromDir("...").getName();