2017-06-04 125 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();