1. 程式人生 > >LR效能測試框架學習總結

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就行


指令碼優化三:自動判斷指令碼的回放是否成功