我在文件夹中有Outlook消息文件(.msg)。我希望邮件阅读器采样器从文件夹中读取这些消息..
我可以复制文件路径并使用csv来读取这些消息,但消息ID是动态的,因此文件名会发生变化,因此我每次都要复制文件路径让邮件采样器读取这些消息......有没有替代地动态阅读这些消息。
我的测试计划
邮件阅读器采样器: 协议:文件 服务器:C:\ temp \ apache Jmeter \
apache Jmeter文件夹包含我的.msg文件
当我运行测试时,我收到了响应0消息。
答案 0 :(得分:1)
因此,您需要首先填充.msg文件列表(可以是动态的)并将它们发送到服务器。
关于第1点,我建议通过脚本获取文件列表。
假设遵循测试计划结构:
在“脚本”区域中添加以下代码:
File folder = new File("c:/temp/JMeter");
File [] files2send = folder.listFiles();
int counter = 1;
for (File file : files2send) {
if (file.getName().endsWith(".msg")){
vars.put("FILE_" + counter, file.getPath());
counter++;
}
}
这将保存文件,您将发送为JMeter变量,如:
FILE_1=c:\temp\JMeter\something.msg
FILE_2=c:\temp\JMeter\somethingmore.msg
FILE_3=c:\temp\JMeter\somethingelse.msg
您可以查看How to use BeanShell: JMeter's favorite built-in component指南,了解Beanshell测试元素和一种食谱的更多详细说明。
之后,您可以使用ForEach Controller来迭代文件并将其添加到您的请求中
将每个控制器添加为线程组的子级(与Beanshell采样器相同的级别
确保For Each Controller具有以下配置:
FILE
CURRENTFILE
为每个控制器添加SMTP采样器作为子级
要在HTTP请求的“附加文件”节中以${CURRENTFILE}
发送的文件