面試官問了一個問題
有一個用戶和需要參數化
user
1
2
3
現在有3個用戶,要參數化后取值為1,2,2 該怎么設置?
當時一下子懵了,下來之后查閱各種資料
答案只有一種方式:Random + Each occurrence
參數化詳解(轉自小強老師)
一、前言
希望不明白Loadrunner參數化對參數更新規則的,看完以后能夠徹底解脫吧。
二、前提假設
假設存在:
數據:A、B、C
虛擬用戶:Vuser1、Vuser2、Vuser3
腳本中參數出現三次,腳本迭代三次
怎樣取下一行數據?
Sequential:順序,所有虛擬用戶按照順序讀取數據表
Random:隨機,所有虛擬用戶隨機形式讀取數據表
Unique:唯一,所有虛擬用戶每次各取一值(不重復)
什么時候訪問數據表完成數據更新?
Each iteration:每次迭代以后
Each occurrence:每次出現參數
Once:只改變一次
三、組合實例
實例:
順序
Sequential + Each iteration
第一次迭代 無論參數任何時候出現 Vuser1、Vuser2、Vuser3 取A
第二次迭代 無論參數任何時候出現 Vuser1、Vuser2、Vuser3 取B
第三次迭代 無論參數任何時候出現Vuser1、Vuser2、Vuser3 取C
Sequential + Each occurrence
第N次迭代 參數第一次出現 Vuser1、Vuser2、Vuser3 取A
第N次迭代 參數第二次出現 Vuser1、Vuser2、Vuser3 取B
第N次迭代 參數第三次出現 Vuser1、Vuser2、Vuser3 取C
Sequential + Once
第N次迭代 無論參數任何時候出現 Vuser1取A Vuser2取B Vuser3取C
隨機
Random + Each iteration
第N次迭代 無論遇到該參數多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 無論遇到該參數多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 無論遇到該參數多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新
在N+1次迭代,每個Vuser重新隨機抽取數據
Random + Each occurrence
第N次迭代 第一次遇到該參數 Vuser1、Vuser2、Vuser3在A、B、C中隨機抽取一個
第N次迭代 第二次遇到該參數 Vuser1、Vuser2、Vuser3重新在A、B、C中隨機抽取一個
第N次迭代 第三次遇到該參數 Vuser1、Vuser2、Vuser3重新在A、B、C中隨機抽取一個
在N+1次迭代,每個Vuser繼續保持每遇到一次參數就重新抽取一次數據
Random + Once
第N次迭代 無論遇到該參數多少次 Vuser1都只取A,或者B,又或者C
第N次迭代 無論遇到該參數多少次 Vuser2都只取A,或者B,又或者C
第N次迭代 無論遇到該參數多少次 Vuser3都只取A,或者B,又或者C
在N+1次迭代,每個Vuser不會重新抽取數據
唯一
注意:使用該Unique類型必須注意數據表有足夠多的數。
比如Controller 中設定20 個虛擬用戶進行5 次循環,那么編號為1 的虛擬用戶取前5個數,編號為2 的虛擬用戶取6-10 的數,依次類推,這樣數據表中至少要有100個數據,否則Controller 運行過程中會返回一個錯誤。
因此以下例子在數據表中加入數據D、E、F、G、H、I。
Unique + Each iteration
第一次迭代 無論參數出現多少次 Vuser1取A Vuser2取D Vuser3取G
第二次迭代 無論參數出現多少次 Vuser1取B Vuser2取E Vuser3取H
第三次迭代 無論參數出現多少次 Vuser1取C Vuser2取F Vuser3取I
Unique + Each occurrence
第一次迭代 第一次出現該參數 Vuser1取A Vuser2取D Vuser3取G
第一次迭代 第二次出現該參數 Vuser1取B Vuser2取E Vuser3取H
第一次迭代 第三次出現該參數 Vuser1取C Vuser2取F Vuser3取I
Unique + Once
無論進行多少次迭代 無論參數任何時候出現 Vuser1取A Vuser2取B Vuser3取C
數據D、E、F、G、H、I不取
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。