JMeter:需要在请求标头中发送“ Cookie”参数

时间:2019-11-21 10:00:31

标签: java cookies jmeter http-headers

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

Cookie data

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

我已经看过以下帖子。

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

2 个答案:

答案 0 :(得分:0)

CookieManager manager = sampler.getCookieManager();
Cookie cookie = new Cookie("JSESSIONID",vars.get("jSessionId"),"${serveraddress}",false,0);
manager.add(cookie);

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

编辑:改进格式

答案 1 :(得分:0)

在谷歌上尝试了所有方法但都不起作用后,我只是想我可以在上面做一些技巧。

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

header setting

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

jml setting

result