获取API请求在Jmeter中无法使用“ +”号进行操作

时间:2018-11-07 17:21:50

标签: java api get jmeter postman

有一个get请求正在通过+进行过滤,同时尝试从浏览器及其工作方式进行访问。

但是,如果尝试在Jmeter或邮递员的情况下执行相同操作,则它不起作用。

浏览器正在处理的请求采用以下格式。

/jon/doe/foo/baar/Number+123456789

我如何在Jmeter中实现相同目标?

2 个答案:

答案 0 :(得分:1)

如果您可以在浏览器中成功执行该请求,则应该能够使用JMeter的HTTP(S)测试脚本记录器记录该请求

  1. 准备进行记录的JMeter。最简单的方法是使用JMeter Templates Feature

    • 从JMeter的主菜单中选择File -> Templates -> Recording,然后单击“创建”

      enter image description here

    • 选择HTTP(S)测试脚本记录器,然后单击“开始”

      enter image description here

  2. 准备浏览器进行录制。有关如何配置它以使用代理的信息,请参阅其文档。我建议您使用Mozilla Firefox,就像JMeter一样,它是免费和开源的,而且它具有独立的代理配置,该配置不是从操作系统派生的。

    • 菜单中选择“首选项->常规->网络代理->设置
    • 使用localhost作为代理主机,使用8888作为代理端口。将代理用于所有协议,无一例外

      enter image description here

  3. 在浏览器中执行您的请求

  4. JMeter将相关的HTTP Request保存在Recording Controller
  5. 使用View Results Tree侦听器检查请求和响应的详细信息

答案 1 :(得分:0)

'+'是一个特殊符号,您需要对其进行编码:/jon/doe/foo/baar/Number%2B123456789

Jemeter具有在运行时执行此功能的功能,documentation

  

__urlencode:将字符串编码为application/x-www-form-urlencoded的函数   字符串。

     

例如,字符串${__urlencode(Word "school" is "école" in french)}

     

返回Word+%22school%22+is+%22%C3%A9cole%22+in+french