1. 程式人生 > >Loadrunner 參數化&參數化策略&參數化mysql

Loadrunner 參數化&參數化策略&參數化mysql

col 設置 文件 邊界 塊大小 images 來看 wpar 重復數據

  參數化的意義不再贅述,個人認為用到參數化有兩種情況:

  1.為了弄一系列的數據供不同的用戶去使用,比如並發註冊的時候不可能註冊同一個賬號很多次吧,需要大批量的不同的賬號數據來運行,這裏就用到了參數化;

  2.當參數不是一個常量,不同情況下值有變化,比如IP地址,就可以參數化,當IP變了後我改下參數就可以,沒必要每次去修改腳本裏的地址,便於維護代碼。

  參數化又有不同的方法,基本都大同小異。這裏介紹兩種,一種是直接邊界參數,還有一種是操作數據庫,從數據庫裏導入數據。

  下面主要介紹多列參數一一對應時的參數化,比如這裏需要參數化四個參數,這四個參數是一一對應的:用戶名、密碼、確認密碼、郵箱,參數化步驟如下:

  1.選中需要參數化的對象,右鍵,點擊【Replace with a new parameter

技術分享圖片

  2.點擊【browser】,在腳本目錄下新建params目錄,用來存放這個腳本的所有參數化數據,選中目錄後,點擊【create table

技術分享圖片

  3.點擊【edit with notpad】打開記事本,在記事本裏輸入參數(換行分割),關閉記事本,關閉參數化屬性,點擊【OK】,這樣username就參數化好了

技術分享圖片

  4.選中密碼,重復上述步驟1,進入參數屬性頁面,選中剛才創建好的Newparam文件,點擊【add colum】,點擊【OK】

技術分享圖片

  5.點擊【edit with notpad

】打開記事本,逗號後面輸入密碼參數,保存關閉記事本,關閉參數屬性,點擊【OK】

技術分享圖片

  確認密碼、郵箱同步驟五,都創建好後我們來看下參數化策略;

  Select next row【選擇下一行】

  技術分享圖片

  1.順序(Sequential):按照參數化的數據順序,一個一個的來取。
  2.隨機(Random):參數化中的數據,每次隨機的從中抽取數據。
  3.唯一(Unique):為每個虛擬用戶分配一條唯一的數據

  Update value on【更新時的值】

  技術分享圖片

  每次叠代(Each iteration) :每次叠代時取新的值,假如50個用戶都取第一條數據,稱為一次叠代;完了50個用戶都取第二條數據,後面以此類推。

  每次出現(Each occurrence):每次參數時取新的值,這裏強調前後兩次取值不能相同。

  只取一次(once) :參數化中的數據,一條數據只能被抽取一次。(如果數據輪次完,腳本還在運行將會報錯)

  組合起來就有9種策略,如下:

Select Next Row

【選擇下一行】

Update Value On

【更新時的值】

Replay Result

【結果】

順序(Sequential)

每次叠代(Each iteration)

結果:分別將15條數據寫入數據表中

功能說明:每叠代一次取一行值,從第一行開始取。當所有的值取完後,再從第一行開始取

如:如果參數化文件中有15條數據,而叠代設置為16次,那執行結果中,參數化文件第一行的數據有兩條

順序(Sequential)

每次出現(Each occurrence)

結果:分別將15條數據寫入數據表中

功能說明:每叠代一次取一行值,從第一行開始取。當所有的值取完後,再從第一行開始取

如:如果參數化文件中有15條數據,而叠代設置為16次,那執行結果中,參數化文件第一行的數據有兩條

順序(Sequential)

只取一次(once)

結果:表中寫入15條一模一樣的數據。

功能說明:每次叠代都取參數化文件中第一行的數據。

隨機(Random)

每次叠代(Each iteration)

結果:表中寫入15條數據,但可能有重復數據出現

功能說明:每次從參數化文件中隨機選擇一行數據進行賦值

隨機(Random)

每次出現(Each occurrence)

結果:表中寫入15條數據,但可能有重復數據出現

功能說明:每次從參數化文件中隨機選擇一行數據進行賦值

隨機(Random)

只取一次(once)

結果:表中寫入15條相同數據

功能說明:第一次叠代時隨機從參數化文件中取一行數據,後面每次叠代都用第一次叠代的數據。

唯一(Unique)

每次叠代(Each iteration)

自動分配塊大小

結果:分別將15條數據寫入數據表中

功能說明:第一次叠代取參數化文件中的第一條數據,第二次叠代取第二條數據,以此類推。

註:如果設置叠代次數為16次。結果:在執行第16次叠代時會拋異常,異常日誌可在LoadRunner的回放日誌(replayLog)中看到。

唯一(Unique)

每次出現(Each occurrence)

步長為1

結果:分別將15條數據寫入數據表中

功能說明:第一次叠代取參數化文件中的第一條數據,第二次叠代取第二條數據,以此類推。

註:如果設置叠代次數為16次,而參數化文件中只有15條數據,明顯數據不夠。此時可以設置“when out of values”屬性來判斷當數據不夠時的處理方式

Abort Vuser:中斷虛擬用戶

Countinue in a cylic manage:循環取參數化文件中的值,即:當參數化文件中的值取完後又從參數化文件的第一行開始取值。

Countinue with last value:繼續用最後一條數據

唯一(Unique)

只取一次(once)

結果:表中寫入15條相同數據

功能說明:每次都取參數文件中的第一條數據進行賦值


  綜上所述,我們這裏的註冊需要每次的數據都不一樣,那麽我們就選第7中策略,Unique+Each iteration,第一次叠代取參數化文件中的第一條數據,第二次叠代取第二條數據,以此類推。當叠代次數大於參數化數據時會報錯,設置如下:

  技術分享圖片

  

  接下來介紹下從數據庫裏導入參數,因為sql server百度裏已經有很多介紹,這裏不再贅述,主要講下mysql,mysql的數據庫驅動需要自己安裝,這裏給個路徑,大家上官網上下就行:

  https://dev.mysql.com/downloads/connector/odbc/

技術分享圖片

  下載好後按默認的設置安裝完成即可,這裏我們拿登錄舉例,我們直接從數據庫裏查詢到用戶名作為參數。

  1.參照上面的第一步,進入參數屬性頁面,依次按下圖所示點擊

技術分享圖片

  2.繼續依次按下圖所示點擊

技術分享圖片

  3.選中剛才安裝的mysql驅動,點擊下一步,點擊完成

技術分享圖片

  4.數據庫信息如下填寫,測試成功後,點擊【OK】,【確定】,知道回到步驟五的界面

技術分享圖片

  5.sql中輸入查詢語句,點擊【finish】後,參數化就成功了

技術分享圖片

技術分享圖片

  以上就是鄙人對參數化的粗淺認識,如若有不妥之處還望指正,感謝!

Loadrunner 參數化&參數化策略&參數化mysql