如何使用 JMeter 设置多部分边界
Posted
技术标签:
【中文标题】如何使用 JMeter 设置多部分边界【英文标题】:How can I set the multipart boundary with JMeter 【发布时间】:2017-09-25 02:07:40 【问题描述】:我正在使用本指南通过 JMeter 向服务器发送多部分 POST 请求:https://www.blazemeter.com/blog/testing-advanced-rest-api-file-uploads-jmeter
在这个请求中有几个部分,比如一个文件、一些字符串和 JSON。
问题是,尽管我在“内容类型”字段中指定了边界,但 JMeter 设置了它想要的任何内容,结果是服务器(Wildfly 10)正确拒绝了请求,并显示“RESTEASY007500:找不到内容处置”部分内的标题”。
这里是请求配置:
这里是生成的请求:
我设置了“jmeter_is_great”,但 JMeter 生成了一个随机边界。 有人有同样的问题吗?我是不是做错了什么?
谢谢
更新
我询问如何设置边界,因为在我的测试开始时,服务器抛出的第一个错误是“RESTEASY007550:无法获取多部分的边界”。 所以我添加了“内容类型”字段,它可以包含边界值,但这似乎不起作用。 一开始我并没有兴趣设置特定的边界。
现在,我找到了一个虽然没有指定边界但可以工作的配置,也许有人会发现它很有用:
【问题讨论】:
【参考方案1】:要验证您的服务器是否使用 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
确保您没有设置任何参数或文件上传。
【讨论】:
【参考方案2】:如果您要手动构建多部分请求,请确保在 HTTP 请求采样器下 未选中 Use multipart/form data for POST
框
假设已完成,您可以使用 HTTP Header Manager 设置自定义边界,例如:
【讨论】:
checked和unchecked都试过了,没啥区别以上是关于如何使用 JMeter 设置多部分边界的主要内容,如果未能解决你的问题,请参考以下文章