【问题标题】:JMeter : Need to send "Cookie" parameter in request headerJMeter:需要在请求头中发送“Cookie”参数
【发布时间】:2019-11-21 10:00:31
【问题描述】:

我是 JMeter 的新手。我正在将 apache jmeter 5.2 与 Java 8 一起使用。我想在用户登录网站时在发布请求的请求标头中的字段名称“Cookie”中发送 cookie 数据。请求标头将如下图所示:

首先,我正在向服务器发送一个 get 请求,并使用正则表达式提取器保存 cookie 数据,并将请求标头中的值用作名为“Cookie”的参数。但不幸的是,JMeter 没有在请求标头中添加该参数。我还使用了 HTTP Cookie 管理器。但我在 请求正文 中获取 cookie 数据,而不是在 请求标头 中。

我已经看过下面的帖子了。

How to generate a cookie and send it in a request in Jmeter

【问题讨论】:

    标签: java cookies jmeter http-headers


    【解决方案1】:
    CookieManager manager = sampler.getCookieManager();
    Cookie cookie = new Cookie("JSESSIONID",vars.get("jSessionId"),"${serveraddress}",false,0);
    manager.add(cookie);
    

    在请求的预处理器中尝试上述代码。

    编辑:改进格式

    【讨论】:

    • 我想在名为“Cookie”的参数中发送数据“JSESSIONID=24BE2C5D2DA******************************” " 在请求标头中。我的变量名不是“JSESSIONID”,而是“Cookie”。我也试过这个。不知何故,请求标头无法发送“Cookie”参数。
    • 您是否使用预处理器来设置 Cookie 数据?如果您使用 Java 代码中的 HTTP 请求发送它,则意味着以下代码将有所帮助。 postRequest.setHeader("Cookie", "JSESSIONID="+ vars.get("jSessionId"))
    【解决方案2】:

    在google上尝试了所有方法都没有成功,我只是想我可以对它做一些技巧。

    步骤 1. 创建一个标头管理器并首先添加一个您想要的标头。然后在此值列中,您只需在其值之后立即输入:“Cookie:您的 cookie 值”。然后保存您的项目。请参考我的下图。

    header setting

    第 2 步。使用文本编辑器打开您的项目 (.jml) 并找到您的标头管理器的内容。您可以在 'stringProp name="Header.value"' 中找到标题的值。在“Cookie:您的 cookie 值”之前输入回车,并删除之前值和 cookie 之间的所有空格。使用 Ctrl +S 保存您的 .jml 并使用 Jmeter 重新打开您的 jml 并对其进行测试。 它应该工作!

    jml setting

    result

    【讨论】:

      猜你喜欢
      • 2016-11-19
      • 2015-12-04
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多