中的JMeter
问题描述:
HTTP请求处理Cookie我有需要取回饼干2个值,并在其他请求重新发送他们的JMeter负载项目。中的JMeter
这里是我的项目测试计划:
-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管理器的登录请求成功接收,并在第二个请求(Payment page)中发送,但在第三个请求(Payment history页面)只有JSESSIONID发送,我不知道为什么在第三请求不被发送的第二个cookie。
答
最可能的是你没有得到在第二个请求Set-Cookie响应头,因此它不会通过cookie管理器拿起这个cookie。如果您的应用程序预计在第三次请求中的cookie,它可能是您的应用程序问题。
,你可以在cookie值存储到JMeter Variable,供以后再次使用的解决方法。
- 在下一行添加到user.properties文件(生活在你安装Jmeter的 “bin” 文件夹 CookieManager.save.cookies =真
- 重启JMeter的挑财产高达
- 就是这样,现在你应该可以参照cookie值作为
${COOKIE_XSRF-TOKEN}
需要时,例如添加另一个HTTP Cookie Manager是第三个请求的孩子(根据Scoping Rules“本地” cookie管理器将覆盖“全局”之一),并定义XSRF_TOKEN
和如果需要其他的饼干有)
有关在JMeter测试中处理cookie的更多信息,请参阅Using the HTTP Cookie Manager in JMeter文章。
+0
我做了和你一样的描述,添加了一个本地cookie管理器到第二个请求,但仍然是同样的问题 –
查看https://www.blazemeter.com/blog/how-load-test-csrf-protected-web-sites – user7294900
我试过这个解决方案,但是同样的行为仍然存在 –