Jmeter的配置元件有非常多,常用的有:信息頭管理器、Cookie管理器、用戶定義的變量、Http請求默認值、JDBC Connection Configuration、CSV 數據文件設置、計數器等,本文會對這些常用的配置元件一一介紹,還有其他很多配置元件,由于不太常用,此處了解下還有這些不常用的配置元件即可。如:緩存管理器、DNS緩存管理器、FTP默認請求、TCP請求配置、JAVA默認請求、Bolt Connection Configuration等等。
基礎須知:Jmeter各個元件的執行順序為:配置元件->前置處理器->定時器->取樣器->后置處理器->斷言器->監聽器。配置元件在Jmeter執行過程中,在相同作用域下肯定會被最先執行,使用過程中要嚴格遵守作用域問題。
一:信息頭管理器
信息頭管理器用來傳輸取樣器信息頭。使用規則:特別需要注意使用的作用域問題,分為3種。
1、如果整個測試計劃下的所有取樣器請求都一致,則在測試計劃下添加,這樣能做到整個測試計劃下共享信息頭。
2、如果在同一線程組下,所有取樣器的請求頭都用到了相同的某個值如:token等,那就在線程組下添加信息頭管理器,這樣同一線程組下的所有取樣器都能傳入相同的請求頭了。
3、如果每個取樣器的請求頭不太一致,則在具體的取樣器下添加。
通過下圖進行下簡單理解:
注意點:
(1)如果存在多個信息頭管理器,則引用的信息頭會進行疊加。如下例子:
【測試計劃下添加的信息頭】填入信息:token:12345678
【線程組1下添加的信息頭】填入信息:Content-Type:application/json
則HTTP請求1-1會疊加這兩個值,如圖:
?
執行結果:
(2)如果存在多個信息頭管理器,而且信息頭管理器有變量名稱重復了,只是作用域不一樣,則會引用作用域小的變量,如下例子:
【測試計劃下添加的信息頭】填入信息:token:12345678
【線程組1下添加的信息頭】填入一個與上相同的變量信息:token:abcdefg
則實際執行的時候,會引用作用域小的token,如圖:
?
執行結果:
(3)如果存在多個信息頭管理器,而且信息頭管理器有變量名稱重復了,作用域也一樣,則會引用第一個信息頭管理器的變量,如下例子:
【測試計劃下添加的信息頭1】填入信息:token:12345678
【測試計劃下添加的信息頭2】填入信息:token:abcdefgh
則實際執行的時候,得看哪個信息頭管理器放在前面就引用哪個信息頭的變量,該處是將【測試計劃下添加的信息頭1】放在前面,所以是引用到了token:12345678。如下圖:
?
執行結果:引用的是前面的信息頭
二、Cookie管理器
對于有些請求需要Cookie的時候,可以考慮加上這個配置元件,通常會在登錄接口返回Cookie存儲到客戶端本地,使用該元件可以解決Cookie驗證問題。
使用方式:直接添加即可,一般是添加到測試計劃或者線程組下。
三:請求默認值
如果多個請求存在相同的部分,那么就可以將這些相同的部分抽取到【請求默認值】,在填寫具體請求的時候,就可以省略請求默認值得信息不填,同樣需要非常注意作用域問題。
例子:新建一個【HTTP請求默認值】,填寫發起百度請求的信息,那么在實際發起百度請求的時候,就可以忽略這部分信息了。
?
執行結果如下:
四:用戶定義的變量
主要用于進行參數化設計,但只適用于數據量比較少的參數化,大數量的參數化就不適用了,重要的事情每次都需要強調下:需要注意作用域的問題。
使用方法:添加元件后,填寫變量信息即可,填寫完后,就可以在作用域范圍下的元件進行引用,如下圖:
?
執行結果:
?
五:CSV設置文件
用于進行批量參數化,有兩種方式,第一種是Jmeter自帶的CSV配置文件,第二種是插件管理器安裝的Random CSV Data Set Config。
1、Jmeter自帶的CSV配置文件:該元件只能按照提供的數據源文件按順序取值。下面進行元件頁面各項值的介紹。
(1)文件名:選擇提供數據的文件,要選擇.csv格式的文件
(2)文件編碼:選擇對文件的編碼格式,一般選utf-8
(3)變量名稱:給獲取到的數據源數據取變量,要取多個數據,就要用英文下分號";"間隔
(4)忽略首行:選擇True就是忽略數據源的首行,選擇False就是不忽略
(5)其他選項:一般默認即可。
下面實際使用:
(1)準備CSV源文件:
(2)填寫CSV參數化元件信息:
(3)引用參數化的值
執行結果:
注意事項:該CSV參數化元件只能按順序取值,即:腳本一次執行下,只能在數據源文件從上往下取值,下面我給請求添加循環數看看現象。
執行結果:
?
有時候我們想要每次執行請求都能隨機取數據源的某一條數據,那么這時候就需要用到第二種CSV參數化配置文件:Random CSV Data Set Config
2、Random CSV Data Set Config:該元件Jmeter不會自帶,需要我們手動安裝。
(1)打開插件管理器
(2)安裝Random CSV Data Set
使用介紹:
Filename:選擇數據源文件路徑
File encoding:選擇編碼格式,一般選擇UTF-8
Delimeter:分隔符,默認即可
Variable names:給變量命名
Fist line is CSV header:如果第一行是表頭,則勾選下
其他沒介紹到的默認即可,不用關心
下面進行實際使用
(1)信息配置:
(2)執行結果:
?
?