Jmeter——添加參數的四種方法


Jmeter添加參數的四種方法

1.HTTP請求添加

方法:1.添加的HTTP Request組件中找到Parameters頁面下的add,添加自定義參數 。
   2.設置參數名稱Name和參數值Value,如果是中文的,需要勾選URL Encode。
 

 

評價:這種方法只能一次添加一個參數,和在path中輸入變量是沒有區別的(path中的輸入是會自動Encode的)。所以不適合壓測對參數值有數量要求的測試。

 

二、用戶定義的變量

方法:
  1.右擊線程組Thread Group,add->configure element->user Defined variables。設置如下圖:
  
 
  2.變量定義:可以是具體的值,也可以是函數(函數可自動生成:選項->函數助手對話框)

   

  

  3.變量引用:Sample中引用變量的格式為${變量名}

  可以再Server Name or IP 和 Path等地方添加引用變量,也可以在Send Parameters With the Request中設置

  

 

評價:當前的線程組內所有Sampler都可以引用變量,方便腳本更新;當參數發生變化時,只要在【用戶定義的變量】中更新對應變量的參數即可,不需要逐個修改每個http中的參數。
   與上一個方法類似,不適合對壓測參數有數量要求的測試。

 

三、函數助手對話框

  方法: Tools->Function Helper Dialog

  

 

  1.__Random:在最大值和最小值之間取一個隨機值。有三個參數:最大值,最小值,獲取的隨機值的變量名  

  例如,生成[1,100]內的隨機函數

 


注意:在設置線程屬性時,循環次數必須大於1,隨機函數才會生效

例如${__Random(1,100,)},當設置線程數=10,循環次數=1時,10次隨機函數的結果都是1;當循環次數>1時,才會隨機取值

2、__P:設置屬性的默認值。有兩個參數:變量名,默認值(默認值為1)。例如:${__P(hostname,XXX)}:返回屬性hostname的值,如果沒有定義該屬性則返回值XXX

3、__CSVRead:從CSV文件中讀取字符串。有兩個參數:文件名,第幾列(0表示第一列)

4、${__UUID}:隨機取值,且結果唯一;區別於__Random(隨機取值,結果有可能相同)

 

評價:適用於數值型、日期等,不適合特定的參數。 
 

四、創建CSV Data Set Config

方法:
1.右擊Thread Group,add->configure element->CSV Data Set Config
 
 
2.參數含義

 

1)Filename:文件路徑(如果和腳本同路徑,只需要輸入文件名;否則要輸入全路徑)
2)File encoding:編碼和文件格式保持一致,如果有中文,最好用UTF-8
3)Variable names:參數名稱,參數之間用,隔開
4)Delimiter:輸入文件(csv/dat等)中的分割符號;用\t代替tab鍵
5)Allow quoted data:當獲取的數據中包含"時,要設置為True
6)Recycle on EOF: 設置為True后,允許循環取值
7)Stop Thread EOF: 當Recycle on EOF為false並且Stop Thread EOF 為true,則讀完csv文件中的記錄后,停止運行,線程數及執行次數無效
8)Sharing Mode:共享模式: All threads:所有線程,所有線程循環取值,線程1取第一行,線程二取下一行;Current thread group:當前線程組,各個線程組分別循環取值;Current thread:該測試計划內的所有線程都取第一行
 
3.調用CSV Data Set Config中的變量

 

注意:csv需要注意分隔符(delimiter)以及從mysql導出的數據是帶雙引號""的。需要包含列名稱,才能找到NAME的值。
 
評價:可以從.csv、.dat等文件中獲取數據,並將這些數據參數化。當數據發生變化時,只需要改原始文件,不需要改腳本。
   直接讀取數據庫表數據,對接口進行壓測,避免了緩存的影響。
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM