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

摘自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有兩種方法:瀏覽器

  1. 他能夠像瀏覽器同樣存儲和發送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,如圖

 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  。。。略過
相關文章
相關標籤/搜索