我在尝试在JMeter 3.1中上传文件时遇到问题。 在HTTP请求中,我有一个POST请求,其中包含"用户multipart / form-data for POST"选项已选中。然后我设置了文件路径,参数名称和MIME类型,没有问题。
问题是该脚本正在使用JMeter 2.13,但在3.0或3.1上运行时它仍然失败。响应代码为200,但是在预期的文本上失败了#34;文件已成功上传"。
2.13和3.1之间的唯一区别是3.1在Conent-Type请求标题上添加了charset值(请参阅附加的屏幕截图)。
提前致谢!
答案 0 :(得分:1)
我的期望是你有不同的HTTP Client Implementations
HTTP请求 这有一个实现下拉框,它选择要使用的HTTP协议实现:
<强>爪哇强> 使用JVM提供的HTTP实现。与HttpClient实现相比,这有一些限制 - 见下文。
<强> HTTPClient3.1 强> (已废弃,自3.0起)使用Apache Commons HttpClient 3.1。这已不再开发,并且将在未来的JMeter版本中删除对此的支持。
<强> HTTPClient4 强> 使用Apache HttpComponents HttpClient 4.x。
空白值 不在HTTP采样器上设置实现,因此依赖于HTTP请求默认值(如果存在)或jmeter.properties中定义的jmeter.httpsampler属性
确保您对两个JMeter版本使用相同的内容,您将获得相同的行为。如果值为空,则可以在 jmeter.properties 和/或 user.properties 文件中检查jmeter.httpsampler
属性值。
您可以使用HTTP Request Defaults快速更改所有采样器的实施。