2017-07-19 23 views
0

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

我試過這個解決方案,但是同樣的行爲仍然存在 –

回答

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管理器到第二個請求,但仍然是同樣的問題 –