歡迎您光臨本站 註冊首頁

Loadrunner中簡單參數的設置

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

Loadrunner中簡單參數的設置

Loadrunner中參數的設置 ---轉


在做負載或者壓力測試時,很多人選擇使用了Loadrunner測試工具。該工具的基本流程是先將用戶的實際操作錄製成腳本,然後產生數千個虛擬用戶運行腳本(虛擬用戶可以分佈在區域網中不同的PC機上),最後生成相關的報告以及分析圖。但是在錄製腳本的過程中會遇到很多實際的問題,比如不同的用戶有不同的使用數據,這就牽涉到參數的設置問題。本文就Loadrunner中參數的設置進行說明,希望對大家有所幫助。
在錄製程序運行的過程中,VuGen(腳本生成器) 自動生成了包含錄製過程中實際用到的數值的腳本。如果你企圖在錄製的腳本中使用不同的數值執行腳本的活動(如查詢、提交等等),那麼你必須用參數值取代錄製的數值。這個過程稱為參數化腳本。
本文主要包括如下內容:理解參數的局限性、建立參數、定義參數的屬性、理解參數的類型、為局部數據類型設置參數的屬性、為數據文件設置參數的屬性、從已經存在的資料庫中引入數據。
除了GUI,以下的內容適合於各種類型的用戶腳本。
一、關於參數的定義
在你錄製程序運行的過程中,腳本生成器自動生成由函數組成的用戶腳本。函數中參數的值就是在錄製過程中輸入的實際值。
例如,你錄製了一個Web應用程序的腳本。腳本生成器生成了一個聲明,該聲明搜索名稱為「UNIX」的圖書的資料庫。
當你用多個虛擬用戶和迭代回放腳本時,也許你不想重複使用相同的值「UNIX」。那麼,你就可以用參數來取代這個常量。
結果就是你可以用指定的數據源的數值來取代參數值。數據源可以是一個文件,也可以是內部產生的變數。
用參數表示用戶的腳本有兩個優點:
① 可以使腳本的長度變短。
② 可以使用不同的數值來測試你的腳本。例如,如果你企圖搜索不同名稱的圖書,你僅僅需要寫提交函數一次。在回放的過程中,你可以使用不同的參數值,而不只搜索一個特定名稱的值。
參數化包含以下兩項任務:
① 在腳本中用參數取代常量值。
② 設置參數的屬性以及數據源。
參數化僅可以用於一個函數中的參量。你不能用參數表示非函數參數的字元串。
另外,不是所有的函數都可以參數化的。
二、參數的創建
可以指定名稱和類型來創建參數。不存在對腳本中參數個數的限制。
在Web程序的用戶腳本中,你可以使用如下過程在基於文本的腳本視圖中創建參數。或者,也可以在基於圖標的樹形視圖中創建參數。
要創建一個參數:
1、 將游標定位在要參數化的字元上,點擊右鍵。打開彈出菜單。
2、 在彈出菜單中,選擇「Replace with a Parameter」。選擇或者創建參數的對話框彈出。
3、 在「Parameter name」中輸入參數的名稱,或者選擇一個在參數列表中已經存在的參數。
4、 在「Parameter type」下拉列表中選擇參數類型。
5、 點擊「OK」,關閉該對話框。腳本生成器便會用參數中的值來取代腳本中被參數化的字元,參數用一對「{}」括住。
注意:在參數化CORBA或者General-Java 用戶腳本的時候,必須參數化整個字元串,而不是其中的部分。
另外注意:除了Web或者WAP,預設的參數括弧對於任何腳本都是 「{}」。你可以在「General Options」對話框中的「Parameterization」標籤(Tools>General Options)中定義參數括弧種類。
6、 用同樣的參數替換字元的其餘情況,選中參數,點擊右鍵,彈出菜單。從彈出的菜單中,選擇「Replace More Occurrences」。搜索和替換對話框彈出。
「Find What」中顯示了你企圖替換的值。「Replace With」中顯示了括弧中參數的名稱。
選擇適當的檢驗框來匹配整個字元或者大小寫。如果要搜索規則的表達式(.,!,?等等),選中「Regular Expression」檢驗框,然後點擊「Replace」或者「Replace All」。
注意:小心使用「Replace All」,尤其替換數字字元串的時候。腳本生成器將會替換字元出現的所有情況。
7、 如果想用以前定義過的參數來替換常量字元串的話,選中該字元串,點擊右鍵,然後選擇「Use Existing Parameter」,子菜單「Use Existing Parameters」彈出。
從子菜單「Use Existing Parameters」選擇參數,或者用「Select from Parameter List」來打開參數列表對話框。
注意:如果用以前定義過的參數來替換常量字元串的話,那麼,使用「Parameter List」非常方便。同時,還可以查看和修改該參數的屬性。
8、 對於已經用參數替換過的地方,如果想取回原來的值,那麼,就在參數上點擊右鍵,然後選擇「Restore Original Value」。
在Web用戶腳本的樹形視圖中創建參數
在Web用戶腳本的樹形視圖中創建一個參數的步驟
1、將游標定位在企圖參數化的地方,點擊右鍵,從彈出的菜單中選擇「Properties」。則相關的屬性對話框打開。
2、點擊在要參數化的參量的旁邊的「ABC」形狀的圖標。「Select or Create Parameter」對話框打開。
3、在「Parameter name」中輸入參數的名稱,或者從列表中選擇一個已經存在的參數。
4、在「Parameter type」中輸入參數的類型。
5、點擊「OK」關閉該對話框。用戶腳本生成器會用參數來替換最初的字元串常量,並用一個表格形狀的圖標替換「ABC」形狀的圖標。
6、要恢復參數化以前的值,點擊圖標,然後從彈出的菜單中選擇「Undo Parameter」,則以前的值便會重現。
三、定義參數的屬性
創建參數完成後,就可以定義其屬性了。參數的屬性定義就是定義在腳本執行過程中,參數使用的數據源。
在Web用戶腳本中,你既可以在基於文本的腳本視圖中定義參數屬性,也可以在基於圖標的樹形視圖中定義參數屬性。下面的過程將教你如何在基於本文的腳本視圖中定義參數屬性。
定義參數屬性步驟:
1、 在參數上點擊右鍵,有菜單彈出。
2、 在彈出的菜單中,選擇「Parameter Properties」。參數屬性對話框打開,顯示和當前參數類型相關的屬性。
3、 輸入參數的屬性值。
4、 點擊「Close」關閉參數屬性對話框。
在Web用戶腳本的樹形視圖中定義參數的屬性
1、 將關標定位在參數上,然後點擊右鍵,選擇「Properties」。屬性對話框打開。
2、 點擊要定義屬性的參數旁邊的表格形狀按鈕,點擊右鍵,選擇「Parameter Properties」。參數屬性對話框打開,和參數類型相關的屬性顯示出來。
3、 輸入參數的屬性。
4、 點擊「Close」關閉參數屬性對話框。
使用參數列表
使用參數列表可以在任意時刻查看所有的參數,創建新的參數、刪除參數,或者修改已經存在參數的屬性。
要使用參數列表:
1、 點擊參數列表按鈕或者用「Vuser>Parameter List」。參數列表對話框打開。
2、 要創建新的參數,點擊「New」按鈕。新的參數則被添加在參數樹中,該參數有一個臨時的名字,你可以給它重新命名,然後回車。
注意:不要將一個參數命名為「unique」,因為這個名稱是用戶腳本生成器本身的。
設置參數的類型和屬性,點擊「OK」,關閉參數列表對話框。
注意:用戶腳本生成器創建新的參數,但是不會自動用該參數在腳本中替換任意選中的字元串。
3、 要刪除已有的參數,那麼,要先從參數樹中選擇該參數,點擊「Delete」,然後確認你的行為即可。
4、 要修改已有參數,那麼,要先從參數樹中選擇該參數,然後編輯參數的類型和屬性。
四、理解參數的類型
在你定義參數屬性的時候,要指定參數值的數據源。你可以指定下列數據源類型的任何一種:
Internal Data 虛擬用戶內部產生的數據。
Data Files 存在於文件中的數據。可能是已存在的文件或者是用腳本生成器新創建的。
User-Defined Functions 調用外部DLL函數生成的數據
Internal Data包括以下幾種:
1. Date/Time
Date/Time用當前的日期/時間替換參數。要指定一個Date/Time格式,你可以從菜單列表中選擇格式,或者指定你自己的格式。這個格式應該和你腳本中錄製的Date/Time格式保持一致。
2. Group Name
Group Name 用虛擬用戶組名稱替換參數。在創建scenario的時候,你可以指定虛擬用戶組的名稱。當從用戶腳本生成器運行腳本的時候,虛擬用戶組名稱總是None。
3. Load Generator Name
Load Generator Name用腳本負載生成器的名稱替換參數。負載生成器是虛擬用戶在運行的計算機。
4. Iteration Number
Iteration Number用當前的迭代數目替換參數。
5. Random Number
Random Number用一個隨機數替換參數。通過指定最大值和最小值來設置隨機數的範圍。
6. Unique Number
Unique Number用一個唯一的數字來替換參數。你可以指定一個起始數字和一個塊的大小。
7. Vuser ID
Vuser ID用分配給虛擬用戶的ID替換參數,ID是由Loadrunner的控制器在scenario運行時生成的。如果你從腳本生成器運行腳本的話,虛擬用戶的ID總是-1。
五、數據文件
數據文件包含著腳本執行過程中虛擬用戶訪問的數據。局部和全局文件中都可以存儲數據。可以指定現有的ASCII文件、用腳本生成器創建一個新的文件或者引入一個資料庫。在參數有很多已知值的時候數據文件非常有用。
數據文件中的數據是以表的形式存儲的。一個文件中可以包含很多參數值。每一列包含一個參數的數據。列之間用分隔符隔開,比如說,用逗號。
對數據文件設置參數屬性
如果使用文件作為參數的數據源,必須指定以下內容:
1. 文件的名稱和位置
2. 包含數據的列
3. 文件格式,包括列的分隔符
4. 更新方法
如果參數的類型是「File」,打開參數屬性(Parameter Properties)對話框,設置文件屬性如下:
1. 在「File path」中輸入文件的位置,或者點擊「Browse」指定一個已有文件的位置。預設情況下,所有新的數據文件名都是「parameter_name.dat」,注意,已有的數據文件的後綴必須是.dat。
2. 點擊「Edit」。記事本打開,裡面第一行是參數的名稱,第二行是參數的初始值。使用諸如逗號之類的分隔符將列隔開。對於每一新的錶行開始一行新的數據。
注意:在沒有啟動記事本的情況下如果想添加列,就在參數屬性對話框中點擊「Add Col」,那麼「Add new column」對話框就會彈出。輸入新列的名稱,點擊「OK」。腳本生成器就會添加該列到表中,並顯示該列的初始值。
3. 在「Select Column」部分,指明包含當前參數數據的列。你可以指定列名或者列號。列號是包含你所需要數據的列的索引。列名顯示在每列的第一行(row 0)。
4. 在「Column delimiter」中輸入列分隔符,你可以指定逗號、空格符等等。
5. 在「First data line」中,在腳本執行的時候選擇第一行數據使用。列標題是第0行。若從列標題後面的第一行開始的話,那就在「First data line」中輸入1。如果沒有列標題,就輸入0。
6. 在「Select next row」中輸入更新方法,以說明虛擬用戶在腳本執行的過程中如何選擇表中的數據。方法可以是:連續的、隨機的、唯一的、或者與其它參數表的相同行。
7. 選中「Advance row each iteration」表示虛擬用戶在每次迭代都使用新的一行數據而不是所有的迭代都使用相同的數據。
從文件中更新參數值
若使用文件中的數值,腳本生成器會要求你指定給參數分配數值給的方法。可用的方法有:
1. 順序(Sequential):該方法順序地給虛擬用戶分配參數值。如果正在運行的虛擬用戶訪問數據表的時候,它會取到下一行中可用的數據。
2. 隨機(Random):該方法在每次迭代的時候會從數據表中取隨機數
3. 使用種子取隨機順序(Use Random Sequence with Seed):如果從Loadrunner的控制器來運行scenario,你可以指定一個種子數值用於隨機順序。每一個種子數值在測試執行的時候代表了一個隨機數的順序。無論你何時使用這個種子數值,在scenario中同樣的數據順序就被分配給虛擬用戶。如果在測試執行的時候發現了一個問題並且企圖使用同樣的隨機數序列來重複測試,那麼,你就可以啟動這個功能(可選項)。
4. 唯一(Unique):Unique方法分配一個唯一的有順序的值給每個虛擬用戶的參數。
5. 與以前定義的參數取同一行(Same Line As ):該方法從和以前定義過的參數中的同樣的一行分配數據。你必須指定包含有該數據的列。在下拉列表中會出現定義過的所有參數列表。注意:至少其中的一個參數必須是Sequential、Random或者Unique。
如果數據表中有三列,三個參數定義在列表中:id1,name1和title1,如下:。
ID Name Title
132 Kim Manager
187 Cassie Engineer
189 Jane VP
對於參數id1,你可以指示虛擬用戶使用Random方法,而為參數name1和title1就可以指定方法「Same Line as id1」。所以,一旦ID「132」被使用,那麼,姓名(Name)「Kim」和職位(Title)「Manager」同時被使用。
六、從已存在的資料庫中導入數據
Loadrunner允許你利用參數化從已經存在的資料庫中導入數據。可以使用下列兩種方式之一:
1. 使用Microsoft Query(要求在系統上先安裝MS Query)。
2. 指定資料庫連接字元串和SQL語句。
用戶腳本生成器在從資料庫中導入數據的過程中提供了一個嚮導。在嚮導中,你指明如何導入數據-通過MS Query創建查詢語句或者直接書寫SQL語句。在導入數據以後,以.dat為後綴並作為正規的參數文件保存。
要開始導入資料庫中數據的過程,在參數屬性對話框中點擊「Data Wizard」,則,資料庫查詢嚮導彈出。
要創建新的查詢
1. 選擇「Create new query」。如果需要MS Query的幫助,選擇「Show me how to use Microsoft Query」,然後點擊「Finish」。
如果你還沒有安裝Microsoft Query,Loadrunner會提示你這個功能不可用。在進行之前,從Microsoft Office中安裝MS Query。
2. 在Microsoft Query中遵循以下步驟,導入期望的表和列。
3. 在完成數據的導入后,選擇「Exit and return to Virtual User Generator」,然後點擊「Finish」。在參數屬性對話框中資料庫記錄以data文件的形式顯示出來。
要在MS Query中編輯並查看數據,選擇「View data or edit in Microsoft Query」。若要結束,則選擇「File>Exit and return to Virtual User Generator」返回到腳本生成器。
4. 在「Select Column」部分,指定包含當前參數數據的列可以指定列號或者列名。注意:列標題默認為第0行(row 0)。
5. 從「Select next row」列表中選擇一個更新方法來告訴虛擬用戶在腳本指定的過程中如何選擇表中的數據。可選項是:Sequential、Random、Unique或者Same Line As。其中每一項的含義文章前面已經講述,就不再贅述。
6. 如果選擇「Advance row each iteration」,虛擬用戶在每次迭代的時候會使用新的一行的數據而不是重複同樣的數據。
要指定資料庫連接或者SQL語句
1. 選擇「Specify SQL Statement」,然後點擊「Next」。
2. 點擊「Create」指定一個新的連接字元串。選擇數據源的窗口彈出。
3. 選擇已有的數據源,或者點擊「New」創建一個新的數據源。嚮導將提示你穿過創建ODBC數據源的過程。在完成後,連接字元串就會在連接字元串框中顯示出來。
4. 在SQL框中,輸入或者粘貼SQL語句。
5. 點擊「Finish」繼續SQL語句並導入數據。資料庫記錄將以data文件的形式顯示在參數屬性框中。
6. 在「Select Column」部分中,指定包含當前參數數據的列。你可以指定列號或者列名。
7. 從「Select next row」列表中選擇一個更新方法來告訴虛擬用戶在腳本指定的過程中如何選擇表中的數據。可選項是:Sequential、Random、Unique或者Same Line As。
8. 如果選擇「Advance row each iteration」,虛擬用戶在每次迭代的時候會使用新的一行的數據而不是重複同樣的數據。

---轉自www.goog.cn
《解決方案》

有用 收藏

[火星人 ] Loadrunner中簡單參數的設置已經有586次圍觀

http://coctec.com/docs/service/show-post-3062.html