如何在JMeter中发送多部分/表单数据

trnvg8h3  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(217)

我想在JMeter中发送如下请求负载:

------WebKitFormBoundaryeBikRH0JCrgmtTvt
Content-Disposition: form-data; name="name"

test
------WebKitFormBoundaryeBikRH0JCrgmtTvt
Content-Disposition: form-data; name="description"

testing
------WebKitFormBoundaryeBikRH0JCrgmtTvt
Content-Disposition: form-data; name="configFile"; filename="test.json"
Content-Type: application/json

------WebKitFormBoundaryeBikRH0JCrgmtTvt--

因此,我尝试在参数选项卡中添加名称和描述部分,将表单数据作为内容类型,并在HTTP请求采样器的文件上传选项卡中添加文件。
这是我在执行后在请求正文中得到的内容:

POST data:
--t9u984dDyYVtn6R0e8-OiZQyWRv9gk1
Content-Disposition: form-data; name="name"
Content-Type: form-data; charset=US-ASCII
Content-Transfer-Encoding: 8bit

test
--t9u984dDyYVtn6R0e8-OiZQyWRv9gk1
Content-Disposition: form-data; name="description"
Content-Type: form-data; charset=US-ASCII
Content-Transfer-Encoding: 8bit

testing
--t9u984dDyYVtn6R0e8-OiZQyWRv9gk1
Content-Disposition: form-data; name="configFile"; filename="test.json"
Content-Type: application/json
Content-Transfer-Encoding: binary

<actual file content, not shown here>
--t9u984dDyYVtn6R0e8-OiZQyWRv9gk1--

我想从名称和说明部分请求中删除此部分

Content-Type: form-data; charset=US-ASCII
Content-Transfer-Encoding: 8bit

这将导致故障,状态代码为:415需要帮助吗

7jmck4yq

7jmck4yq1#

如果勾选Use multipart/form-data框时JMeter的HTTP请求采样器生成的标准multipart HTTP Request对不起作用,请注意,您可以使用以下命令手动构建HTTP请求:

  • HTTP标头管理器,用于设置包含boundary
  • __FileToString()函数,用于将.json文件的内容加载到请求主体中

查看Testing REST API File Uploads in JMeter以获得更全面的说明和详细的示例

相关问题