工具篇 - JMeter組件手冊04

前言

在jmeter中提供了一系列的不同的組件,每一種組件都提供了某類功能的實現(xiàn),用于支持性能測試的實施。

請看下圖,jmeter的核心組件構(gòu)成。

41.png

學(xué)習(xí)、研究jmeter之前,深入了解jmeter的基本組件及其作用是必須的。接下來我們開始討論基于jmetere進行性能測試必須掌握的組件,以便大家逐步掌握jemter的核心基本能力。

下面的幾個組件是入門jmeter必須掌握的:

  • Thread Group
  • Samplers
  • Listeners
  • Configuration

Thread Group(線程組)

線程組是一系列線程的集合,每一個線程代表著一個正在使用應(yīng)用程序的用戶。在jmeter中,每個線程意味著模擬一個真實用戶向服務(wù)器發(fā)起請求。

在jmeter中,線程組組件運行用戶設(shè)置線程數(shù)量、初始化方式等等配置。

例如,如果你設(shè)置線程數(shù)為100,那么jmeter將創(chuàng)建并模擬測試100個用戶請求到服務(wù)器端。

如下圖所示:

42.png

Samplers

我們常用的jmeter測試有HTTP、FTP、JDBC協(xié)議,以及其他各種支持的協(xié)議。

在上節(jié)我們已經(jīng)知道線程組件用于模擬用戶請求至服務(wù)器端。

但還未講解如何在線程組件中實現(xiàn)某種請求類型(比如如何發(fā)起HTTP請求?)。

在本節(jié)中,我們將演示如何利用Samplers組件的元素來實現(xiàn)各類請求類型。

我們先看一下在jmeter中Samplers組件已經(jīng)實現(xiàn)了哪些協(xié)議的支持。如下圖所示:

43.png

下面我們就重要的Samplers組件元素進行一一講解,以便大家有個初步的了解。

  • BeanShell Sampler

這個組件元素允許我們在jmeter中寫B(tài)ean Shell腳本,寫這個腳本有什么作用?意味著你可以完全的控制和實現(xiàn)自己的需要。靈活定制,自然也就有難度,你得有點腳本功底。

參見圖說明:

44.png

注:每一個Sampler都有自己獨立的beanshell解析器,并且sampler只能在自己的線程中調(diào)用(意味著不可跨線程使用)。

  • FTP Request

FTP Request元素提供了測試ftp服務(wù)器的能力,這個元素讓我們能夠去測試ftp的上傳、下載功能。

下面我們看一下ftp元素的基本配置說明:

45.png

注:我們經(jīng)常在windows和linux直接通過ftp進行文件傳輸,建議勾選Use Binary Mode,避免編碼問題。

  • HTTP Request

HTTP Request提供了HTTP/HTTPS協(xié)議的測試支持能力。

下面我們一起看看HTTP Request元素的基本配置說明,了解下基本的功能。

46.png
  • Java Request

Java Request提供了測試java API的支持,但要注意要測試的java API需要有對應(yīng)的測試類,該測試類必須繼承AbstractJavaSamplerClient。
示例如下:

待測類class Sum; -> 生成sum.jar

繼承至AbstractJavaSamplerClient的測試類Class TestSum(AbstractJavaSamplerClient) -> 生成testSum.jar

==注:==

一個java測試應(yīng)該要實現(xiàn)以下幾個方法,以便jmeter java sampler可以正確調(diào)用:

416.png

更詳細的后續(xù)出專題講解,本篇不舉具體示例了。

注意testSum.jar要能調(diào)用sum.jar。

將上述sum.jar、testSum.jar拷貝至jmeter安裝目錄的lib/ext下。

下面我們看看如何在jmeter配置java測試。

47.png

對于JDBC Request、JMS Point-to-Point、JSR223、SMTP、JUnit Request等Sampler組件元素就不一一說明了在后續(xù)的分享中,主要基于HTTP和java請求來分享實戰(zhàn)。

Listeners(監(jiān)聽器)

在jmeter中Listeners提供了執(zhí)行結(jié)果生成和顯示能力的支持,提供了樹形結(jié)構(gòu)、表、圖形和日志方式。

下面我們先看下幾種結(jié)果顯示示例圖。

圖形模式:

48.png

樹模式:


49.png

表模式:

410.png

日志方式

411.png

Configuration Elements(即配置元件)

配置元件包含了Samplers下各種Sampler的默認(rèn)配置設(shè)置,如果有配置默認(rèn)配置,在Sampler下對應(yīng)的sampler就會使用該默認(rèn)配置。

下面我們看看我們主要用到的默認(rèn)配置有哪些。

417.png

下面進行逐一的說明。

  • CSV Data Set Config
    CSV Data Set Config主要用于讀取csv格式的文件中數(shù)據(jù),實現(xiàn)參數(shù)化。
413.png
  • HTTP Cookie Manager
    HTTP Cookie Manager主要用于默認(rèn)cookie管理。
414.png
  • HTTP Request Defaults
    HTTP Request Defaults用于配置HTTP request的默認(rèn)值,例如IP、端口等等都設(shè)置好默認(rèn)值后,在后續(xù)HTTP request元素里就不需要重復(fù)設(shè)置,節(jié)省時間。
415.png

總結(jié)

本次就jmeter常用的相關(guān)組件元素進行了大概的說明,以便大家有個基本的了解,為后續(xù)深入學(xué)習(xí)和實踐打下基礎(chǔ)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,947評論 18 139
  • 一、JMeter介紹 Apache JMeter是100%純JAVA桌面應(yīng)用程序,被設(shè)計為用于測試客戶端/服務(wù)端結(jié)...
    宇文臭臭閱讀 8,492評論 0 17
  • 裝好Jmeter以后,打開Jmeter頁面:包括測試計劃+工作臺。1、Test Plan (測試計劃):用來描述一...
    CC先生之簡書閱讀 1,045評論 0 2
  • 一、基本概念 1.測試計劃是使用 JMeter 進行測試的起點,它是其它 JMeter 測試元件的容器。 2.線程...
    Leo_0626閱讀 2,317評論 0 10
  • 我說彼岸孤獨 你說彼岸花開 于是蒼茫大海上多了一個影子 多了一道細紋 可是我的心里 怎么會多了一份孤獨 多了一道巨...
    ailiaili閱讀 191評論 0 0