詳解loadrunner性能測試步驟「loadrunner參數化設置」

為什麼要對腳本進行參數化?一個原因是因為腳本中有些值是唯一的不能重複的,如果用相同的值進行回放的話,會導致回放失敗,比如說我們新增一個賬號,賬號名肯定是不能重複的;另一個原因就是為了模擬真實的操作場景,畢竟在生產環境中不可能只是同一個用戶登錄,操作時也不可能都錄入相同的參數。參數化的目的就是儘可能的模擬真實的操作場景。

性能測試學習筆記:Loadrunner如何進行參數化?

下面我們拿一個購買商品的操作來演示下整個流程

首先我們先用loadrunner錄製一個購買商品操作流程的腳本,找到選擇商品屬性的請求,如下圖

性能測試學習筆記:Loadrunner如何進行參數化?

這裡我們看到,商品的id,顏色,數量,尺碼等,都是可以進行參數化的,下面我們選擇商品id來對其進行參數化講解

首先將商品ID全部選中,右鍵點擊Replace with Parameter-Create New Parameter

性能測試學習筆記:Loadrunner如何進行參數化?

點擊後,彈出如下輸入框

性能測試學習筆記:Loadrunner如何進行參數化?

這裡填寫參數名,點擊「OK」彈出下面提示框。意思是你是否想用該參數替換腳本中其他地方的相同值。

性能測試學習筆記:Loadrunner如何進行參數化?

舉個例子,一個腳本中,有兩處2019blue-Tshirt01,如果我們點Yes,會將腳本中的兩處2019blue-Tshirt01都替換成我們的參數名{productId};如果點No,就只是替換我們選中的2019blue-Tshirt01。替換完成後的效果如下

性能測試學習筆記:Loadrunner如何進行參數化?

替換完成後,我們再選中我們的參數名,右鍵選擇Parameter Properties,來設計我們要替換成的參數值,如下圖所示

性能測試學習筆記:Loadrunner如何進行參數化?
性能測試學習筆記:Loadrunner如何進行參數化?

點擊Add Row添加一行;或者點擊Browse選擇一個我們已經編輯好的文檔,直接導入。或者點擊Edit with Notepad在文本編輯器里錄入我們的參數值。如下圖

性能測試學習筆記:Loadrunner如何進行參數化?
性能測試學習筆記:Loadrunner如何進行參數化?

下面我們再來說一下取值策略

Select next row:下次取值怎麼取

性能測試學習筆記:Loadrunner如何進行參數化?

(1)Sequential:從第一行開始按順序一個一個取值

(2)Random:每次迭代都從所有值中隨機取一個值

(3)Unique :唯一值,列表中的值只能取一次

除此之外還有一種特殊情況,就是Same line as xxx

這種情況主要用於有兩個參數需要使用同一行數據的情況。舉個例子,我們在購買商品的時候,要選擇商品,要選擇商品的顏色,但是有些顏色只有指定商品才有,所以我們在參數化的時候,要注意在取顏色的時候一定要與商品匹配。

接着上面的例子,我們參數化了商品id,接着再用同樣的方式參數化商品顏色

性能測試學習筆記:Loadrunner如何進行參數化?

這個時候,我們在選擇下一行的策略時,就會出現一個新的選項,Same line as productId,這裡的意思就是執行腳本的時候,productId選擇的是哪一行數據,color就選擇哪一行數據。

這裡假如說我們在參數化productId的時候,選擇的策略是Random隨機取值,那麼我們選擇顏色的時候,如果選擇的顏色與選擇的商品不匹配,就會導致腳本回放失敗,因為選擇的商品可能沒有該顏色,所以我們在選擇color的參數化策略的時候,就要選成Same line as productId,這樣就保證了顏色與商品匹配。從而避免了因為數據原因導致的腳本回放失敗。

Update value on:遇到什麼情況去更新參數數據

性能測試學習筆記:Loadrunner如何進行參數化?

(1)Each iteration :每次迭代取一次值。

(2)Each occurrence :每次遇到參數名時更新值。如果一次迭代中,參數名出現了兩次,則兩次的取值是不同的。

(3)Once :只第一次迭代的時候取值,之後的迭代都用第一次的取值。

這兩種取值策略,不同的組合也會產生不同的取值方法,下面我們來結合上面的例子來詳細說一下這幾種策略的組合會產生怎樣的結果。

Sequential+Each iteration:每次迭代時取一次值,從第一行開始按照順序取值,當所有值取完後,再從第一行開始重新取值。我們從第一行的2019blue-Tshirt01開始取值,當取值到2019blue-Tshirt04時,下一次再取值就再從2019blue-Tshirt01開始循環取值。如果腳本里出現了兩次{productId}這個參數,則兩次取同樣的值。

Sequential+Each occurrence:每次遇到參數就取值,從第一行開始按順序開始取值,當所有值取完後,再從第一行開始重新取值。比如說腳本中{productId}出現了兩次,那麼出現第一次的時候取值2019blue-Tshirt01,出現第二次的時候取值2019blue-Tshirt02,以此類推。

Sequential+Once:每次迭代都取第一次取到的數據。第一次取到的是2019blue-Tshirt01,以後所有使用到參數的地方和之後所有的迭代都取得是2019blue-Tshirt01。

Random+Each iteration:每次迭代時都隨機從列表中取一行值。一次迭代中,第一次出現參數名的地方取了一個隨機的值2019blue-Tshirt01,那麼該迭代中再遇到參數名,都取2019blue-Tshirt01,等下一次迭代再重新隨機取值。

Random+Each occurrence:每次遇到參數就隨機取值,一次迭代中,第一次出現參數名的地方取了一個隨機的值2019blue-Tshirt02,那麼該迭代中再遇到參數名,就再重新取一下值,可能是2019blue-Tshirt04。

Random+Once:第一次迭代隨機取一行值,如第一次取了2019blue-Tshirt03,以後本次迭代中遇到的參數名以及之後的每次迭代都使用第一次迭代的值2019blue-Tshirt03。

Unique+Each iteration:每次迭代時取一行值,從第一行按照順序開始取值。

Unique+Each occurrence:每次遇到參數就取值,從第一行開始按順序開始取值。

Unique+Once:第一次迭代取一行值,以後每次迭代都取第一次迭代的值。

因為Unique這種方式比較特殊,參數取值是唯一的,那麼我們就要設置一下當值全部取完的時候,我們該怎麼處理。

性能測試學習筆記:Loadrunner如何進行參數化?

有三種處理方式

(1)Abort Vuser:停止測試,如果值已經全部被使用過了,則停止測試

(2)Continue in a cyclic manner:循環取值,再從第一行開始重新取值

(3)Continue with last value:如果全部的值都被使用過,則之後都使用最後一行的值

設置完取值策略後,關閉當前頁面,我們再去設置一下回放時的日誌,能更清楚的看到我們的參數化是否成功Replay-Runtime Setting-Log-選擇Extended Log,勾選Parameter substitution,如下圖

性能測試學習筆記:Loadrunner如何進行參數化?
性能測試學習筆記:Loadrunner如何進行參數化?

這個時候,再去回放腳本,在回放日誌里就能清楚的看到每次迭代我們這個參數的取值,如下圖

性能測試學習筆記:Loadrunner如何進行參數化?

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/251217.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-13 17:22
下一篇 2024-12-13 17:22

相關推薦

發表回復

登錄後才能評論