loadrunner調用腳本
1. loadrunner如何使用
1、使用LoadRunner 完成測試一般分為四個步驟:
2、Vvitrual User Generator 創建腳本
創建腳本,選擇協議
錄制腳本
編輯腳本
檢查修改腳本是否有誤
3、中央控制器(Controller)來調度虛擬用戶
創建Scenario,選擇腳本
設置機器虛擬用戶數
設置Schele
如果模擬多機測試,設置Ip Spoofer
4、運行腳本
分析scenario
分析測試結果
5、安裝LoadRunner 中文版
LoadRunner 分為Windows 版本和Unix 版本。如果我們的所有測試環境基於Windows
平台, 那麼我們只要安裝Windows 版本即可。本章講解的安裝過程就是LoadRunner7.8中文的Windows 版本的安裝。
6、使用LoadRunner進行負載/壓力測試
7、錄制基本的用戶腳本
創建用戶腳本需要用到VuGen。提示: 運行VuGen 最好在1024*768 的解析度下, 否則有些工具欄會看不到。
啟動Visual User Generator 後, 通過菜單新建一個用戶腳本, 選擇系統通訊的協議。
這里我們需要測試的是Web 應用,同時考慮到後台SQL資料庫所以我們需要選擇Web(HTTP/HTML)協議+SQL SERVER協議,確定後, 進入主窗體。通過菜單來啟動錄制腳本的命令。
8、在URL 中添入要測試的Web 站點地址..。
●測試http://lms.ah.sp.com.cn/lms-lmm/loginForm.do選擇要把錄制的腳本放到哪一個部分, 默認情況下是「Action」。
這里簡單說明一下:VuGen 中的腳本分為三部分:vuser_init、vuser_end 和Action。其
中vuser_init 和vuser_end 都只能存在一個, 不能再分割, 而Action 還可以分成無數多個部分( 通過點擊New 按鈕, 新建ActionXXX)。在錄制需要登陸的系統時, 我們把登陸部分放到vuser_init 中, 把登陸後的操作部分放到Action 中, 把注銷關閉登陸部分放到vuser_end 中。( 如果需要在登陸操作設集合點, 那麼登陸操作也要放到Action 中, 因為vuser_init 中不能添加集合點) 在其他情況下, 我們只要把操作部分放到Action 中即可。注意: 在重復執行測試腳本時,vuser_init 和vuser_end 中的內容只會執行一次, 重復執行的只是Action 中的部分。
點「 選項 」按鈕, 進入錄制的設置窗體, 這里一般情況下不需要改動。
●然後點「OK」 後,VuGen 開始錄制腳本。在錄制過程中, 不要使用瀏覽器的「 後退」 功能,LoadRunner 支持不太好! 錄制過程中, 在屏幕上會有一個工具條出現。錄制的過程和WinRunner 有些類似, 不再多介紹。錄制完成後, 按下「 結束錄制」 按鈕,VuGen 自動生成用戶腳本, 退出錄制過程。
完善測試腳本
當錄制完一個基本的用戶腳本後, 在正式使用前我們還需要完善測試腳本, 增強腳本的
靈活性。一般情況下, 我們通過以下幾種方法來完善測試腳本。插入事務、插入結合點、插入註解、參數化輸入。這里只舉例介紹參數化如何設置,其它只作簡單介紹。
插入事務
事務(Transaction): 為了衡量伺服器的性能, 我們需要定義事務。比如: 我們在腳本
中有一個數據查詢操作, 為了衡量伺服器執行查詢操作的性能, 我們把這個操作定義為一個事務, 這樣在運行測試腳本時,LoadRunner 運行到該事務的開始點時,LoadRunner 就會開始計時, 直到運行到該事務的結束點, 計時結束。這個事務的運行時間在結果中會有反映。
插入事務操作可以在錄制過程中進行, 也可以在錄制結束後進行。LoadRunner 運行在
腳本中插入不限數量的事務。
具體的操作方法如下: 在需要定義事務的操作前面, 通過菜單或者工具欄插入。輸入該事務的名稱。注意: 事務的名稱最好要有意義, 能夠清楚的說明該事務完成的動作。插入事務的開始點後, 下面需要在需要定義事務的操作後面插入事務的「 結束點」。同樣可以通過菜單或者工具欄插入。默認情況下, 事務的名稱列出最近的一個事務名稱。一般情況下, 事務名稱不用修改。事務的狀態默認情況下是LR_AUTO。一般情況下, 我們也不需要修改, 除非在手工編寫代碼時, 有可能需要手動設置事務的狀態。
插入集合點
插入集合點是為了衡量在加重負載的情況下伺服器的性能情況。在測試計劃中, 可能會
要求系統能夠承受1000 人同時提交數據,在LoadRunner 中可以通過在提交數據操作前面加入集合點, 這樣當虛擬用戶運行到提交數據的集合點時,LoadRunner 就會檢查同時有多少用戶運行到集合點,如果不到1000 人,LoadRunner 就會命令已經到集合點的用戶在此等待, 當在集合點等待的用戶達到1000 人時,LoadRunner 命令1000 人同時去提交數據, 從而達到測試計劃中的需求。
注意: 集合點經常和事務結合起來使用。集合點只能插入到Action 部分,vuser_init 和vuser_end 中不能插入集合點。具體的操作方法如下: 在需要插入集合點的前面, 通過菜單或者工具欄操作輸入該集合點的名稱。注意: 集合點的名稱最好要有意義, 能夠清楚的說明該集合點完
成的動作。
插入注釋
注釋的作用就不多說了, 不過插入注釋最好是在錄制過程中。具體的操作方法如下: 在需要插入注釋的前面, 通過菜單或者工具欄操作
參數化輸入
如果用戶在錄制腳本過程中, 填寫提交了一些數據, 比如要增加資料庫記錄。這些操作
都被記錄到了腳本中。當多個虛擬用戶運行腳本時, 都會提交相同的記錄, 這樣不符合實際的運行情況, 而且有可能引起沖突。為了更加真實的模擬實際環境, 需要各種各樣的輸入。參數化輸入是一種不錯的方法。
用參數表示用戶的腳本有兩個優點:
① 可以使腳本的長度變短。
② 可以使用不同的數值來測試你的腳本。例如, 如果你企圖搜索不同名稱的圖書, 你
僅僅需要寫提交函數一次。在回放的過程中, 你可以使用不同的參數值, 而不只搜索一
個特定名稱的值。
參數化包含以下兩項任務:
① 在腳本中用參數取代常量值。
② 設置參數的屬性以及數據源。
參數化僅可以用於一個函數中的參量。你不能用參數表示非函數參數的字元串。
另外, 不是所有的函數都可以參數化的。
參數化輸入的講解, 我們採用一個例子的方式來進行。
在本例中我們參數化用戶的登陸名:
先看如下腳本,通過腳本錄制找到用戶登陸部分,如圖
參數名隨意取,建議取通俗易懂的名字,下面我們重點介紹一下參數的類型。
●DateTime: 很簡單, 在需要輸入日期/時間的地方, 可以用DateTime 類型來替代。
其屬性設置也很簡單, 選擇一種格式即可。當然也可以定製格式。
.●Group Name:暫時不知道何處能用到,但設置比較簡單。在實際運行中,LoadRunner
使用該虛擬用戶所在的Vuser Group 來代替。但是在VuGen 中運行時,Group Name
將會是None
.●Load Generator Name: 在實際運行中,LoadRunner 使用該虛擬用戶所在Load Generator 的機器名來代替。
.●Iteration Number: 在實際運行中,LoadRunner 使用該測試腳本當前循環的次數來
代替。
.●Random Number: 隨機數。很簡單。在屬性設置中可以設置產生隨機數的范圍
.●Unique Number:唯一的數。在屬性設置中可以設置第一個數以及遞增的數的大小。
注意: 使用該參數類型必須注意可以接受的最大數。例如: 某個文本框能接受的
最大數為99。當使用該參數類型時, 設置第一個數為1, 遞增的數為1, 但100 個
虛擬用戶同時運行時,第100 個虛擬用戶輸入的將是100,這樣腳本運行將會出錯。
注意: 這里說的遞增意思是各個用戶取第一個值的遞增數, 每個用戶相鄰的兩次循
環之間的差值為1。舉例說明: 假如起始數為1, 遞增為5, 那麼第一個用戶第一
次循環取值1, 第二次循環取值2; 第二個用戶第一次循環取值為6, 第二次為7;
依次類推。
●Vuser ID: 設置比較簡單。在實際運行中,LoadRunner 使用該虛擬用戶的ID 來代
替,該ID 是由Controller 來控制的。但是在VuGen 中運行時,Vuser ID 將會是–1。
File: 需要在屬性設置中編輯文件,添加內容,也可以從現成的資料庫中取數據( 下
面我們將會介紹)
●User Defined Function: 從用戶開發的dll 文件提取數據。就目前我認為, 這種方式
沒有必要。VuGen 支持C 語言的語法,在VuGen 中重新編寫類似的函數應該不難。
上面的例子中, 我們取隨機數即可。點「Properties… ..」 按鈕, 進行屬性設置窗口
添入隨機數的取值范圍為(1-50), 選擇一種數據格式。在「屬性」 中有以下幾
個選項:
◆Each Occurrence:在運行時, 每遇到一次該參數, 便會取一個新的值
◆Each iteration:運行時, 在每一次循環中都取相同的值
◆Once:運行時, 在每次循環中, 該參數只取一次值
這里我們用的是隨機數, 選擇Each Occurrence 非常合適。
下面我們再介紹用資料庫中的用戶名來參數化登陸用戶名。
框選住登陸名,點滑鼠右鍵,彈出對話框,選擇「替換為新參數」彈出對話框,此時參數名輸入:name,參數類型選擇File,如圖
注意: 參數的文件名不要使用con.dat、pm.dat 或者lpt*.dat 等系統裝置名下面我們將會連接資料庫, 從數據表中選擇用戶名。點「數據向導」 按鈕,顯示如圖
添入連接字元串, 點「創建」 按鈕,選擇事先配置好的ODBC連接。在SQL語句里輸入select查詢語句,出現如圖窗口
提醒: 在參數數據顯示區, 最多隻能看到100 行, 如果數據超過100 行, 只能點「編輯」 按鈕, 進入記事本看。
「選擇下一行 」 有以下幾種選擇:
●Sequential: 按照順序一行行的讀取。每一個虛擬用戶都會按照相同的順序讀取
●Random: 在每次循環里隨機的讀取一個, 但是在循環中一直保持不變
●Unique : 唯一的數。注意: 使用該類型必須注意數據表有足夠多的數。比如Controller 中設定20 個虛擬用戶進行5 次循環, 那麼編號為1 的虛擬用戶取前5 個數, 編號為2 的虛擬用戶取6-10 的數, 依次類推, 這樣數據表中至少要有100 個數據, 否則Controller 運行過程中會返回一個錯誤。
「按編號」指選擇列表中的那一列數據,從左到右分別是1、2、3依次
通常用在有關聯性的數據上面。我們這里取值Sequential 即可。完成設置關閉即可
4.3 單機運行測試腳本
經過以上的各個步驟後, 腳本就可以運行了。運行腳本可以通過菜單或者工具欄來操作。
執行「 運行」 命令後,VuGen 先編譯腳本, 檢查是否有語法等錯誤。如果有錯誤,VuGen
將會提示錯誤。雙擊錯誤提示,VuGen 能夠定位到出現錯誤的那一行。為了驗證腳本的正
確性, 我們還可以調試腳本, 比如在腳本中加斷點等, 操作和在VC 中完全一樣, 相信大家誰都不會感到陌生。如果編譯通過, 就會開始運行。然後會出現運行結果。
2. 如何調試LoadRunner腳本
VuGen 包含兩個選項來幫助調試 Vuser 腳本:「分步運行」命令和斷點。這些選項不適用於 VBscript 和 VB 應用程序類型的 Vuser。
要查看「調試」工具欄,請執行下列操作:
右鍵單擊工具欄區域,然後選擇「調試」。「調試」工具欄將顯示在工具欄區域
中。
「分步運行」命令
「分步運行」命令在運行腳本時一次運行一行。通過該命令,可以依次查看腳本
每一行的執行情況。
要分步運行腳本,請執行下列操作:
1 依次選擇「Vuser」 > 「分步運行」,或者單擊「調試」工具欄上的「步驟」按
鈕。VuGen 將執行腳本的第一行。
2 繼續單擊「步驟」按鈕來執行該腳本,直到腳本運行完成為止。
斷點
通過斷點可以使腳本在特定位置暫停執行。它可用於在執行期間的預定點處檢查
該腳本對應用程序的影響。要管理書簽,請參閱第 186 頁上的「斷點管理器」。
要設置斷點,請執行下列操作:
1 將游標置於腳本中要停止執行的行上。
2 依次選擇「插入」 > 「切換斷點」,或者單擊「調試」工具欄上的「斷點」按
鈕。也可以按鍵盤上的 F9 鍵。將在腳本的左邊距顯示「斷點」符號 ( )。
3 要禁用斷點,請將游標置於包含斷點符號的行上,然後單擊「調試」工具欄上的
「啟用 / 禁用斷點」按鈕。「斷點」符號中將會顯示一個白點 ( )。禁用一個斷點
後,執行將在下一個斷點處暫停。再次單擊該按鈕可以啟用斷點。
要刪除斷點,請將游標置於包含斷點符號的行上,然後單擊「斷點」按鈕或者按
F9 鍵。
要運行包含斷點的腳本,請執行下列操作:
1 照常運行腳本。
到達斷點時, VuGen 將暫停腳本的執行。可以檢查腳本運行到斷點時的效果,
並進行必要的更改,然後從斷點處重新啟動腳本。
2 要繼續執行,請依次選擇「Vuser」 > 「運行」。
重新啟動後,腳本將繼續執行,直到遇到下一個斷點或腳本完成。
斷點管理器
可以使用斷點管理器來查看和管理斷點。通過斷點管理器您可以操縱腳本中的所
有斷點。
要打開斷點管理器,請選擇「編輯」 > 「斷點」。
要跳至腳本中的斷點處,請執行下列操作:
1 從列表中選擇一個斷點。
2 單擊「在腳本中突出顯示」。則將在腳本中突出顯示該行。
注意,每次只能突出顯示一個斷點。
管理斷點
可以通過斷點管理器添加、刪除、禁用斷點或者為斷點設置條件
要添加斷點,請執行下列操作:
1 單擊「添加」。將打開「添加斷點」對話框。
2 選擇「操作」,並指定要添加斷點的行號。
3 單擊「確定」。該斷點將被添加到斷點列表中。
要刪除斷點,請執行下列操作:
1 要刪除單個斷點,請選擇該斷點並單擊「刪除」。
2 要立即刪除所有斷點,請單擊「全部刪除」。
要啟用 / 禁用斷點,請執行下列操作:
1 要啟用斷點,請在「操作」列內選中操作的復選框。
2 要禁用斷點,請在「操作」列內清除操作的復選框。
通過斷點管理器您可以將斷點設置為在某些條件下暫停執行。
3. LoadRunner工具的Vuser腳本
LoadRunner工具可模擬一個數千用戶同時使用客戶端/ 伺服器系統的環境。為執行此操作,LoadRunner工具用「虛擬用戶 (Vuser)」代替實際用戶。Vuser 執行的操作是用 Vuser 腳本描述的。LoadRunner工具提供各種幫助您開發 Vuser 腳本的工具。
介紹Vuser LoadRunner工具 用虛擬用戶或 Vuser 代替實際用戶。Vuser 通過執行典型業務流程模擬實際用戶的操作。對於 Vuser 執行的每個操作,LoadRunner工具 向伺服器或類似的企業系統提交輸入信息。增加 Vuser 的數量可以增大系統上的負載。一台工作站只能容納一個實際用戶,而多個 Vuser 可以同時運行在同一台工作站上。要模擬較重用戶負載的情形,請創建大量執行一系列任務的 Vuser.例如,可以觀察一百個 Vuser 同時從銀行的 ATM 提取現金時伺服器的行為。通過使用 LoadRunner工具,可以將您的客戶端/ 伺服器性能測試需求劃分為多個方案。方案定義每個測試會話中發生的事件。這樣,例如,方案會定義並控制要模擬的用戶的數量和他們執行的操作,以及運行模擬操作所用的計算機。LoadRunner工具 擁有各種 Vuser 類型,每一類型都適合於特定的負載測試環境。這樣就能夠使用 Vuser 精確模擬真實世界的情形。Vuser 在方案中執行的操作是用Vuser 腳本描述的。Vuser 腳本中包括在方案中度量並錄制伺服器性能的函數。每個 Vuser 類型都需要特定類型的 Vuser 腳本。創建方案所需的 Vuser 腳本是LoadRunner工具 測試過程的一部分。
查看Vuser類型LoadRunner工具 提供了多種 Vuser 技術,通過這些技術可以在使用不同類型的客戶端/ 伺服器體系結構時生成伺服器負載。每種 Vuser 技術都適合於特定體系結構並產生特定的 Vuser 類型。例如,可以使用 Web Vuser 模擬用戶操作 Web 瀏覽器、使用 Tuxedo Vuser 模擬 Tuxedo 客戶端與 Tuxedo 應用程序伺服器之間的通信、使用 RTE Vuser 操作終端模擬器。各種 Vuser 技術既可單獨使用,又可一起使用,以創建有效的負載測試方案。