【问题标题】:Handling cookies in HTTP request in Jmeter在 Jmeter 中处理 HTTP 请求中的 cookie
【发布时间】:2017-07-19 06:36:22
【问题描述】:

我有一个 Jmeter 加载项目,需要检索 2 个 cookie 值并在其他请求中重新发送它们。

这是我的项目测试计划:

-Test Plan
-Thread Group
-Login request
-Payment page
-Payment history page
-HTTP Cookie Manager
-HTTP Header Manager
-View Results Tree

Cookie 数据: JSESSIONID=0000SZb55xyLAaqLlDzumq_PpIw:-1; XSRF-TOKEN=a684e233-648e-4219-ae21-25fb362e232d

cookie 管理器从登录请求中成功接收到 cookie 数据,并在第二个请求(支付页面)中发送,但在第三个请求(支付历史页面)中仅发送 JSESSIONID,我不知道为什么第二个 cookie不在第三个请求中发送。

【问题讨论】:

标签: apache xmlhttprequest jmeter load restful-url


【解决方案1】:

很可能您没有在 Set-Cookie 第二个请求的响应标头中获取此 cookie,因此 cookie 管理器不会获取它。如果您的应用程序在第三个请求中需要 cookie,则可能是您的应用程序问题。

作为一种解决方法,您可以将 cookie 值存储到 JMeter Variable 以供以后重复使用。

  • 将下一行添加到 user.properties 文件(位于 JMeter 安装的“bin”文件夹中 CookieManager.save.cookies=true
  • 重启 JMeter 以获取属性
  • 就是这样,现在您应该可以在需要时将 cookie 值引用为 ${COOKIE_XSRF-TOKEN},例如添加另一个 HTTP Cookie Manager 作为第三个请求的子项(根据 Scoping Rules,“本地”cookie 管理器将覆盖“全局”一)并定义 XSRF_TOKEN 和其他 cookie(如果需要)

有关在 JMeter 测试中处理 cookie 的更多信息,请参阅 Using the HTTP Cookie Manager in JMeter 文章。

【讨论】:

  • 我按照你的描述做了同样的事情,并在第二个请求中添加了一个本地 cookie 管理器,但仍然是同样的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多