JMeter上传文件 点选form-data依旧失败的解决方法

时间:2024-10-17 18:07:38

转子:https://blog.****.net/xingyunpi/article/details/77930476

这几天一直在调用JMeter上传文件的一个接口,一直出错,在网上找到一些文章说的注意事项也都注意到了,还是失败,最后终于找到了原因.

1. JMeter在写API的case时,经常会用到全局性header manager, 即 HTTP Header Manager. 这个我在Thread Group下设置了一个content-type=application/json.

2. Thread Group下的HTTP request里,本打算添加一个新的HTTP Header Manager可以覆盖全局的content-type, 然后再设置成form-data就可以了,后来发现,并不是覆盖的关系,而是添加关系.所以一直会报空指针错误,因为文件找到了但是没有被传上去.

3. 在上传文件的HTTP request sampler下,加一个BeanShell PreProcessor, 将全局的content-type remove掉,就可以了. 脚本:

sampler.getHeaderManager().removeHeaderNamed("Content-Type"); 

4. 如果接下来的case还想再加回content-type=application/json, BeanShell里面代码:

import org.apache.jmeter.protocol.http.control.Header;

sampler.getHeaderManager().add(new Header("Content-Type","application/json"));

JMeter上传文件 点选form-data依旧失败的解决方法

application/vnd.ms-excel