Jmeter post 带字符串的多部分表单数据

Jmeter post multipart form data with string

我正在尝试在 JMeter 中上传带有字符串的文件。没用

POST http://localhost:8080/upload

POST data:
--v2IM1VsVLV5EbtspRzGOSrHaDQb-mlef6r
Content-Disposition: form-data; name="input"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit

{   "name": "John",  "country": "US" }

--v2IM1VsVLV5EbtspRzGOSrHaDQb-mlef6r
Content-Disposition: form-data; name="file"; filename="sample.txt"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary

<actual file content, not shown here>
--v2IM1VsVLV5EbtspRzGOSrHaDQb-mlef6r--


[no cookies]

我在使用 JMeter 时遇到以下错误

{"code":"ERROR","message":"Required request parameter 'input' for method parameter type String is not present"}

我可以使用 curl 或 Postman 毫无问题地访问请求。这是我的 curl 请求。

curl -i -X POST \
   -H "Content-Type:multipart/form-data" \
   -F "file=@\"./sample.txt\";type=text/plain;filename=\"sample.txt\"" \
   -F "input={   \"name\": \"John\",  \"country\": "US" }" \
 'http://localhost:8080/upload'

如果您能够使用 Postman 成功执行请求,您应该能够使用 JMeter 的 HTTP(S) Test Script Recorder

记录请求
  1. 开始HTTP(S) Test Script Recorder

  2. 配置 Postman 使用 JMeter 作为代理

  3. sample.txt 文件复制到 JMeter 安装的“bin”文件夹中

  4. 运行 您在 Postman 中的请求

  5. JMeter 将捕获请求并生成适当的 HTTP Request 采样器

更多信息:How to Convert Your Postman API Tests to JMeter for Scaling