使用JMeter文件可以成功发送
配置:
输出(成功):
但是如果将文件名更改为变量则不起作用。 您将看到的图像文件路径设置为$ {logname},可以正确解析,但内容长度不正确。
将文件名更改为变量后,http将响应错误消息,说“java.io.FileNotFoundException:ulog_5b9139cf-5542-42dc-ae76-7fde3a61c67b_235152af-feb7-4249-a168-12ed4abb426c_0.log(系统不能找到指定的文件)“。
我认为不正确的内容长度导致服务器无法读取文件内容。是对的吗?怎么解决?谢谢。
配置: 输出(失败): 文件名已正确解析,但内容长度不正确:
答案 0 :(得分:1)
JMeter正在寻找它的Base Dir中的文件。
如果您查看 jmeter.log 文件,您会看到以下内容:
2014/03/05 15:52:37 INFO - jmeter.services.FileServer: Default base='/home/jmeter'
2014/03/05 15:52:37 INFO - jmeter.services.FileServer: Set new base='/home/jmeter'
这是JMeter期望文件所在的位置。
因此,您可以将${logname}
变量前缀完整路径添加到用户的桌面,例如
C:\Users\youruser\Desktop\${logname}
或者更改JMeter通过Beahshell Pre Processor查找文件的位置,如下所示:
import org.apache.jmeter.services.FileServer;
FileServer.getFileServer().setBaseDir("C:/Users/youruser/Desktop");
但请谨慎使用,因为它可能会对其他相对路径产生影响。