2015-01-13 19 views
0

我在我的測試計劃中有Cookie和緩存管理器。出於某種原因,我的jmeter腳本已使用相同的會話ID超過一​​周,而在瀏覽器中進行手動測試時,每次用戶登錄時都會給出一個新的會話ID。哪些文件存儲jmeter緩存和cookie?

此會話值不在我的測試計劃在我請求的任何參數中。這個值必須存儲在某個地方。我可以看到cookie會話隨着每次登錄而改變,但不是我的會話ID。

有誰知道我可以在我的文件夾中追蹤這個值,所以我知道它是我的緩存還是存儲它的cookie。

我已經嘗試了astrogrep和其他文本字符串搜索工具,並沒有提出任何東西。

任何意見/指導,非常感謝。

回答

0

如果你正在尋找存儲cookie作爲JMeter的變量的方式,您可以添加CookieManager.save.cookies=trueuser.properties文件(它生活在你安裝Jmeter的/ bin文件夾)

JMeter的需要重新啓動拿起這個屬性。

一旦設置,它會將所有cookie存儲爲以COOKIE_爲前綴的JMeter變量。即如果您有Cookie SESSIONID,您可以根據需要將其轉換爲${COOKIE_SESSIONID}

您可以另外配置JMeter以將cookie保存在.jtl結果文件中。要做到這一點在下一行添加到user.properties文件:需要

sample_variables=COOKIE_SESSIONID 

再次JMeter的重新啓動。

如果您查看.jtl結果文件,您將在最後一列中看到SESSIONID cookie值。它將允許您在結果分析期間跟蹤用戶會話。

值還可以作爲命令行參數,而不是編輯user.properties文件

​​

對於HTTP緩存管理器也無法緩存條目存儲在結果文件通過作爲其結構是相當複雜。然而,你可以在緩存管理器啓用調試日誌記錄如下:

jmeter -Ljmeter.protocol.http.control.CacheManager=DEBUG 

所以,你就可以看到這樣的輸出:

2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: GET(OAH) http://google.com/ null 
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: inCache http://google.com/ null 
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: GET(OAH) http://www.google.by/?gws_rd=cr&ei=fD22VJarBovXygO57IDoCg null 
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: inCache http://www.google.by/?gws_rd=cr&ei=fD22VJarBovXygO57IDoCg null 
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: setCache(null,private, max-age=0,-1,null,http://www.google.by/?gws_rd=cr&ei=fD22VJarBovXygO57IDoCg,Wed, 14 Jan 2015 09:57:16 GMT) 

參考文獻:

+0

感謝您的全面回覆,我會試一試。 – ppragados