LR效能測試框架學習總結
效能目的:使用起來速度快,不崩,穩定
效能分類:
常規效能測試--響應時間、響應速度----正常工作,你的速度有多快
負載測試---持續加壓,目的是找到崩潰的臨界點,目的是使用者使用時能不觸碰到此臨界點---不斷增加工作量使工作飽和度不斷增加,你什麼時候撐不住了
壓力測試--在一定飽和度內,會不會出錯----在工作量比較大時,你工作會不會犯錯
併發測試---多使用者同時訪問一個應用、模組、資料庫------很多工作要你同一時間一起做,您能做到嗎
配置測試---所測應用的軟硬體條件發生變化---工作環境工作氛圍發生變化,影響你的工作嗎
穩定性測試----持續執行,能否崩潰----3天連續不眠不休工作,你的工作效率會下降嗎
概念:
事務:用來計時,設定開始和結束之間的範圍為一個事務
關聯:把指令碼中寫死的資料轉變成選取自伺服器所傳送的、動態的、每次都不一樣的資料
引數化:使用指定資料來源中的值代替指令碼錄製中的引數
LR安裝注意點:
安裝路徑最好預設,以防出錯
取消HP身份驗證設定
取消預設勾選的‘指定LoadRunner代理將要使用的證書’
例子:LR自帶的飛機訂票系統
啟動服務:安裝路徑\HP\LoadRunner\WebTours下的StartServer.bat
開啟網頁:地址 http://127.0.0.1:1080/WebTours/ 或目錄:開始-所有程式--HP Software-HP LoadRunner-Samples-Web-點選 HP Web Tours Applicaion
預設賬號:jojo bean
錄製事件指令碼前準備:
建立新指令碼及設定指令碼位置:create--選協議--起名稱--設定指令碼儲存位置--create
錄製選項設定:選擇web應用要測試的地址--錄製選型2處設定(選擇錄製方式(這個專案選擇了HTML-based Script)、設定utf-8)
ps:
怎麼選擇錄製方式:
HTML-based Script(基於瀏覽器的應用程式)
URL-based Script(基於非瀏覽器的應用程式和基於瀏覽器的應用程式中使用了https安全協議的)
飛機訂票系統設定:開啟 http://127.0.0.1:1080/WebTours/ --點選administration--勾選第三項
開始錄製:
點選start recording自動開啟之前設定的網址--錄製--停止錄製
指令碼除錯:
1.關聯session相關的動態值(找到關聯內容,一般設定左右邊界即可,有多個引數時候時可用ord來設定)-----比如每次訂票都會返回一個不同的session值,而錄製的指令碼中session是一定的值,導致回放指令碼不成功。要把指令碼中所有的動態值都設定成關聯引數才行。飛機訂票這裡有幾個個動態值,登入時的value,選擇航班的value,支付時的value
當每次伺服器返回的不一樣的值時,找到session的value值進行復制
找到上一步操作的函式,點選任意一處地方右鍵點選show snagshot進入請求響應介面
在此頁面ctrl+f 搜尋剛才複製的關鍵詞,點選find next,可搜尋到此關鍵詞的響應那一句詳細具體是怎麼表示的
把value出現的詳細內容複製到錄製好的腳本當中,編寫一個函式,起個名字如web_reg_param('neme','LB','RB',LAST)通過左右邊界設定關聯函式即可,需要轉移的用\來轉義。
最後一步,把value值引數化,用{關聯函式名}替換
這樣,關聯函式就弄好了,回放一遍,訂票成功。
指令碼優化:
錄製的指令碼出發城市和目的城市是固定不變的,目的是將訂票的出發城市和目的城市隨機化
先將出發城市和目的城市分別引數化:在錄製的指令碼中找到出發城市和目的城市,右鍵選擇replace with parameter-create new parameter,設定好引數名字
設定好的樣子
點選design- parameter- parameters list 或ctrl+l開啟引數列表,在這裡可以對引數進行設計。
先將所有城市寫到一個.dat格式的檔案裡如city.dat,檔案儲存到指令碼錄製的那個路徑裡。檔案內容首行為name,內容一個一行,末尾以空行結束表示檔案內容結束。
在引數列表中將該檔案匯入。可以設定以順序方式或其他方式來讀取該引數列表。可幾個設定綜合起來用來達到自己的目的。如出發地選擇順序、從第一個開始,目的地也選順序,從第二個開始。
此外,還能設定腳本回放的次數。(按下F4--設定執行次數)
指令碼優化二:
以上指令碼實現了幾次登入,幾次訂票--目的登入一次,訂票N此,退出一次
把登入指令碼放在vuser_init,把退出指令碼放在vuser_end,內容還在Action就行
指令碼優化三:自動判斷指令碼的回放是否成功