我正在使用本指南将多部分POST请求发送到具有JMeter:https://www.blazemeter.com/blog/testing-advanced-rest-api-file-uploads-jmeter的服务器
在这个请求中有几个部分,如文件,一些字符串和JSON。
问题是,虽然我在“内容类型”字段中指定了边界,但JMeter设置了它想要的任何内容,结果是服务器(Wildfly 10)使用“RESTEASY007500:在部分内找不到Content-Disposition标头”正确拒绝请求”。
这里请求配置:
这里生成的请求:
我设置“jmeter_is_great”,但JMeter生成随机边界。有人有同样的问题吗?难道我做错了什么?
谢谢
UPDATE
我问如何设置边界,因为在我的测试开始时,服务器抛出的第一个错误是“RESTEASY007550:无法获得多部分的边界”。所以我添加了“内容类型”字段,它可以包含边界值,但这似乎不起作用。我真的不想在开始时设置一个特定的边界。
现在,我找到了一个可以工作的配置,虽然没有指定边界,也许有人可以发现它很有用:
如果要手动构建多部分请求,请确保未在HTTP请求采样器下检查Use multipart/form data for POST
框
假设已完成,您可以使用HTTP Header Manager设置自定义边界,如:
要验证您的服务器是否使用JMeter处理无效边界,请在HTTP请求中取消单击use mulitpart/form-data
,使用HTTP Header Manager
设置Content-type: multipart/form-data
,然后在Body Data
中添加以下内容:
--pZbVxWMEYBsPH
Content-Disposition: form-data; name="linkImage"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
true
--pZbVxWMEYBsPHPpbDCQQBUaAhIlYw0H
Content-Disposition: form-data; name="file"; filename="Small.png"
Content-Type: image/png
Content-Transfer-Encoding: binary
确保您没有任何参数或文件上载集。