中的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。

+0

查看https://www.blazemeter.com/blog/how-load-test-csrf-protected-web-sites – user7294900

+0

我试过这个解决方案,但是同样的行为仍然存在 –

最可能的是你没有得到在第二个请求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管理器到第二个请求,但仍然是同样的问题 –