Jmeter在HTTP请求的JSON Payload中发送通配符%没有返回正确的响应

时间:2017-01-23 19:12:56

标签: json rest jmeter

我有一个带有JSON有效负载的http POST请求,用这个正文数据搜索客户拥有的设备:

{
  "@rpc": "1.0",
  "@data": [
    "dev%25",
    [
      "CompanyXYZ"
    ]
  ]
}

它应该返回以' dev'开头的设备列表。像这样:

device1
device2
device3

但反而没有回头。我的标题有:

  • Content-Type = application / json
  • X-CLIENTID = sdfsd8

如何在HTTP请求的正文数据中使用通配符(如%)搜索一组数据?看起来这就是我在网络应用程序中看到的端点。

我试过这些东西没有运气:

  1. 在标题
  2. 中添加charset = utf-8
  3. 将内容编码= utf-8添加到HTTP请求和HTTP 请求默认值
  4. 我甚至尝试使用" dev%"而不是" dev%25"但它没有正确编码%并抛出:

    jmeter.protocol.http.visualizers.RequestViewHTTP: Error decoding query, maybe your request parameters should be encoded:
    
    {
      "@rpc": "1.0",
      "@data": [
        "dev%",
        [
          "CompanyXYZ"
        ]
      ]
    } java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "","
        at java.net.URLDecoder.decode(Unknown Source)
    

1 个答案:

答案 0 :(得分:0)

我没有看到使用JMeter 3.1的任何问题

strlen manual

JSON请求在JMeter 3.1 REST JSON POST采样器的正文数据选项卡中设置

HTTP Request

有关使用JMeter进行API测试的各个方面的全面信息,请参阅HTTP Rest request JMEter body data