天天看點

Jmeter之Http Cookie Manager

一、Http Cookie Manager的作用:

1、自動管理cookie:象浏覽器一樣的存儲和發送Cookie,如果發送一個http請求他的響應中包含Cookie,那麼Cookie Manager就會自動地儲存這些Cookie并在所有後來發送到該站點的請求中使用這些Cookie的值。每個線程都自己存儲cookie的區域。在cookie manager中看不到自動儲存的cookie,我們可以在View Results Tree的Request界面看到被發送的Cookie Data。

  接受到的Cookie的值能被存儲到JMeter 線程變量中(2.3.2版本後的JMeter不自動做這個事情)。要把Cookies儲存到線程變量中,要定義屬性"CookieManager.save.cookies=true"。線程變量名為COOKIE_ + Cookie名。屬性CookieManager.name.prefix= 可以用來修改預設的COOKIE_的值。

2、手動管理Cookie:手動添加Cookie到Cookie Manager,這些Cookie的值被會所有線程共享。 

比較簡單的做法是使用firefox的firebug導出cookies 

Jmeter之Http Cookie Manager

然後,在把檔案導入到jmeter

Jmeter之Http Cookie Manager

二、特别注意:

Jmeter官網上有這樣一段話:

Jmeter之Http Cookie Manager

 意思是說:

  如果在一個測試計劃内有多個Cookie Manager ,Jmeter目前無法指定哪個被使用。是以,一個測試計劃内最好隻有一個cookie manager。并且,一個manager裡的 cookie 并不能被其它manager所引用。是以在使用多個Cookie Managers 時要謹慎。  

  同理,上面這個規則同樣适用于config element下面的其它manager:

Jmeter之Http Cookie Manager

官方文檔:

<a href="http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cookie_Manager" target="_blank">http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cookie_Manager</a>