LoadRunner總結(2) 引數化中的取值

2021-07-14 15:27:16 字數 2895 閱讀 3701

前言:最近的工作要求就是給組裡寫乙份loadrunner知識點整理的文件,發出來共享,有錯誤的地方希望大家的指正

——————————————————————————————————————————————

引數化對話方塊中與引數取值方式有關的區域如下:

假設乙個dat檔案中有多列值,selectcolumn中設定取值的標識:by number是按第一列、第二列、第三列的方式取列值;by name是按列名取值。file format中column定義分列方式,是按逗號,tab還是空格;first data定義取值從列表的第幾行開始取值,預設是第一行。

1、select nextrow

(1)sequential:按照順序一行行的讀取。每乙個虛擬使用者都會按照相同的順序讀取

(2)random:在每次迴圈裡隨機的讀取乙個,但是在迴圈中一直保持不變

(3)unique :每個vu取唯一的值。

除此之外還有乙個same line as ,可以設定和前面定義的引數取同行的記錄。通常用在有關聯性的資料上面。比如做登入測試的指令碼時,每個使用者的密碼都不同,就可以這樣定義:建立引數檔案,共兩列username、passwd,則設定完username的取值方式後passwd設成 same line as username。

2、update valueon

(1)once :在所有的反覆中都使用同乙個值

(2)eachiteration :每次反覆都要取新值

(3)eachoccurrence :則只要發現該引數就要重新取值,即如果乙個action中有多個該引數,每遇到乙個就要重新取乙個值。

上面兩個選項都有三種情況,如果將他們進行組合,將產生九種取值方式。假設指令碼如上,那麼引數那麼在乙個指令碼中就會被呼叫兩次,在執行日誌中會輸出兩個值。為了判斷只有三個值卻執行四次迭代時列表值用盡時的選擇,下表針對前六種設定方式,每種方式迭代4次,最終執行日誌如下:

這六種種設定方法的實際取值方式的結果如下表所示:

select next row

update value on

執行說明

執行結果

sequential

each iteration

每迭代一次取一行值;當所有的值取完後,再從第一行開始取

甲甲-乙乙-丙丙-甲甲

sequential

each occurrence

每呼叫一次取一行值;當所有的值取完後,再從第一行開始取

甲乙-丙甲-乙丙-甲乙

sequential

once

每次呼叫都是同乙個值,即設定的第乙個取值

甲甲-甲甲-甲甲-甲甲

random

each iteration

每次迭代隨機選擇一行資料進行賦值

甲甲-甲甲-甲甲-乙乙

random

each occurrence

每次呼叫隨機選擇一行資料進行賦值

甲乙-甲甲-丙甲-乙甲

random

once

第一次迭代時隨機取一行資料,後面每次都用第一次的資料。

乙乙-乙乙-乙乙-乙乙

unique實際上是壓力測試中更為常用的設定。如果選擇unique的設定,每個資料只會用一次,當呼叫的次數或迭代次數超過值的個數時就可能會報錯。

下方的when out of value可以選擇當數值個數不夠的情況系統改如何取值。

(1)abort vuser:停止測試

(2)continuewith last value:沿用最後乙個值

我們仍然是之前的指令碼,選擇continuewith last value並迭代執行6次,可以看到執行日誌中當資料不夠時會報錯,後面的資料選擇的就是最後乙個資料「丙」,截圖如下:

(3)continue ina cyclic manner:迴圈取值,再重新開始新一輪的unique取值。

而選擇continue in acyclic manner方式取值得到的結果如下:

最後, ctroller中的引數取值方式

在vuser中引數取值在壓力測試中將是不同的,以下簡單列舉常用的幾個壓力型別:

(1)50個使用者壓力測試,要求測試時間內,使用者登入的賬號沒有重複

取值選擇unique,eachinteraction;由於需要全部為不重複賬號,一定要保證引數化檔案中的賬號充足,或者設定好合理的缺值處理方式。

(2)50個使用者壓力測試,且要求每個使用者用乙個固定賬號,在整個測試週期中,各個使用者之間的賬號不重複。

取值選擇unique,once;由於需要全部為不重複賬號,一定要保證引數化檔案中的賬號充足,通常會在50個賬號外留有餘裕。

注:要用於壓力測試的場景中的指令碼的使用者賬號等資訊使用each interaction的情況更為普遍,賬號資訊很少會使用each occurrence。測試中需要每個虛擬使用者都不同的情況就需要用到unique,其他兩種取值方式(順序、隨機)都可能出現重複。

Loadrunner引數化分析

引數化可以模擬不同的使用者操作伺服器,關聯從某種意義上也是種引數化 從reponse html,json,xml提取 例如 token key userid bookid orderid 系統,程式的資料引數化 第一步 找到需要進行引數化的字串,比如 1 中的username password,都是...

LoadRunner 引數化詳解

loadrunner,是一種 系統行為和效能的負載測試工具。通過以模擬上千萬使用者實施併發負載及實時效能監測的方式來確認和查詢問題,loadrunner能夠對整個企業架構進行測試。通過使用 loadrunner,企業能最大限度地縮短測試時間,優化效能和加速應用系統的發布週期。loadrunner是一...

細說LoadRunner引數化

前言 為什麼這裡說是細說loadrunner引數化,在書和網上到處都能找到關於loadrunner引數化的內容,但是細心的讀者不能難發現,雖然現在很多資料都有關於引數化的內容,但寫的都不夠詳細,對於初學者來說是一件很困難的事,而引數化又是編輯指令碼最重要的一部分之一,沒有學好引數化就不能算是一名合格...