将 Cookie 作为请求传递 Header - SSO JMeter

Passing Cookie as a Request Header - SSO JMeter

我正在使用 JMeter 对需要执行 SSO 身份验证的应用程序进行负载测试。我必须按照请求 header 发送一个 cookie,就像我在下面完成的那样:

我有需要发送的值,我在之前的请求中使用正则表达式提取器提取了该值。我怎样才能做到这一点?

我正在使用 JMeter 3.1

  1. cookie manager 添加到您的测试计划
  2. 使用正则表达式提取器将 cookie 提取到某个变量(例如 my_cookie)
  3. 添加 JSR223 Sampler 并使用此代码

    导入org.apache.jmeter.protocol.http.control.CookieManager; 导入 org.apache.jmeter.protocol.http.control.Cookie;<br> CookieManager 管理器 = sampler.getCookieManager(); Cookie cookie = new Cookie("SESSION_COOKIE_NAME", "${my_cookie}", "${servername}", "/", false, 0); manager.add(cookie);

有关 CookieManager 的更多信息 class here

您基本上不需要提取任何内容,只需将 HTTP Cookie Manager 添加到您的测试计划中,它就会自动处理 cookie。

如果您需要某个 cookie 值才能在其他地方使用它,您可以将下一行添加到 user.properties 文件(位于 JMeter 的 "bin" 文件夹中)

CookieManager.save.cookies=true

并重新启动 JMeter 以拾取 属性。完成后,您将能够在需要时将 cookie 值引用为 ${COOKIE_mc}

有关详细信息,请参阅 Using the HTTP Cookie Manager in JMeter