Jmeter模擬用戶登錄網站
1、到Jmeter的bin目錄下,打開jmeter.properties文件,修改【CookieManager.save.cookies】項為true,保證Jmeter的cookie管理器可以
自動發送
2、新建測試計划,並建立線程組,線程組上新增-配置元件-【HTTP cookie 管理器】, 如下圖:
3、新增http請求【index】,為跳轉到系統登錄頁,返回頁面有參數token的值,需用正則表達式提取器,提取出來,在登錄時使用,如下圖:
4、新建http請求【login】,傳送參數有【account】、【password】、【token】、【struts.token.name】,如下圖所示:
注意:token值取【index】響應結果中解析的result值
5、新建http請求【查詢主機】,返回Json串,如下圖所示:
6、添加http請求【查詢數據】,如下圖:
7、增加查看結果樹,每個請求增加【響應斷言】和【斷言結果】
總結:如果直接測試【查詢主機】或【查詢數據】請求,響應會報系統未登錄;之前的【index】和【login】請求模擬了用戶訪問
首頁登錄的過程,【HTTP Cookie 管理器】的作用相當於瀏覽器緩存的cookie值,讓用戶登錄保持,之后【查詢數據】也會自動
填上cookie值。
用戶登錄原理分析:登錄時瀏覽器端發送服務端一個【sessionid】並保存到cookie中,然后服務端根據【sessionid】創建【session】,
然后用戶點擊操作如【查詢數據】,都會向服務端發送一個帶【sessionid】的cookie,在服務端找到對應的session說明用戶登錄,如果清空
瀏覽器cookie,無法找到【session】說明用戶已退出。
官網學習地址:http://jmeter.apache.org/usermanual/build-web-test-plan.html