1.右鍵選擇“Replace with a Parameter”這種,會默認初始化數(shù)據(jù)。
2.點擊工具欄中的parameter list,不會初始化數(shù)據(jù)。三. 參數(shù)化取值1.select next row指明了以何種方式從數(shù)據(jù)池中獲取數(shù)據(jù)選項:Sequential 表示按照順序取值Random表示從數(shù)據(jù)池中隨機取值Unique.表示每次取唯一值2.Update value on 指明了參數(shù)值在何時發(fā)生變化。選項:Each iteration表示在每次跌代時更新參數(shù)的值。如果在一個迭代過程中某參數(shù)出現(xiàn)了多次,參數(shù)取相同的值Each occurrence表示在參數(shù)每次出現(xiàn)時更新參數(shù)的值。如果在一個迭代過程中某參數(shù)出現(xiàn)了多次,每次取不同的值。Once表示VU在執(zhí)行時,只在第一次跌代時為參數(shù)取一次值,以后每次跌代使用相同的值。根據(jù)select next row和Update value on的不同設置組合,VU運行過程中為參數(shù)取不同的值,下面舉例說明:假設在某個類型為File的參數(shù)Username設置如下表1所示的數(shù)據(jù)池,該參數(shù)所在的腳本中包含該參數(shù)的部分要求迭代2次,執(zhí)行腳本的VU數(shù)量為2個,腳本需要迭代的部分有兩個地方使用了參數(shù)Username,則在不同設置時的參數(shù)取值如表2:表1 參數(shù)Username的數(shù)據(jù)池數(shù)據(jù)UsernameAliceBobChrisDavidFrankGreenJackSmith表2 不同設置時參數(shù)取值示例Select next row 取值Update value on取值參數(shù)取值示例SequentialEach iteration每個VU中的參數(shù)都按照同樣的方式取值,第一次迭代中參數(shù)Username兩次出現(xiàn)都取Alice,第二次迭代中參數(shù)Username兩次出現(xiàn)都取BobEach occurrence每個VU中的參數(shù)都按照同樣的方式取值,第一次迭代中參數(shù)首次出現(xiàn)取Alice,第二次出現(xiàn)取Bob;第二次迭代中參數(shù)首次出現(xiàn)取C hris,第二次出現(xiàn)取DavidOnce每個VU中的參數(shù)都按照同樣的方式取值,參數(shù)在每次迭代的每次出現(xiàn)均取同樣的值AliceRandomEach iteration每個VU中的參數(shù)都同樣的方式取值,第一次迭代中參數(shù)兩次出現(xiàn)都取相同的值,其值從數(shù)據(jù)池中隨機選擇一個;第二次迭代中參數(shù)兩次出現(xiàn)都取相同的值,其值從數(shù)據(jù)池中隨機選擇一個Each occurrence每個VU中的參數(shù)都同樣的方式取值,第一次迭代中參數(shù)首次出現(xiàn)取數(shù)據(jù)池中的一個隨機值,第二次再隨機取一個值,第二次迭代中參數(shù)首次出現(xiàn)隨機從數(shù)據(jù)池中取一個值;第二次出現(xiàn)再隨機取一個值Once每個VU中的參數(shù)都按照同樣的方式取值,參數(shù)在每次迭代的每次出現(xiàn)均取同樣的值,該值從數(shù)據(jù)池中隨機選取UniqueEach iteration兩個VU按照不同的方式取值:對于第一個VU,第一次迭代中的參數(shù)兩次出現(xiàn)均取相同的值Alice,第二次迭代中的參數(shù)兩次均取Bob;對第二個VU,第一次迭代中的參數(shù)兩次出現(xiàn)均取相同值Chris,第二次迭代中的參數(shù)兩次均取DavidEach occurrence兩個VU按照不同的方式取值:對于第一個VU,第一次迭代中的參數(shù)第一次出現(xiàn)時取值Alice,第二次出現(xiàn)時取值Bob,第二次迭代中的參數(shù)首次出現(xiàn)時取Chris,第二次出現(xiàn)時取David;對于第二個VU,第一次迭代中的參數(shù)第一次出現(xiàn)時取值Frank,第二次出現(xiàn)時取值Green,第二次迭代中的參數(shù)首次出現(xiàn)時取Jack,第二次時取值Smith.Once兩個VU按照不同的方式取值:對于第一個VU,兩次迭代中的參數(shù)每次出現(xiàn)均取相同的值Alice;對于第二個VU,兩次迭代中的參數(shù)每次出現(xiàn)取相同的值BobUnique:主要是強調(diào)取值的唯一性,如果到最后沒有該值了,LR提供了其他解決方案.When out of values選項只有在select next row設置為Unqiue時才有效,當數(shù)據(jù)池中的數(shù)據(jù)量不能支持迭代和Unique要求的數(shù)據(jù)量時,可以通過設置該選項的值指示LR的處理方法:Abort VUser,則遇到這種情況時,VU停止運行;Continue in a cyclic manner,取值超過時,啟用循環(huán)掃描,掃描那些還未被使用的數(shù)據(jù)進行使用;Continue with last value,所有不足的取值都用最后一個取值來代替。關于參數(shù)化取值,若有不明白,可以參照http://blog.csdn.net/candle806/article/details/6614486四.參數(shù)化常見錯誤錯誤代碼:Error:missing newline in d:\loadrunner\username.dat錯誤原因:場景設置不合理,參數(shù)數(shù)量不夠,或者參數(shù)化文件有問題。1)如果參數(shù)化文件反復修改,而在場景設置時沒有更新腳本,可能會導致參數(shù)化文件修改未生效的情況,建議當參數(shù)不是很多時,不要打開記事本去編輯參數(shù),直接在LR提供的參數(shù)的表格中進行編輯即可。如果參數(shù)很多,需要直接打開記事本編輯參數(shù),可以在controller中重新選擇一次腳本。2)在記事本中編輯參數(shù)時,需要在最后一個參數(shù)后打回車,讓鼠標的光標移動到下一行。五.備注通過這種參數(shù)化連接數(shù)據(jù)庫進行壓力測試對性能是有一定的影響建議:參數(shù)化數(shù)據(jù)還是應該預先從數(shù)據(jù)庫抽取出來存到參數(shù)化文件中,例如對于Oracle的數(shù)據(jù)庫,可先通過PL/SQL Developer等客戶端工具,把數(shù)據(jù)查詢出來放在文本文件里面,這樣做參數(shù)化比較合理,不然每次壓力測試時LoadRunner都要去數(shù)據(jù)庫查詢數(shù)據(jù),再返回給LoadRunner,網(wǎng)絡延遲不說,還會給數(shù)據(jù)庫服務器產(chǎn)生額外的系統(tǒng)資源開銷,這樣對測試結果影響很大。