TXT文本,EXCEL表格以及數據庫中的表都可以作為參數的數據集載體,LR都是支持的。
特別提醒:
1.在形成數據池之后,數據庫中的數據變化不會影響數據池中的數據。
2.數據文件一定要以一個空行結束,否則,最后一行輸入的數據不會被參數所使用。
3.一般我們用到的很多的都是使用數據文件來保存我們的參數。一般來說LR對於參數的個數是沒有限制的,但是在那個Parameter List中顯示的就只能顯示100個。so當你看到顯示在列表中的參數個數少於你的文件中保存的個數,不用緊張。
一.介紹LR參數化數據源Orac le,MSSQL,Excel
1. 數據來源Oracle向導,選擇“Data Wizard”創建,如圖:
2. 數據來源MSSQL向導
與Oracle不同的是:
3. 數據來源Excel向導
與Oracle不同的地方:選擇Excel Files
輸入查詢語句:
注意:經常會出現以下錯誤:
解決辦法:重新再創建一次就可以了。
二、介紹兩種參數化的區別
一種會初始化數據,另一種不會初始化數據
具體如圖:
1.右鍵選擇“Replace with a Parameter”這種,會默認初始化數據。
2.點擊工具欄中的parameter list,不會初始化數據。
三. 參數化取值
select next row指明了以何種方式從數據池中獲取數據
選項:
Sequential 表示按照順序取值
Random表示從數據池中隨機取值
Unique.表示每次取唯一值
Update value on 指明了參數值在何時發生變化。
選項:
Each iteration表示在每次跌代時更新參數的值。如果在一個迭代過程中某參數出現了多次,參數取相同的值
Each occurrence表示在參數每次出現時更新參數的值。如果在一個迭代過程中某參數出現了多次,每次取不同的值。
Once表示VU在執行時,只在第一次跌代時為參數取一次值,以后每次跌代使用相同的值。
根據select next row和Update value on的不同設置組合,VU運行過程中為參數取不同的值,下面舉例說明:
假設在某個類型為File的參數Username設置如下表1所示的數據池,該參數所在的腳本中包含該參數的部分要求迭代2次,執行腳本的VU數量為2個,腳本需要迭代的部分有兩個地方使用了參數Username,則在不同設置時的參數取值如表2:
表1 參數Username的數據池數據
Username |
Alice |
Bob |
Chris |
David |
Frank |
Green |
Jack |
Smith |
表2 不同設置時參數取值示例
Select next row 取值 |
Update value on取值 |
參數取值示例 |
Sequential |
Each iteration |
每個VU中的參數都按照同樣的方式取值,第一次迭代中參數Username兩次出現都取Alice,第二次迭代中參數Username兩次出現都取Bob |
Each occurrence |
每個VU中的參數都按照同樣的方式取值,第一次迭代中參數首次出現取Alice,第二次出現取Bob;第二次迭代中參數首次出現取C hris,第二次出現取David |
|
Once |
每個VU中的參數都按照同樣的方式取值,參數在每次迭代的每次出現均取同樣的值Alice |
|
Random |
Each iteration |
每個VU中的參數都同樣的方式取值,第一次迭代中參數兩次出現都取相同的值,其值從數據池中隨機選擇一個;第二次迭代中參數兩次出現都取相同的值,其值從數據池中隨機選擇一個 |
Each occurrence |
每個VU中的參數都同樣的方式取值,第一次迭代中參數首次出現取數據池中的一個隨機值,第二次再隨機取一個值,第二次迭代中參數首次出現隨機從數據池中取一個值;第二次出現再隨機取一個值 |
|
Once |
每個VU中的參數都按照同樣的方式取值,參數在每次迭代的每次出現均取同樣的值,該值從數據池中隨機選取 |
|
Unique |
Each iteration |
兩個VU按照不同的方式取值:對於第一個VU,第一次迭代中的參數兩次出現均取相同的值Alice,第二次迭代中的參數兩次均取Bob;對第二個VU,第一次迭代中的參數兩次出現均取相同值Chris,第二次迭代中的參數兩次均取David |
Each occurrence |
兩個VU按照不同的方式取值:對於第一個VU,第一次迭代中的參數第一次出現時取值Alice,第二次出現時取值Bob,第二次迭代中的參數首次出現時取Chris,第二次出現時取David;對於第二個VU,第一次迭代中的參數第一次出現時取值Frank,第二次出現時取值Green,第二次迭代中的參數首次出現時取Jack,第二次時取值Smith. |
|
Once |
兩個VU按照不同的方式取值:對於第一個VU,兩次迭代中的參數每次出現均取相同的值Alice;對於第二個VU,兩次迭代中的參數每次出現取相同的值Bob |
Unique:主要是強調取值的唯一性,如果到最后沒有該值了,LR提供了其他解決方案.
When out of values選項只有在select next row設置為Unqiue時才有效,當數據池中的數據量不能支持迭代和Unique要求的數據量時,可以通過設置該選項的值指示LR的處理方法。
Abort VUser,則遇到這種情況時,VU停止運行;
Continue in a cyclic manner,取值超過時,啟用循環掃描,掃描那些還未被使用的數據進行使用;
Continue with last value,所有不足的取值都用最后一個取值來代替。
關於參數化取值,若有不明白,可以參照http://blog.csdn.net/candle806/article/details/6614486
四.參數化常見錯誤
錯誤代碼:Error:missing newline in d:\loadrunner\username.dat
錯誤原因:場景設置不合理,參數數量不夠,或者參數化文件有問題。
1)如果參數化文件反復修改,而在場景設置時沒有更新腳本,可能會導致參數化文件修改未生效的情況,建議當參數不是很多時,不要打開記事本去編輯參數,直接在LR提供的參數的表格中進行編輯即可。如果參數很多,需要直接打開記事本編輯參數,可以在controller中重新選擇一次腳本。
2)在記事本中編輯參數時,需要在最后一個參數后打回車,讓鼠標的光標移動到下一行