之前的File參數類型是支援使用者手寫的,其他的參數類型不支援手寫參數值。
一、Data/Time
①若要建立新格式,則先編輯,後Add format
②Offset:
在Sample中顯示的是目前某種格式的日期/時間,但有時我們并不需要目前的時間,作為參數值,這裡就可以設定提前、延後、隻有工作日時間。
Offset parameter x days and xx:xx:xx
Working days onl
Prior to current
二、Group Name
要放到控制台上。
舉例:%06s:組名最少6位,若不夠則在組名前面補0
三、iteration number
應用場景一:如果調試腳本時,腳本中的參數在每次疊代時都不能相同(隻要不同即可,沒有其他的要求),則使用該類型比較合适。若用file,還得用Excel或者notepad寫一個檔案,比較麻煩。
四、load generator
五、Random Number
min: max:
六、Unique Number
類似于File中的選值方式unique
需求:手機号138、139号段,1000使用者并發測試,測試過程中要求手機号不能重複出現,測試時間為1個小時。已知:單使用者在一個小時的運作時間内循環次數為457次
分析:①如果不想使用file類型的唯一取值方法,可以使用unique number類型。
②如果單使用者運作一個小時後循環次數為n,則1000使用者中每個使用者循環時間小于n.(因為虛拟使用者數多,壓力大,響應時間長)
步驟:
①腳本:手機号參數化類型為unique,start 1 Block size per VU:500(因為單使用者在1小時循環次數為457,是以當并發操作時,并不會超過這個數,設定500是安全的)
②controller:根據并發測試設定即可(設定每個使用者的疊代次數為457)。
- 這個在因為沒有實際腳本,若隻是簡單的輸出虛拟使用者名和手機号碼(以上面參數化形式),很可能會報錯(不是事務錯誤)。因為在各個計算機在1小時很有可能疊代次數超過457。能夠将此場景設定出來,能運作即可。(若出現error,error是沒有一個使用者塊中資料不夠,它預設使用最後一個資料,程式依然能夠運作下去)
-
這樣的測試可以做多少次?
若虛拟使用者塊設為500,有1000個虛拟使用者,那麼需要500000個資料。
138号碼後面還有8位,是以可能組合成10^8次個号碼。
10^8/500000=200次。
七、Vuser ID
可以用來區分不同的虛拟使用者,在控制台有效
八、表資料參數類型Table
Data Wizard
資料源:資料的源頭
如果把資料當成水,則資料庫就相當于水庫,資料源相當于連接配接水庫的水管。
操作步驟:(這裡用的是access)
1)建立資料庫:在已安裝的資料庫管理軟體中建立一個資料庫lrtest,然後建立一張表user(列1:user 列2:password)
2)為目前資料庫建立資料源:
①控制台—>管理工具—>資料源(ODBC)
②
③
④将資料源和資料庫聯系起來,在“選擇”中指定資料庫,資料源名稱為:dbtest
⑤然後确定即可
3)通過資料源取資料
點選Data Wizard—>選擇”Specity SQL statement menu”—>create—>機器資料源(選擇剛建立的資料源名稱)
下圖中Connection是選擇資料源後自動寫好的;下面的SQL語句是自己手動寫

參數池應用:
1、lr自帶的tours項目,購買機票腳本中,使用者名和密碼分别做參數化,使用者名aa1、aa2……..aa30,共三個虛拟使用者,疊代兩次要求
1)登入過程在init找那個,參數池的政策:順序+每次疊代、唯一+每次疊代
2)登入過程在action中,參數池政策:順序+每次疊代、唯一+每次疊代
結果要說明:
若init中要用到參數,在Action中也會用到此參數,則init的參數和第一次Action的參數值相同。
1)順序+每次疊代:因為參數化的沒在action中,是以兩次疊代都是一個使用者買的票(一個使用者分析):因為在這種模式下,每個使用者執行的都相同,是以aa1 買了6張票
唯一+每次疊代(若選擇預設的自動配置設定塊大小,則塊大小為疊代次數2,是以将參數表2個一塊分開了):aa1 2張;aa3 2張;aa5 2張
2)順序+每次疊代:因為參數化在action中,是以兩次疊代是兩個使用者買的票:因為在這種模式下,每個VU執行相同,是以是aa1 3張;aa2 3張;aa3 3張
唯一+每次疊代(預設塊大小為疊代次數2):aa1 —aa6各1張