您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
JMeter中HTTP Cookie管理器的使用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2017/6/13 9:52:13 ] 推薦標(biāo)簽:性能測試工具 Jmeter

  根據(jù) web 應(yīng)用的復(fù)雜度你可以選擇創(chuàng)建兩種類型的 JMeter 測試計劃:面向點擊數(shù)的或面向場景的。
  創(chuàng)建一個面向點擊數(shù)的測試計劃你需要有中值統(tǒng)計。這些統(tǒng)計要包含你的應(yīng)用每秒應(yīng)該處理多少個獨(dú)立請求的相關(guān)信息。這種統(tǒng)計很簡單而且適用于大多數(shù)網(wǎng)站。但是不一定適用于其它一些比較復(fù)雜的應(yīng)用。比如,你不能使用一個直連從網(wǎng)上銀行獲取一份概要報告;你首先得登錄該應(yīng)用然后再導(dǎo)航到特定的頁面。
  出于這個目的,瀏覽器將存儲這些信息并甜蜜地稱之為"cookie(曲奇)",這里的 cookie(很不幸)并非一個美味的烘烤食品,而是包含有登錄會話信息的一些文本。JMeter 提供了一個用于處理壓測時產(chǎn)生的很多 cookie 的工具,名為 HTTP Cookie 管理器。
  HTTP Cookie 管理器具備三個功能:
  1. Cookie 管理器像一個 web 瀏覽器那樣存儲并發(fā)送 cookie。
  如果你有一個 HTTP 請求,其返回結(jié)果里包含一個 cookie,那么 Cookie 管理器會自動將該 cookie 保存起來,而且以后所有的對該網(wǎng)站的請求都使用同一個 cookie。每個 JMeter 線程都有自己獨(dú)立的"cookie 保存區(qū)域"。因此,如果你在測試網(wǎng)站的時候使用了 Cookie 管理器來存儲 session 信息的話,那么每個 JMeter 線程將會擁有自己獨(dú)立的 session。**注意這些 cookie 不會顯示在 Cookie 管理器里,你可以通過察看結(jié)果樹來對其進(jìn)行察看。
  2. 接收到的 cookie 數(shù)據(jù)可以作為 JMeter 線程的參數(shù)進(jìn)行存儲(JMeter 2.3.2 之后的版本默認(rèn)不再打開這個功能)。
  要將 cookie 存儲為參數(shù),定義屬性"CookieManager.save.cookies=true"。cookie 在被保存之前會在名字上加上 "COOKIE_" 前綴(避免和本地參數(shù)重復(fù))。設(shè)置好一會名字為 TEST 的 cookie 可以用 ${COOKIE_TEST} 進(jìn)行引用。如果不希望這個前綴可以對屬性 "CookieManager.name.prefix=" 進(jìn)行定義。
  3. 手工添加一個 cookie 到 Cookie 管理器。
  注意如果你這么干了,這個 cookie 將被所有 JMeter 線程所共享。這種方式用于創(chuàng)建有很長過期日期的 cookie。
  HTTP Cookie 管理器應(yīng)用實踐。

  對于 bug 跟蹤系統(tǒng)的測試,測試場景將會包含一個 "僅登錄一次" 操作,這個明顯僅需新用戶登錄。新建一個項目,我們把登錄請求放到 "Only Once Controller"。這意味著登錄請求將僅被執(zhí)行一次。之后,cookie 將被 HTTP Cookie 管理器所保存并用于以后的請求。
  現(xiàn)在我們將執(zhí)行一次僅一個用戶的場景。之后我們會切換到察看結(jié)果樹以核實 JMeter 是否已對 cookie 做了處理。

  
  你會看到在 POST 請求的時候 JMeter 捕捉到了 cookie。現(xiàn)在我們來驗證這個 cookie 是否會被應(yīng)用于后續(xù)的請求。

  注意在后續(xù)的請求中,PHPSESSID 和從服務(wù)器接收到的值一樣。
  原文:Using the HTTP Cookie Manager in JMeter。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd