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

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

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

  
  你會(huì)看到在 POST 請(qǐng)求的時(shí)候 JMeter 捕捉到了 cookie,F(xiàn)在我們來驗(yàn)證這個(gè) cookie 是否會(huì)被應(yīng)用于后續(xù)的請(qǐng)求。

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

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