我有一个我构建的多部分请求。请求的每个部分都是一个jsonString体,它有一组用于整个请求的头文件,还有一些用于单个multiaprts。
我可以使用jMeter的'带参数发送参数'来为jsonStrings添加Name-value,但是我不能在每个部分中指定标题。 我可以为整个请求指定一个标题管理器,但是也可以为每个多部分指定它吗?
此外,在指定要上传的内容时,我有一个文件,其内容被JSR223采样器压缩并编码为字节,我希望将其与请求一起发送。
答案 0 :(得分:8)
您可以手动构建请求,只需执行以下步骤:
Use multipart/form-data for HTTP POST
框
Content-Type
标头,其值为multipart/form-data; boundary=your_custom_boundary
切换到HTTP请求采样器的“正文数据”选项卡,并构建您的请求正文,用
分隔每个参数集--your_custom_boundary
请参阅Testing REST API File Uploads in JMeter指南,了解更详细的解释和演示。
答案 1 :(得分:1)
对于那些努力使用JMeter创建多部分表单数据的人。这是我的一个有效示例(尝试复制粘贴我的代码):
Use multipart-form-data
Body data
:--AaB03x
content-disposition: form-data; name="name"
My name is James
--AaB03x
content-disposition: form-data; name="age"
24
--AaB03x
content-disposition: form-data; name="image"; filename="avatar.png"
Content-Type: image/png
Content-Transfer-Encoding: binary
$binarydata
--AaB03x--
Content-type
且值为multipart/form-data; boundary=AaB03x
的行注意:如您在上面看到的,我用值AaB03x
固定了边界,在实际情况下,您应该使用唯一值
答案 2 :(得分:1)
据我了解,这个问题。您需要发送带有单独标题的多部分数据请求。
在这种情况下,建议您使用客户端发送请求,然后使用Fiddler或JMeter本身拦截该请求。
我过去从未遇到过这种情况。上述解决方案因预期用途不同而无法使用。