首页 文章

在Jmeter中处理HTTP请求中的cookie

提问于
浏览
0

我有一个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未发送在第三个请求中 .

1 回答

  • 0

    很可能你没有在第二个请求的Set-Cookie响应 Headers 中获取此cookie,因此它不会被cookie管理器接收 . 如果您的应用程序在第3次请求中需要cookie,则可能是您的应用程序问题 .

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

    • 将下一行添加到user.properties文件(位于JMeter安装的"bin"文件夹中CookieManager.save.cookies = true

    • 重新启动JMeter以选择属性

    • 就是这样,现在你应该能够在需要时将cookie值引用为 ${COOKIE_XSRF-TOKEN} ,例如将另一个HTTP Cookie Manager添加为第3个请求的子节点(根据Scoping Rules "local",cookie管理器将覆盖"global")并定义 XSRF_TOKEN 和其他cookie如果需要那里)

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

相关问题