06.19 jmeter的幾種參數化方式

jmeter的幾種參數化方式

在用到jmeter工具時,無論做接口測試還是性能測試,參數化都是一個必須掌握且非常有用的知識點。參數化的使用場景,例如:

1)多個請求都是同一個ip地址,若服務器地址更換了,則腳本需要更改每個請求的ip

2)註冊賬號,不允許賬號重複;想批量註冊用戶時

3)模擬多個用戶登錄,需要用到不同用戶信息登錄時

4)上一個請求的輸出結果用於下一個請求的參數傳入,例如登錄獲取到的token信息,用於提交賬單請求的參數調用

在jmeter中,通過${變量名}來獲取參數值。

1、用戶定義的變量

1)線程組右鍵添加-->配置元件-->用戶定義的變量,出現如下設置頁面後

輸入名稱、值;注意:名稱可以自定義設置

jmeter的幾種參數化方式

2)然後將設置後的變量名稱,在註冊、登錄、充值請求中進行參數化引用${ip}、${phone}

注意:引用的參數名跟用戶定義變量設置的名稱必須保持一致

jmeter的幾種參數化方式

3)點擊運行,查看結果樹,顯示成功

2、函數助手獲取參數值

1)選擇菜單欄 選項-->函數助手對話框,彈出函數助手框,功能下面有多個函數可供選擇,我們主要看下__RandomString,其他可以自行了解下喲

2)要進行多個賬號註冊(比如10個用戶),註冊信息要求手機號mobilephone不能重複;所以可以這麼來思考,手機號前3位號段固定,那就對手機號後8位進行隨機,頁面設置如下:

jmeter的幾種參數化方式

3)拷貝生成的函數字符串,粘貼進行參數引用

jmeter的幾種參數化方式

4)設置線程組線程數為10,模擬10個虛擬用戶的註冊

jmeter的幾種參數化方式

5)點擊運行,查看結果樹,顯示成功

jmeter的幾種參數化方式

3、CSV Data Set Config獲取參數值

1)若需要註冊的手機號不能隨機,必須是用戶真實提供的手機號進行註冊的話,就採用以下這種方式,提前收集用戶真實手機號及暱稱,存放在本地txt或者CSV文件(CSV文件默認逗號隔開)

jmeter的幾種參數化方式

2)線程組右鍵添加-->配置元件-->CSV Data Set Config

jmeter的幾種參數化方式

  • Filename:需要傳入文件的完整路徑。我的文件位於D盤目錄下,文件名為users.txt。
  • File encoding:參數文件的編碼格式。可以不填。
  • Variable Names:對應參數文件中每列的變量名,也是你要引用到請求中的參數變量名。這裡第一列是手機號、第二列是暱稱。變量名可以自定義。
  • igonre first line(only used if Variable Names is not empty):當 CSV 文件中首行設置了變量名時,該項設為 true,此時每次請求讀取文件時會自動忽略首行,直接讀取第二行的數據。若首行未設置,則選擇False
  • Delimiter:文件中的分隔符,默認英文的逗號分隔。所以注意txt文檔中每行多個參數用英文逗號分隔。
  • Recycle on EOF: 設置為True後,允許重頭循環取值;為False,當讀取文件到結尾時,停止讀取文件
  • Stop Thread EOF: 當Recycle on EOF為false並且Stop Thread EOF 為true,則讀完csv文件中的記錄後,停止運行,線程數及執行次數無效。
  • Sharing Mode:共享模式。All threads:所有線程,所有線程循環取值,線程1取第一行,線程2取下一行;Current thread group:當前線程組,各個線程組分別循環取值;Current thread:當前線程,該測試計劃內的所有線程都取第一行。

3)使用CSV Data Set Config中定義好

a、直接參數化引用

jmeter的幾種參數化方式

b、通過函數助手進行參數化引用

jmeter的幾種參數化方式

jmeter的幾種參數化方式

4)設置線程組中線程數為5,執行後,輸出如下結果:成功

jmeter的幾種參數化方式

從數據庫讀取數據,關聯的時候也會用到參數化方式,後續再抽時間整理~~


分享到:


相關文章: