JMeter——HTTP COOKIE Manager(cookie管理器)

摘自http://wangsheng14591.blog.163.com/blog/static/327797102012829101351887/


ATTENTION:

現在對於JMeter來說,一個測試計劃只能有一個cookie管理器。因爲當多個magager存在時,JMeter目前還沒有方法來指定使用那個manager。同時,一個cookie manager中的存儲的cookie也不能被其他cookie manager所引用,所以同一個計劃中不建議使用多個cookie manager

HTTP COOKIE Manager管理cookie有兩種方法:

  1. 他可以像瀏覽器一樣存儲和發送cookie,如果你要發送一個帶cookie的http請求,cookie manager會自動存儲該請求的cookies,並且後面如果發送同源站點的http請求時,都可以用這個cookies。每個JMeter線程都有自己的“cookie存儲區域”,

  所以當你測試一個使用cookie來管理session信息的web站點時,每個JMeter線程都有自己的session。

  注意:

 以這種自動收集的方式收集到的cookie不會在cookie manager中進行展示,但是運行後,通過:查看結果樹(監  聽器)可以查看到cookie信息。

 早期的JMeter版本(2.3.2或更早)對與cookie的管理是支持跨域的,也就是說不同域名的網站都可以使用cookie manager中  的cookie,2.3.2版本之後,這個就不可以了,必須同源,才能共用cookie,如果你想讓JMeter的cookie manager支持跨域,  修改JMeter.property :

 CookieManager.check.cookies=false


     接受到的cookie會被自動存儲在線程變量中,但是從Jmeter2.3.2版本後,默認不再存儲,如果你想要manager自動存儲收集到     的cookie,你需要修改JMeter.property 

   CookieManager.save.cookies=true

    存儲的時候,cookie的key會以“COOKIE_”爲前綴命名(默認情況),如果你想自定義這個前綴,

修改JMeter.property :

 CookieManager.name.prefix= 

    這個配置如果未啓用(也就是維持默認),我們可以通過一下方式獲取到cookie的值:${COOKIE_name},其       中name爲cookie的名稱

   2. 除了上面說的自動收集,我們還可以手動添加cookie,這裏,筆者要給大家一個建議,儘量不要一個一個手動去填寫,我們可  以結合firefox的插件firebug,直接將cookie導入,操作如下

  • 打開firebug,如圖

 JMeter——HTTP COOKIE Manager(cookie管理器) - 一切隨緣 - 隨緣

    點擊紅色框中的,下拉框中有個導出本站點的cookie,就可以將cookie信息保存爲一個cookies.txt文件,接着打開jmeter   的cookie manager:

 JMeter——HTTP COOKIE Manager(cookie管理器) - 一切隨緣 - 隨緣
   載入剛纔導出的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 。。。略過


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章