某些文件夹路径包含如下图像列表:
m405set1.jpg
m405set2.jpg
m405set3.jpg
m405set4.jpg
m405set5.jpg
我的要求是我想以下列格式读取第一个文件名上传图像文件:
<gettimeinmilliseconds>+imagename.jpg example 1451989954976m405set1.jpg
我如何能够实现这一目标,请帮助我
答案 0 :(得分:0)
如果只需要将当前时间戳添加到文件名,则可以使用__time()函数作为file参数的前缀。如果没有参数,该函数将返回自Unix epoch以来的当前时间(以毫秒为单位)。
如果您需要在上传之前更改文件名,则更棘手但仍然可行。
将以下代码放入预处理器&#34;脚本&#34;面积:
import org.apache.commons.io.FileUtils;
String newFileName = System.currentTimeMillis() + vars.get("oldFileName");
FileUtils.copyFile(new File("test.txt"),new File(newFileName));
vars.put("newFileName",newFileName);
它会将当前时间戳附加到${oldFileName}
变量中指定的文件(它可能来自ie CSV Data Set config并将结果值存储到${newFileName}
变量中,您可以在实际上传请求中使用该变量
您可以选择添加一个步骤来清理生成的临时文件,以防您在请求后不需要它。为此,请使用以下代码添加Beanshell PostProcessor:
String filename = vars.get("newFileName");
new File(filename).delete();
澄清:
vars
- 是JMeterVariables实例的简写,它提供对所有JMeter变量的读/写访问权有关在JMeter测试中使用Beanshell脚本的全面信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章。