摘自http://wangsheng14591.blog.163.com/blog/static/327797102012829101351887/web
ATTENTION:跨域
如今對於JMeter來講,一個測試計劃只能有一個cookie管理器。由於當多個magager存在時,JMeter目前尚未方法來指定使用那個manager。同時,一個cookie manager中的存儲的cookie也不能被其餘cookie manager所引用,因此同一個計劃中不建議使用多個cookie manager
HTTP COOKIE Manager管理cookie有兩種方法:瀏覽器
他能夠像瀏覽器同樣存儲和發送cookie,若是你要發送一個帶cookie的http請求,cookie manager會自動存儲該請求的cookies,而且後面若是發送同源站點的http請求時,均可以用這個cookies。每一個JMeter線程都有本身的「cookie存儲區域」,cookie
因此當你測試一個使用cookie來管理session信息的web站點時,每一個JMeter線程都有本身的session。session
注意:ide
以這種自動收集的方式收集到的cookie不會在cookie manager中進行展現,可是運行後,經過:查看結果樹(監 聽器)能夠查看到cookie信息。測試
早期的JMeter版本(2.3.2或更早)對與cookie的管理是支持跨域的,也就是說不一樣域名的網站均可以使用cookie manager中 的cookie,2.3.2版本以後,這個就不能夠了,必須同源,才能共用cookie,若是你想讓JMeter的cookie manager支持跨域, 修改JMeter.property :網站
CookieManager.check.cookies=falsespa
接受到的cookie會被自動存儲在線程變量中,可是從Jmeter2.3.2版本後,默認再也不存儲,若是你想要manager自動存儲收集到 的cookie,你須要修改JMeter.property firefox
CookieManager.save.cookies=true
存儲的時候,cookie的key會以「COOKIE_」爲前綴命名(默認狀況),若是你想自定義這個前綴,
修改JMeter.property :
CookieManager.name.prefix=
這個配置若是未啓用(也就是維持默認),咱們能夠經過一下方式獲取到cookie的值:${COOKIE_name},其 中name爲cookie的名稱
2. 除了上面說的自動收集,咱們還能夠手動添加cookie,這裏,筆者要給你們一個建議,儘可能不要一個一個手動去填寫,咱們可 以結合firefox的插件firebug,直接將cookie導入,操做以下
打開firebug,如圖
點擊紅色框中的,下拉框中有個導出本站點的cookie,就能夠將cookie信息保存爲一個cookies.txt文件,接着打開jmeter 的cookie manager:
載入剛纔導出的cookies.txt文件便可。
各個參數說明:
名稱 | 描述 | 是否必填 |
Name | 自定義該cookie的描述,例如:tuan.qq.com的cookie | N |
Clear Cookies each Iteration | 每次線程組運行前,都會清楚cookie,可是若是是手動添加的cookie,不會被清除 | N |
Cookie Policy | 選擇cookie的管理策略,建議選擇compatibility,兼容性強 | |
User-Defined Cookies | 用戶自定義cookie | |
Add Button | 。。。略過 |