【问题标题】:JMeter RestAPI - How to send json body as request along with an image(jpeg/jpg) file in JMeterJMeter Rest API - 如何在 JMeter 中将 json 正文作为请求与图像(jpeg/jpg)文件一起发送
【发布时间】:2019-03-06 22:10:45
【问题描述】:

我正在尝试在 JMeter(正文数据)中为我的 RestAPI 发送 json 正文 - PUT 以及附件 (jpeg/jpg) 文件。每次我得到的响应都是“{“error”:“Incorrect number of attachments.”}”。

我有需要在 Jmeter/bin 文件夹中发送的 jpeg/jpg 文件。 JMeter 中的 Body Data 选项卡-

   {
     "message": {

    "attachments": [
        {
            "name": "googleImage.jpg",
            "mimeType": "image/jpg"
        }
    ],
    "messageBody": "Hello World! - Test Attachments",
    "subjectLine": "Test message - 0927T09:58",
    "messageID": "",
    "toAddress": "some reqd value"
   }
  }

标题有- 内容类型-应用程序/json 接受 - 应用程序/json、图像/jpeg 也试过 - 接受多部分/表单数据 接受-多部分/混合

【问题讨论】:

  • 你用的是什么版本的jmeter?
  • 我正在使用 JMeter 4.0
  • 尝试使用jmeter 5.0,请显示从firefox或chrome发送的请求。
  • 我正在尝试使用 RestAPI。我在“正文数据”中有 json 正文(如上所述,它是相同的 json 正文),附件“googleImage.jpg”在 jmeter/bin 文件夹中。当我从 SOAPUI pro 尝试时,它工作正常,但 JMeter 却不行。为 Rest API 传递带有附件(图像)的 json 正文的任何​​线索都会有很大帮助。

标签: jmeter jmeter-plugins jmeter-3.2 jmeter-4.0


【解决方案1】:

如果您的请求在 SoapUI 中有效,您应该至少可以通过两种方式将其转换为 JMeter:

  1. 使用 JMeter 的 HTTP(S) Test Script Recorder 记录您的 SoapUI 测试

    • 启动 JMeter 的 HTTP(S) 测试脚本记录器(最简单的方法是使用文件 -> 模板 -> 记录菜单中的记录模板功能)
    • 配置 SoapUI 使用 JMeter 作为代理,可以在 File -> Preferences -> Proxy 中完成

    • 在 SoapUI 中运行请求(如果请求假定文件上传,请确保将文件复制到 JMeter 安装的“bin”文件夹中
    • JMeter 应该捕获Recording Controller 下的请求
  2. 如果需要,可以 convert SoapUI XML into Taurus YAML 然后从 YAML 生成 JMX。


也可以在同一个请求中手动定义 JSON 和多部分负载来构建请求,但是您需要从 API 文档中了解请求规范,或者通过查看 SoapUI Raw 选项卡或使用外部嗅探器工具,例如 WiresharkFiddler。查看Testing REST API File Uploads in JMeter 文章了解更多信息和示例场景实现

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多