jmeter實現單點登錄的詳細過程(邏輯控制+參數化+正則表達式)+下載安裝jmeter+部分控件講解

  • jmeter實現單點登錄所有操作順序,如下圖:
    在這裏插入圖片描述

一、具體實現步驟:

1 錄製腳本

可以通過Badboy或者給jmeter添加代理服務器錄製相關腳本,badboy錄製腳本需設置IE的安全設置,這裏建議使用jmeter添加代理錄製腳本;

  • 設置jmeter代理服務器
    在這裏插入圖片描述
  • 設置瀏覽器代理,以谷歌瀏覽器爲例:設置-高級-系統-打開代理設置,之後如下圖設置
    在這裏插入圖片描述

2 編寫測試腳本

2.1 爲單點登錄的邏輯控制中添加http的cookie控制器、請求頭控制器

http cookie控制器:
在這裏插入圖片描述
http 請求頭控制器,不添加任何數據:
在這裏插入圖片描述

2.2 第一次請求單點登錄接口,獲取It、url(第二次請求單點登錄的鏈接)

  • http請求的具體設置:
    在這裏插入圖片描述
  • GET_LT的正則表達式的提取器:
    GET_LT表達式:name="lt" value="(.+)"
    在這裏插入圖片描述
    GET_LT要獲取的body體中的部分:
    在這裏插入圖片描述
  • get_url的正則表達式的提取器:
    get_url表達式:action="(.+?);jsessionid.*\?(.*)" method
    在這裏插入圖片描述
    get_url 匹配的body中的部分:
    在這裏插入圖片描述

2.3 第二次單點登錄提交表單:

  • http請求的具體設置,注意必須設置“自動重定向”:
    在這裏插入圖片描述
  • 用戶參數的設置:
    在這裏插入圖片描述
  • get_ticket的正則表達式的提取器:
    get_ticket表達式:Location:.*ticket=(.+)
    在這裏插入圖片描述
    get_ticket在響應頭中要獲取的部分:
    在這裏插入圖片描述
  • post 請求中可以將url中的參數,加到變量中訪問:
    在這裏插入圖片描述

2.4 請求業務系統:

  • http請求具體設置:
    在這裏插入圖片描述

  • get_jsessionid的正則表達式的提取器:
    get_jsessionid表達式:jsessionid=(.*)
    在這裏插入圖片描述
    get_jsessionid在請求的url中要獲取的部分:
    在這裏插入圖片描述

2.5 爲業務操作的邏輯控制中添加http的cookie控制器、請求頭控制器

  • 操作中踩的坑:爲防止放在一個邏輯控制中添加多個cookie有衝突,而將登陸和業務操作設置在兩個邏輯控制中
  • http cookie控制器,添加登錄業務系統時獲取的 jsessionid :
    在這裏插入圖片描述
  • http 請求頭控制器,參照錄製腳本的請求頭填寫:
    在這裏插入圖片描述

2.6 具體業務操作

  • 具體業務操作的post請求:
    在這裏插入圖片描述
  • 變量 bz 的設置:
    在這裏插入圖片描述

2.7 設置查看結果樹,查看接口運行狀態:

在這裏插入圖片描述

二、 jmeter 5.1 下載安裝:

1 jmeter下載:

  • jmeter下載路徑:

http://jmeter.apache.org/download_jmeter.cgi

在這裏插入圖片描述

2 jmeter安裝:

  • jmeter 的安裝需要基於jdk環境,安裝好 jdk 環境後,即可在 jmeter 的安裝路徑下的bin目錄中雙擊打開 jmeter.bat 文件運行;
  • jdk安裝:

https://blog.csdn.net/qq_33745804/article/details/85115093

三、 正則表達式提取器說明:

1 後置處理器:

在請求結束或者返回響應結果時發揮作用

2 正則表達式提取器:

允許用戶從服務器的響應中通過使用perl的正則表達式提取值。該元素會作用在指定範圍取樣器,用正則表達式提取所需值,生成模板字符串,並將結果存儲到給定的變量名中。

2.1 APPly to:作用範圍(返回內容的斷言範圍)

     Main sample and sub-samples:作用於父節點的取樣器及對應子節點的取樣器

     Main sample only:僅作用於父節點的取樣器

     Sub-samples only:僅作用於子節點的取樣器

     JMeter Variable:作用於jmeter變量(輸入框內可輸入jmeter的變量名稱)

2.2 要檢查的響應字段:需要檢查的響應報文的範圍

     Body:主體,響應報文的主體

     Body(unescaped):主體,響應的主體內容且替換了所有的html轉義符,注意html轉義符處理時不考慮上下文,因此可能有不正確的轉換,不太建議使用 

     Body as a Document:從不同類型的文件中提取文本,注意這個選項比較影響性能 

     Response Headers:響應信息頭

     Request Headers:請求信息頭

     URL:統一資源定位符,即Internet上用來描述信息資源的字符串

     Response Code:響應狀態碼,比如200、404等

     Response Message:響應信息

2.3 模板

     Template ($1$ where i is capturing group number,starts at 1):
     
        1、$1$,表示匹配第1個變量
     
        2、也可以設置使用是的模板, $1$?$2$  (如下圖)

在這裏插入圖片描述

四、 jmeter 5.1 設置中文:

1 在界面設置:

在這裏插入圖片描述

2 在配置文件中的設置:

     具體配置方法:
     		1、在 jmeter 安裝路徑下的 bin 目錄中找到 jmeter.properties 文件;
    		2、在 jmeter.properties 文件的 “#language=en” 後添加 “Language = zh_CN”;
  • 路徑:
    在這裏插入圖片描述
  • 配置文件設置:
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章