天天看點

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

目錄
一、下載下傳安裝方式
二、頁面操作說明:
1.添加線程組
2.線上程組中添加取樣器Sampler
3.添加監聽器
4.添加Http Cookie管理器
5.Jmeter參數化(三種方式)
6.同步定時器(集合點)
7.正規表達式提取器
8.Json提取器
9.響應斷言
10.壓力測試
11.Jmeter生成多元度HTML報告
一些常用小工具,非必須
12.Jmeter函數助手之__time函數(擷取目前時間)
           

Apache JMeter是Apache組織開發的基于Java的壓力測試工具。純java開發的。

一、下載下傳安裝方式

1.下載下傳安裝JDK(java環境,開源的,網上很容易下載下傳),安裝後配置環境變量

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

java添加到環境變量

2.下載下傳解壓Jmeter壓縮包(無需安裝,直接解壓即可)

打開jmeter/bin/jmeter.bat(批處理檔案),直接輕按兩下即可打開Jmeter

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

二、頁面操作說明:

1.添加線程組

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

測試計劃右鍵添加線程組

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

線程組頁面說明

2.線上程組中添加取樣器Sampler

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

右鍵測試計劃添加Sampler

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

請求必填項

3.添加監聽器

常用的為:檢視結果樹、聚合報告

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

添加監聽器

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

檢視結果樹

4.添加Http Cookie管理器

儲存上一步取樣器結果中傳回的Cookie值供下一步使用,不用額外配置,一次自上而下的操作認為是一個使用者,都會添加同一個Cookie。

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

5.Jmeter參數化(三種方式)

方法1:添加

前置處理器——使用者參數

,使用‘${參數名}’進行調用

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

右鍵測試計劃在前置處理器裡添加使用者參數

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

在使用者參數中添加值

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

方法2:使用

函數讀取

.csv檔案中的資料(.csv可以用Excel建或者用notepad++)

_CSVRead函數原理:先去讀取csv檔案,然後讀取其中的列,挨個指派給取樣器中的參數。

操作步驟:

點選選項→函數助手對話框(快捷鍵ctrl+shift+F1)→選擇CSVRead函數→第一個參數值放檔案路徑名稱,第二個參數是開始的列,0代表第一列→點選生成

然後複制生成的參數化的字元串到Sampler中粘貼即可,注意改下列号

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用
jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用
jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用
問題排查:

如果請求裡的參數取的有問題,把.csv檔案編碼改為‘以utf-8無BOM格式進行編碼’(在nodepad裡可以改編碼)

方法3:使用元件讀取CSV Data參數(類似方法1使用函數調用.csv檔案資料)

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

添加csv讀取元件

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

設定參數解讀

Delimiter:變量之間的分隔符,.csv檔案用‘,’分隔

Allow quoted data?(是否支援引号,預設選False就可以):選擇True,可用雙引号來識别内部包含逗号或雙引号的資料;

比如資料檔案中為1,2,"3,"4",5",為false時,則識别為5個資料a=1,b=2,c=“3,d=“4”,e=5”;為True識别為3個資料a=1,b=2,c=3,"4",5。

Recycle on EOF?:True時讀取檔案到結尾時,再從頭讀取;False時讀取到檔案結尾停止讀取。

Stop thread on EOF?:和上一個Recycle on EOF相關,當Recycle on EOF為False時,當讀取不到資料時是否停止線程,True為停止,False為繼續。Recycle on EOF為True時此項無意義,因為一直能讀到資料。

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

參數調用

6.同步定時器(Synchronizing Timer),也叫集合點(就是大家在集合好了一起走)

定時器→同步定時器中添加,目的是并發測試,讓多個使用者同時調用接口,原理是等待n個使用者,滿足後才一起運作。

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

添加同步定時器

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

同步定時器參數含義

7.正規表達式提取器(屬于後置處理器,請求結束後拿的響應的資料):并不直接涉及請求測試,但是對

資料傳遞

起着很大作用。

添加方式:右鍵添加→後置處理器→正規表達式提取器,位于具體的請求裡面,代表擷取這個請求傳回的結果中的值。

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

正規表達式提取器添加路徑

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

正規表達式頁面

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

說明

引用名稱:下一個請求要引用的參數名稱,上圖中名稱為uid,其他請求使用${uid}調用這個參數值。

正規表達式:()起來的部分是要提取的内容,()前後為定位用的内容,一般把目标值前後多複制一些,然後把目标值用()取代

.代表比對任何字元串,不對一些特殊字元做處理,全部取回

+一次或多次

?比對到第一個比對項後就停止

(.+?)經常一起用,代表隻取第一個值

模闆:正規表達式也可以寫多個,用;隔開,$1$代表取第一個模闆的正規表達式

擴充

但是,在JDBC請求後的響應結果中,往往需要關聯的内容是隻有左邊界而沒有右邊界的,此時,我們怎麼去關聯呢?

實作的關鍵就在正規表達式的編寫,提取一段字元串後所有内容用 [^"]+ 實作,這裡的具體執行個體是n([^"]+)n,意思是提取cpgroupname後面所有内容,加上n是因為這裡有換行(空格用s)

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

8.Json提取器:對于響應結果是Json體的就可以用

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

Json表達式提取器

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

Compute concatenation var(suffix_ALL):用于比對到多個結果時,勾選此項會生成一個名稱為“變量名_ALL”的清單,一般不用。

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

說明:如果json路徑有層級結構,格式

$.key1.key2[0].key3

.區分層級,清單的話用[]下标

9.響應斷言

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

添加斷言

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

注意:響應代碼取的的是“取樣器結果”中的Response Code,不是“響應資料”中的。

響應資訊取的是“取樣器結果”中的Response message

響應文本取的是“響應資料”中的資訊

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

比對模式:包括是包含即可,比對是完全一樣

斷言中也可以使用變量${}作為預期結果,需要跟着使用者改變的話直接加到使用者參數中即可。

10.壓力測試

linux伺服器上安裝插件,幫助統計伺服器資源使用情況回報回來,相當于資源擷取器

java -jar /home/AIbert/ServerAgent-2.2.1/CMDRunner.jar(插件位址) --tool PerfMonAgent --udp-port 7777 --tcp-port 4445(配置設定端口)

服務需要每次開啟,測試完成後Crtl+C退出;

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用
jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

Jmeter中添加監聽器

說明:PerfMon Metrics Collector資源監聽器

Response Times Over Time響應時間監聽器

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用
11.Jmeter生成多元度HTML報告
  • 關閉Jmeter
  • 如果沒有.jtl檔案,進入Jmeter下/bin目錄,按住shift+右鍵,選擇在此處打開指令視窗;Ctrl+C退出;
jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用
  • 運作指令:jmeter -n -t source.jmx -l result.jtl -e -o /tmp/ResultReport

參數說明:-n以非GUI方式運作Jmeter

-t source.jmx腳本路徑(改成你的測試計劃的路徑)

-l result.jtl運作結果儲存路徑(.jtl),此檔案必須不存在

-e 在腳本運作結束後生成HTML報告

-o 用于存放HTML報告的目錄(建議放在根目錄下,目錄中無漢字)

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

指令行

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

生成檔案

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

HTML圖表

圖表說明:

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

Apdex參數越接近1說明性能表現越好,反之越接近0則越差。

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

聚合報告

聚合報告圖表,和Jmeter聚合報告資料一緻

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

錯誤統計頁面

12.Jmeter函數助手之__time函數(擷取目前時間)

功能:__time函數可以擷取到目前的時間并傳參供調用

jmeter 取樣器connect time_【工具】Jmeter的下載下傳安裝和使用

使用方式:1.打開函數助手,找到__time這個函數,可以看到該函數有兩個參數,即格式和參數名稱,兩者都不是必填項。

  • 格式 :格式如果不填那麼就是預設擷取目前時間的毫秒數(此項也常被用于接口參數中那些不允許重複的字段);
  • 參數名稱 :非必填項,如果填了,則生成的時間會被放到該參數中,可以在任意地方調用這個參數,常用于多接口中某個值使用同一個時間參數的情況;

${__time(,)}:擷取目前時間的毫秒數;

${__time(,time_ms)}:擷取目前時間的毫秒數并存入參數time_ms中;

${__time(/1000,)}:擷取目前時間的秒數;

${__time(/1000,time_s)}:擷取目前時間的秒數并存入參數time_s中;

${__time(yyyy-MM-dd,)}:擷取目前日期;

${__time(yyyy-MM-dd,time_date1)}:擷取目前日期并存入參數time_date1中;

${__time(yyyy-MM-dd HH:mm:ss,)}:擷取目前時間,固定格式;

${__time(yyyyMMddHHmmss,time_2)}:擷取目前時間,固定格式,并存入參數time_2中;

${__time(YMDHMS,)}:擷取目前時間,固定格式

2.點選生成按鈕即可生成函數字元串,copy後放到需要的位置即可;