如何在 JMeter 中使用 curl 请求?

How to use curl request in JMeter?

我有这样的 curl 命令:

curl -X POST -T "{sample_data.csv}" -H "Content-Type: text/csv" https://api.mysite.com/v1/jobs/upload.json?key={api_key}

问题是我不明白应该在 JMeter 的哪个组件中传递 "{sample_data.csv}" 文件以上传到端点。

现在我有这样的配置:

当我 运行 测试时它显示:

"error":{"message":"Un-Acceptable format, Content-Type must be one of those listed in \"formats\" but you sent \"multipart/form-data; boundary=E-VEr1-ZesF7xja5HezBWptB6xP_gsGODn\"","formats":["text/csv","text/plain","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/json","application/xml","application/vnd.oasis.opendocument.spreadsheet"]}}

要使用 JMeter 模拟此 curl 调用,您需要:

HTTP Request Sampler配置如下:

  • 服务器名称或 IP: anarinsky.aaa.com
  • 协议:http
  • 方法: POST
  • 路径:/rest/secure/requestOrderMultipleAttr/skuOrderList/AAA_Prod_Go_d2/quantityAdult/1/quantityChild/1/email/anarinsky@aaa.com
  • 参数: 姓名: 电子邮件 值: anarinsky@aaa.com

HTTP Authorization Manager 作为 HTTP 请求的子级(如果您只想将 username/password 用于此 HTTP 请求)或在同一级别,如果您打算将它用于范围内的所有请求。

  • 用户名: anarinsky@aaa.com
  • 密码:a1234

根据此示例调整您自己的参数。

  1. 将 "Protocol" 更改为 https
  2. 取消选中 "Use multipart/form-data for POST"
  3. 在 "Send Files With the Request" 中单击 "Add" 并提供文件位置
  4. HTTP Header Manager添加到已发送"Content-Type"header,值为"text/csv"