【问题标题】:JMeter doesnt pass http post request sampler body data as jsonJMeter 不会将 http post 请求示例正文数据作为 json 传递
【发布时间】:2017-11-27 09:52:55
【问题描述】:

我正在使用 JMeter,我目前正面临这个问题。

我想对 API 函数执行 POST 请求,但不知何故,当它被发送到调用时,我的正文数据没有以 JSON 格式发送。

这是发送的正文数据

{
    "project_id": "2",
    "name": "Jaya Jadon",
    "phone": "0123456789",
    "email": "email@email.com",
    "remarks": "",
    "co_applicants":[
        {
            "name": "Wongg Feig Uncle",
            "phone": "0123476798",
            "email": "unclee@weie.com"
        },
        {
            "name": "Wineg Feie Father",
            "phone": "0123496897",
            "email": "fatheer@weie.com"
        }
    ],
    "documents": [
        {
            "booking_form": "",
            "consent_form": [   
                "https://www.jjj.com/CF1.jpg"
            ],
            "ic_passport_no":[
                "https://www.jjj.com/IC1.jpg"
            ],
            "additional": ""
        }
    ]
}

但这是发送 POST 请求时发送的内容

{
    "{\r\n\t\"project_id\"" => ">\"2\",\r\n\t\"name\"=>\"Jaya Jadon\",\r\n\t\"phone\"=>\"0123456789\",\r\n\t\"email\": \"email@email.com\",\r\n\t\"remarks\": \"\",\r\n\t\"co_applicants\":[\r\n\t\t{\r\n\t\t\t\"name\": \"Wongg Feig Uncle\",\r\n\t\t\t\"phone\": \"0123476798\",\r\n\t\t\t\"email\": \"unclee@weie.com\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"name\": \"Wineg Feie Father\",\r\n\t\t\t\"phone\": \"0123496897\",\r\n\t\t\t\"email\": \"fatheer@weie.com\"\r\n\t\t}\r\n\t],\r\n\t\"documents\": [\r\n\t\t{\r\n\t\t\t\"booking_form\": \"\",\r\n\t\t\t\"consent_form\": [\t\r\n\t\t\t\t\"https://www.jjj.com/CF1.jpg\"\r\n\t\t\t],\r\n\t\t\t\"ic_passport_no\":[\r\n\t\t\t\t\"https://www.jjj.com/IC1.jpg\"\r\n\t\t\t],\r\n\t\t\t\"additional\": \"\"\r\n\t\t}\r\n\t]\r\n}",
                   "format" => "json",
               "controller" => "v1/lp_developer_referrals",
                   "action" => "create"
}

这就是我期望得到的结果

{
       "project_id" => "2",
             "name" => "Jaya Jadon",
            "phone" => "0123456789",
            "email" => "email@email.com",
          "remarks" => nil,
    "co_applicants" => nil,
        "documents" => [
        [0] {
              "booking_form" => nil,
              "consent_form" => [
                [0] "https://www.jjj.com/CF1.jpg"
            ],
            "ic_passport_no" => [
                [0] "https://www.jjj.com/IC1.jpg"
            ],
                "additional" => nil
        }
    ],
           "format" => "json",
       "controller" => "v1/lp_developer_referrals",
           "action" => "create"
}

有人可以向我解释为什么我的 Jmeter 没有将我的身体数据作为 json 对象吗?

【问题讨论】:

    标签: json apache jmeter jmeter-3.2


    【解决方案1】:

    JMeter 应该“按原样”发送数据,仔细检查以下配置:

    1. 确保HTTP Request 采样器(或HTTP Request Defaults)中的Use multipart/form-data for HTTP POST未选中
    2. 确保您已将HTTP Header Manager 配置为发送Content-Type header,其值为application/json

    更多信息:REST API Testing - How to Do it Right

    【讨论】:

      【解决方案2】:

      请尝试在您的请求之前或在其中添加一个带有“Content-Type”且值为“application/json”的“HTTP Header Manager”。告诉我们行为是否正确。

      【讨论】:

        猜你喜欢
        • 2019-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-23
        • 2020-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多