lr参数化取值与连接数据库
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)在記事本中編輯參數時,需要在最后一個參數后打回車,讓鼠標的光標移動到下一行
轉載于:https://www.cnblogs.com/qmfsun/p/4401489.html
總結
以上是生活随笔為你收集整理的lr参数化取值与连接数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取网页邮箱地址
- 下一篇: MD5加密字符串并转化为base64(C