亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                JMeter基礎(chǔ)

                JMeter基礎(chǔ)

                一、Jmeter簡介

              1. 什么是JMeter
                • Apache JMeter是Apache組織開發(fā)的一款開源軟件,是典型的純Java開發(fā)的壓力測試工具。
                • 最初用于測試Web應(yīng)用程序或FTP應(yīng)用程序。但后來擴展到其他測試領(lǐng)域。 它可以用于測試靜態(tài)和動態(tài)資源,例如靜態(tài)文件、Java 小服務(wù)程序、CGI 腳本、Java 對象、數(shù)據(jù)庫、FTP 服務(wù)器, 等等。
                • JMeter 可以用于對服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。
                • JMeter能夠?qū)?yīng)用程序做功能/回歸測試,通過創(chuàng)建帶有斷言的腳本來驗證程序返回了是否為期望的結(jié)果。為了最大限度的靈活性,JMeter允許使用正則表達式創(chuàng)建斷言
              2. JMeter的優(yōu)點
                • 開源 :JMeter完全免費,允許開發(fā)人員使用源代碼進行開發(fā)
                • 友好的GUI :JMeter非常易于使用,并且不需要時間來熟悉它
                • 獨立于平臺 :JMeter是100%純Java桌面應(yīng)用程序。 所以它可以在多個平臺上運行
                • 完整的多線程框架, 支持多線程組并發(fā)(如:多場景混合并發(fā))
                • 可視化測試結(jié)果:測試結(jié)果可以以不同的格式顯示,如圖表,表格,樹和日志文件
                • 易于安裝 : 您只需復(fù)制并運行* .bat文件即可運行JMeter。 無需安裝。 高度可擴展 :您可以編寫自己的測試。 JMeter還支持可視化插件,允許您擴展測試 多種測試策略 :JMeter支持許多測試策略,如負載測試 ,分布式測試和功能測試 。 模擬 :JMeter可以使用并發(fā)線程模擬多個用戶,對正在測試的Web應(yīng)用程序造成沉重負擔(dān) 支持多協(xié)議 :JMeter不僅支持Web應(yīng)用程序測試,還評估數(shù)據(jù)庫服務(wù)器性能。 JMeter支 持所有基本協(xié)議,如HTTP,JDBC,LDAP,SOAP,JMS和FTP 錄制和回放 : 在瀏覽器上記錄用戶活動,并使用JMeter在Web應(yīng)用程序中模擬它們 腳本測試 :Jmeter可以與groovy, Bean Shell和Selenium集成進行自動化測試。
              3. JMeter的工作流程:
                • 創(chuàng)建對目標(biāo)服務(wù)器的請求—>服務(wù)器響應(yīng)—–>保存所有響應(yīng)–—>收集和計算統(tǒng)計信息

                —–>生成不同格式的測試報告

                • jmeter模擬多個用戶向目標(biāo)服務(wù)器發(fā)送請求,并返回性能結(jié)果
              4. JMeter的工作原理:
              5. 以WEB性能測試為例:jmeter可以作為web服務(wù)器與瀏覽器之間的代理網(wǎng)關(guān),以便捕獲瀏覽器的請求和web服務(wù)器的響應(yīng),如此就可以很容易地生成性能測試腳本。有了性能測試腳本,jmeter就可以通過線程來模擬真實用戶對web服務(wù)器的訪問壓力。這與LoadRunner的工作原理基本一致(向服務(wù)器提交請求;從服務(wù)器獲取請求返回的結(jié)果)

              6. JMeter主要功能
                • 性能測試(性能測試):支持HTTP、FTP服務(wù)器和數(shù)據(jù)庫服務(wù)器(通過JDBC)
                • 接口測試:支持HTTP服務(wù)端接口測試
                • 功能測試:利用badboy錄制測試腳本,可以快速的形成測試腳本
                • 回歸測試:利用插件架構(gòu)的優(yōu)勢,可以用于功能和接口的回歸測試

                二、JMeter下載安裝

                1、安裝環(huán)境要求

                • Java版本:JMeter要求充分滿足JVM1.3或更高。
                • 操作系統(tǒng):JMeter可以在當(dāng)前任何一個已經(jīng)部署了Java的操作系統(tǒng)上運行,如:

                Unix(Solaris,Linux,etc) 、 Windows(98,NT,2000,XP,WIN8)

                2、JDK下載、安裝

                • 官網(wǎng)下載jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
                • 安裝jdk,下載完成后,雙擊安裝即可
                • JDK環(huán)境變量配置

                右鍵計算機屬性->高級系統(tǒng)設(shè)置->系統(tǒng)屬性->高級->環(huán)境變量->添加如下的系統(tǒng)變量:

                • 變量名:JAVA_HOME

                變量值:D:Program FilesJavajdk1.8.0_92【jdk安裝路徑】

                • 變量名:CLASSPATH

                變量值: .;%JAVA_HOME%libdt.jar;%JAVA_HOME%libools.jar;

                • 最后在系統(tǒng)變量“Path”的變量值加上%JAVA_HOME%/bin,記得在前面加上;號
                • 驗證jdk

                運行cmd->輸入java -version->顯示java版本就表示jdk安裝成功

                3、JMeter下載安裝

                • Jmeter官網(wǎng)地址:http://jmeter.apache.org/download_jmeter.cgi
                • 下載解壓Jmeter安裝包,JMeter解壓之后即可使用,無需安裝。

                4、JMeter環(huán)境配置

                • 新增:變量名:JMETER_HOME

                變量值:E:apache-jmeter-4.0 (就是jmeter保存的路徑,即jmeter解壓路徑)

                如:JMETER_HOME=D:apache-jmetesapache-jmeter-4.0

                • 修改:變量名: CLASSPATH

                變量值:

                ;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar

                • 修改系統(tǒng)變量path,后面加上%JMETER_HOME%bin
                • 驗證配置:
                • 在cmd輸入jmeter 可以直接打開,即配置成功

                5、Jmeter 的Bin目錄下的幾個重要文件

                • jmeter.bat:windows下啟動文件jmeter.sh:Linux下啟動文件jmeter.log:Jmeter運行日志文件jmeter.properties:Jmeter配置文件jmeter-server.bat:windows下啟動負載生成器服務(wù)文件jmeter-server:Linux下啟動負載生成器文件

                6、啟動Jmeter

                • 第一種方法:直接在CMD輸入jmeter啟動第二種方法:雙擊Jmeter解壓路徑的bin目錄下面的【jmeter.bat】即可啟動

                三、JMeter組件介紹 (JMeter常用組件)

                1、測試計劃(Test Plan)

                • JMeter中的”測試計劃”,是測試的起點,同時也是其他所有組件的容器,存儲所有元素以及運行和測試所需的相應(yīng)設(shè)置(實際上是一個或一組測試用例)??梢詫ⅰ本€程組”(Thread Group)理解為一個測試用例,在一個測試計劃中可以有多個測試線程組。最簡單的測試用例包括:測試計劃、線程組、取樣器、監(jiān)聽器。
                • 頁面元素介紹:名稱:你可以為你的測試計劃取一個有意義的名字注釋:對測試計劃的注釋用戶定義的變量:可以設(shè)置針對一些全局的值,定義為變量,共所有線程使用,在用到此變量的時候直接用${變量名}引用即可,例如變量名=url,值=http://www.badu.com,在需要時,直接用${url}就可以
                • (1、添加:可以添加一條記錄,名稱:定義變量的名稱,供后續(xù)調(diào)用時使用;值:定義變量的值,根據(jù)需要可直接修改變量的值;
                • (2、Add from clipboard:添加來自于剪切板中的信息;
                • (3、刪除:選擇不需要的變量,可以進行刪除;
                • (4、Up和Down:移動變量的位置;
                • (5、Detail:有記錄時,可以選擇點擊Detail查看詳情,并修改名稱和值
                • 獨立運行每個線程組:
                • 未勾選時:有多個線程組時,其隨機啟動執(zhí)行;
                • 勾選后:多個線程組時,等待前一個線程組執(zhí)行完成后才開始下一個線程組 ;
                • Run tearDown Thread Groups after shutdown of main threads:
                • 在主線程因錯誤結(jié)束執(zhí)行時,如果勾選此選項,會執(zhí)行tearDown線程組;如果不勾選,就不會執(zhí)行tearDown線程組;
                • 函數(shù)測試模式:只有當(dāng)你需要記錄每個請求從服務(wù)器取得的數(shù)據(jù)到文件時才需要選擇函數(shù)測試模式。選擇這個選項很影響性能。在調(diào)試腳本的時候,可以開啟,但是在壓測數(shù)量時建議關(guān)閉。添加目錄或jar包到ClassPath(add directory or jar to classpath):需要調(diào)用的外部jar包可以在這里進行添加設(shè)置。如:向類路徑即%JMETER-HOME%BIN中添加目錄及jar包
                • (1、瀏覽可以點擊選擇;
                • (2、選擇其中一條可以點擊刪除;
                • (3、點擊清除時可以清除里面所有的記錄;

                注:什么是元素?

                JMeter的不同組件稱為Elements。 每個元素都是為特定目的而設(shè)計的。

                2、線程組(Threads)

                • “線程組”是線程的集合。 每個線程代表一個用戶(每個線程模擬一個到服務(wù)器的真實用戶請求)。
                • 線程組控件:設(shè)置每個組的線程數(shù)

                例如,如果將線程數(shù)設(shè)置為100; JMeter將創(chuàng)建并模擬100個用戶對被測服務(wù)器的請求

                • 線程組是任何一個測試計劃的開始點。每個測試需求的必備組件,JMeter 的每個任務(wù)都是用線程來處理的,

                所有的控制器和取樣器都是在某個線程組下;

                • 但有些配置元件,如:監(jiān)聽器,可能會被直接放到測試計劃目錄下。
                • 訪問路徑:【測試計劃】-【線程】-【線程組】
                • 頁面元素介紹:名稱:為線程組起名字線程數(shù):請求并發(fā)的數(shù)量(一般我們用來表示多少個用戶,即我們測試時的用戶數(shù)量)Ramp-Up Period(in seconds):在多少秒內(nèi)創(chuàng)建“線程數(shù)”中定義的所有線程。設(shè)置的1000個用戶,如果設(shè)置為1000秒,那么系統(tǒng)將會在1000秒結(jié)束前啟動這1000個用戶, 如果設(shè)置為0秒,則表示立即啟動所有用戶。每秒并發(fā)數(shù) = 線程數(shù)/RUP, 設(shè)為0,則立即啟動所有線程循環(huán)次數(shù):當(dāng)前線程組中的測試腳本循環(huán)運行次數(shù)(如果選擇后面的“永久”,那么請求將一直繼續(xù),直到強制停止.如果不選擇“永久”,而在輸入框中輸入數(shù)字,那么請求將重復(fù)指定的次數(shù),如果是0,會出現(xiàn)問題)調(diào)度器配置-持續(xù)時間:測試計劃持續(xù)多長時間,表示腳本持續(xù)運行的時間,以秒為單位,比如如果你要讓用戶持續(xù)不斷登錄1個小時,你可以在文本框中填寫3600。調(diào)度器配置-啟動延遲:測試計劃延遲多長時間啟動 Action to be taken after a Sampler error:用于設(shè)置出現(xiàn)錯誤后程序如何運行,操作如下
                • continue:忽略錯誤繼續(xù)進行
                • Start Next Tread Loop:開始下一個線程
                • Stop Thread:停止當(dāng)前線程
                • Stop Test:當(dāng)前采樣結(jié)束后,停止整個測試
                • Stop Test Now:立刻停止整個測試

                3、邏輯控制器(Logic controller)

                • 邏輯控制器確定執(zhí)行用戶請求的順序

                邏輯控制器允許在線程中定義處理請求的順序。它允許控制“何時”將用戶請求發(fā)送到Web服務(wù)器。例如,可以使用隨機控制器隨機向服務(wù)器發(fā)送HTTP請求

                • 邏輯控制器可以組織取樣器做出復(fù)雜的測試用的HTTP請求,以此滿足測試需要。

                例如:我們在收郵件時,只需要登錄一次郵箱既可查看多封郵件。如果這個場景我們在Jmeter中實現(xiàn),我們需要控制登錄的次數(shù),如何實現(xiàn)呢?Jmeter邏輯控制器中的僅一次控制器就可以完成。當(dāng)然了,控制器不只是這一個,還有很多其他的控制器來完成我們的各種需求。

                • 控制器的訪問路徑:【測試計劃】-【線程組】-【邏輯控制器】
                • 循環(huán)控制器:循環(huán)控制器使用戶請求運行指定的次數(shù)或永久運行循環(huán)控制器示例:

                除了為“線程組”指定的循環(huán)值之外,循環(huán)控制器使取樣器運行一定次數(shù)。例如,如果你

                將一個HTTP請求添加到循環(huán)控制器,循環(huán)計數(shù)為50

                將“線程組”循環(huán)計數(shù)配置為2

                然后,JMeter將發(fā)送總共50 * 2 = 100個HTTP請求。

                • 配置線程組
                • 添加線程組:向網(wǎng)絡(luò)服務(wù)器baidu.com發(fā)出一個用戶請求并運行2次。
                • 配置循環(huán)控制器
                • 將值50添加到循環(huán)計數(shù)字段,如下圖所示。它將向web服務(wù)器baidu.com發(fā)出一個用戶請求,運行50 次,

                除了循環(huán)值= 2,你為上面的線程組指定。所以JMeter將發(fā)送總共2 * 50 = 100個HTTP請求。

                • JMeter將一個用戶請求(發(fā)送100次)模擬到Web服務(wù)器http://www.baidu.com/。在100次發(fā)送用戶
                • 請求后停止測試。

                又如:線程組中設(shè)置循環(huán)次數(shù)3,循環(huán)控制器中設(shè)置循環(huán)測試2,

                即:線程組的循環(huán)與循環(huán)控制器為父子關(guān)系,且循環(huán)控制器只對子請求有效

                注:錄制腳本的循環(huán)按循環(huán)控制器中的調(diào)協(xié)循環(huán)

                • 僅一次控制器:

                作為循環(huán)控制器的子節(jié)點,僅一次控制器在每循環(huán)的第一次迭代時均會被執(zhí)行

                • 隨機控制器:隨機控制器使所有用戶請求在每個循環(huán)周期中以隨機順序運行。例如,您按以下順序向網(wǎng)站http://www.baidu.com提出了3個用戶請求:

                HTTP請求、FTP請求、JDBC請求

                這3個請求應(yīng)該運行5次; JMeter將向baidu服務(wù)器發(fā)送總共5個用戶請求。

                按順序,按以下順序依次發(fā)送請求:HTTP請求 – > FTP請求 – > JDBC請求,對于每個循環(huán)按隨機順序,請求隨機發(fā)送,F(xiàn)TP請求 – > HTTP請求 – > JDBC請求 或 JDBC請求 – > FTP請求 – > HTTP請求等

                4、配置元件(Config element)

                • 配置元件,設(shè)置默認(rèn)值和變量供以后取樣器使用。同其名字一樣,只是配置一些默認(rèn)的屬性和信息,供取樣器獲取所需要的各種配置信息,它不向服務(wù)器發(fā)送任何的請求。
                • 配置元件僅對其所在的測試樹分支有效。
                • 例如,HTTP請求默認(rèn)值設(shè)置了服務(wù)器的名稱,那么它所在的測試分支內(nèi)的HTTP請求的服務(wù)器名稱都是這個服務(wù)器,HTTP請求僅設(shè)置路徑就可以訪問網(wǎng)頁了。
                • 性能測試中為了模擬大量用戶操作我們往往需要做參數(shù)化,Jmeter的參數(shù)化可以通過配置元件來完成,

                比如CVS Data Set Config,它可以幫助我們從文件中讀取測試數(shù)據(jù)。另外Jmeter也提供了眾多的函數(shù)來幫我們生成動態(tài)數(shù)據(jù)。

                • 當(dāng)然配置元件的作用不僅于此,它還可以用來記錄服務(wù)器的返回數(shù)據(jù),比如HTTP Cache Manager(HTTP

                緩存管理器),自動記錄服務(wù)器返回的Cache信息。簡單說就是它為取樣器提供預(yù)備數(shù)據(jù),然后由取樣器

                發(fā)出請求。

                • 常用的配置如下圖框中所示元件:
                • CSV數(shù)據(jù)集配置:
                • 假設(shè)要為使用不同憑據(jù)登錄的100個用戶測試網(wǎng)站。 您不需要記錄腳本100次! 您可以參數(shù)化腳本以輸

                入不同的登錄憑據(jù)。 該登錄信息(例如,用戶名,密碼)可以存儲在文本文件中。 JMeter有一個元素,允許您從該文本文件中讀取不同的參數(shù)。 它是“CSV數(shù)據(jù)集配置”,用于從文件中讀取行,并將它們拆分為變量。

                這是CSV數(shù)據(jù)的示例。 這是一個文本文件,其中包含用于登錄目標(biāo)網(wǎng)站的用戶和密碼

                • HTTP Cookie管理器
                • 例子:使用瀏覽器(Firefox,IE …等)瀏覽www.baidu.com,使用到的用戶名和密碼登錄,用戶名 和

                密碼將作為cookie存儲在計算機中。下次訪問www.baidu.com時 ,無需再次登錄,因為在瀏覽器將使用您的Cookie作為用戶數(shù)據(jù)登錄。

                • HTTP Cookie管理器也具有與Web瀏覽器相同的功能。 如果您有HTTP請求并且響應(yīng)包含cookie,則

                Cookie管理器會自動存儲該cookie,并將其用于將來對該特定網(wǎng)站的所有請求。

                • HTTP默認(rèn)請求

                此元素允許您設(shè)置HTTP請求控制器使用的默認(rèn)值

                • 例如:
                • 您正在向服務(wù)器google.com發(fā)送100個HTTP請求,您必須為所有這100個請求手動輸入

                server name = google.com

                • 相反,您可以使用“服務(wù)器名稱或IP”字段= google.com添加單個HTTP請求默認(rèn)值無需鍵入100次!

                PS:在執(zhí)行順序方面有個例外,配置元件”用戶定義的變量”無論它處于測試樹的哪個位置,總是在測試的初始階段執(zhí)行。所以個人建議把它放在線程組的開始部分。

                5、定時器(Timer)(固定定時器:思考時間)

                • 默認(rèn)情況下,JMeter發(fā)送請求而不會在每個請求之間暫停 。 在這種情況下,JMeter可能會在很短的時間內(nèi)發(fā)出太多請求,從而壓垮您的測試服務(wù)器。
                • 在現(xiàn)實生活中,訪問者不會同時到達網(wǎng)站,而是以不同的時間間隔到達網(wǎng)站。 因此,Timer將有助于模擬實時行為,在線程發(fā)出的每個請求之間延遲 。從而解決服務(wù)器過載問題。
                • 為了足夠真實地模擬用戶負載,我們有時會需要模擬這些請求在同一時刻發(fā)送,就好像把大家集合在一條起跑線上,然后一聲令下,同時起跑。那么我們此時需要一個集合的功能,Jmeter中可以通過定時器來完成這個需求。
                • 當(dāng)然了,定時器不只有這個功能,定時器種類有很多。
                • 訪問路徑:【測試計劃】-【線程組】-【定時器】
                • 固定定時器:
                • 固定定時器(Constant Timer):會在每個用戶請求延遲相同的時間。
                • 例:,使用Constant Timer在用戶請求baidu.com之間設(shè)置固定延遲 :

                JMeter向http://www.baidu.com創(chuàng)建一個用戶請求100次

                每個用戶請求之間的延遲為5000毫秒

                • 用View Results in Table看結(jié)果比較明了
                • 同步定時器(Synchronizing Timer)
                • 這個定時器和loadrunner當(dāng)中的集合點(rendezvous point)作用相似,其作用是:阻塞線程,直到指定的 線程數(shù)量到達后,再一起釋放,可以瞬間產(chǎn)生很大的壓力
                • Number of Simulated Users to Group by:模擬用戶的數(shù)量,即指定同時釋放的線程數(shù)數(shù)量
                • Timeout in milliseconds:超時時間,即超時多少毫秒后同時釋放指定的線程數(shù)

                6、前置處理器(Per processors)

                • 在測試腳本開發(fā)過程中,我們在請求發(fā)送前可能會做一些環(huán)境或者參數(shù)的準(zhǔn)備工作,那么我們可以在前置處理器中來完成這些工作。比如我們在對數(shù)據(jù)庫進行操作前需要先建立一個數(shù)據(jù)庫連接,那么前置處理器就可以完成這個功能。前置處理器訪問的路徑:【測試計劃】-【前置處理器】

                7、取樣器(Samples)

                • Sampler(取樣器)主要的執(zhí)行組件。線程組如何知道需要進行哪種類型的請求(HTTP,F(xiàn)TP等)呢?答案是取樣器。用戶請求可以是FTP請求,HTTP請求,JDBC請求……等取樣器用來模擬用戶操作,向服務(wù)器(被測系統(tǒng))發(fā)出http請求、webservice請求或者java請求等。我們可以把http請求元件看成是一個沒有界面的瀏覽器,它可以發(fā)送http請求,接收服務(wù)器響應(yīng)的數(shù)據(jù)(我們主要用HTTP請求)。每一個取樣器都可以被監(jiān)聽器監(jiān)聽,并生成測試結(jié)果。通常情況下,取樣器會按照其在測試樹中的順序去執(zhí)行,但是也會根據(jù)邏輯控制器來改變運行的次數(shù)和順序。
                • 取樣器的訪問路徑:【測試計劃】-【線程組】-【Sampler】
                • FTP request
                • 假設(shè)您想要對FTP服務(wù)器進行性能測試。 您可以在JMeter中使用FTP請求采樣器來執(zhí)行此任務(wù)。 此控制器允許

                您將FTP“下載文件”或“上載文件”請求發(fā)送到FTP服務(wù)器。

                • 例如,如果要從測試的FTP服務(wù)器下載文件“Test.txt”,則需要在JMeter中配置一些參數(shù),如下圖所示

                JMeter將FTP命令發(fā)送到FTP服務(wù)器ftp.example.com ,然后從該服務(wù)器下載文件Test.txt。

                • HTTP request
                • 此取樣器允許您將HTTP/HTTPS請求發(fā)送到Web服務(wù)器。
                • JDBC請求:
                • 此取樣器允許您執(zhí)行數(shù)據(jù)庫性能測試 。 它將JDBC請求(SQL查詢)發(fā)送到數(shù)據(jù)庫。
                • 例如,數(shù)據(jù)庫服務(wù)器具有存儲在表名test_tbl中的字段test_result。 您想從數(shù)據(jù)庫服務(wù)器查詢此數(shù)據(jù);

                您可以配置JMeter將SQL查詢發(fā)送到此服務(wù)器以檢索數(shù)據(jù)。

                • SMTP 取樣器:

                如果要測試郵件服務(wù)器,可以使用SMTP采樣器。 此采樣器用于使用SMTP協(xié)議發(fā)送電子郵件

                8、后置處理器(post processors)

                • 后置處理器一般放在取樣器之后,專門用來處理請求后服務(wù)器響應(yīng)的返回結(jié)果的元件。比如一個web應(yīng)用程序,我們登錄后會返回一個sessionID,這個sessinID在登錄之后的業(yè)務(wù)操作過程中會作為驗證條件,驗證用戶是否合法登錄了。我們利用取樣器模擬這個請求時就需要帶上這個屬性,那么如何獲取呢?首先我們要知道這個sessionID從哪來?它是由服務(wù)器返回的。接著我們要獲取它,用什么工具獲取呢?Jmeter幫我們提供了元件,比如正則表達式提取器,它支持正則表達式的方式提取數(shù)據(jù)。又比如,XPath Extractor:可以提取響應(yīng)數(shù)據(jù)中通過給定XPath 值獲得的數(shù)據(jù);正則表達式提取器:可以利用正則表達式方便的提取測試時所需的數(shù)據(jù),用以參數(shù)傳遞和斷言等。訪問路徑:【測試計劃】-【后置處理器】

                9、斷言(Assertions)

                • 斷言,用來判斷取樣器是否正常工作,判斷請求響應(yīng)是否正確,驗證結(jié)果是否正確。

                用過LR的讀者應(yīng)該會知道檢查點這個功能,可以幫助我們來判斷請求是否成功返回且是否符合要求,在Jmeter中我們不叫檢查點,我們叫斷言,接觸過selenium的也會懂這個概念。就是用一個預(yù)設(shè)的結(jié)果(值、表達式、時間長短等條件)與實際結(jié)果匹配,匹配到則成功,反之失敗。

                • 使用斷言的目的:在request的返回層面增加一層判斷機制;因為request成功了,并不代表結(jié)果一定正確使用斷言的方法:
                • 在選擇的Sampler下添加對應(yīng)的斷言(因為不同類型的斷言檢查的內(nèi)容不同);配置好響應(yīng)的檢查內(nèi)容添加一個斷言結(jié)果的監(jiān)聽器(從監(jiān)聽器中添加),通過“斷言結(jié)果”可以看到是否通過斷言;對于一次請求,如果通過的話,斷言結(jié)果中只會打印一行請求的名稱; 如果失敗,則除了請求的名稱外,還會有一行失敗的原因(不同類型的斷言,結(jié)果不同)。
                • PS:一個Sampler可以添加多個斷言,根據(jù)你的檢查需求來添加相應(yīng)的斷言,當(dāng)Sampler下所有的斷言都通過了,那么才算request成功斷言訪問路徑:【測試計劃】-【斷言】
                • “響應(yīng)斷言“允許您添加模式字符串以與服務(wù)器響應(yīng)的各個字段進行比較。
                • 例如,您向網(wǎng)站http://www.baidu.com發(fā)送用戶請求并獲取服務(wù)器響應(yīng)。 您可以使用Response Assertion來驗證服務(wù)器響應(yīng)是否包含預(yù)期的模式字符串(例如“OK”)。

                APPly to:適用范圍

                Main sample and sub-samples:作用于父節(jié)點取樣器及對應(yīng)子節(jié)點取樣器

                Main sample only:僅作用于父節(jié)點取樣器

                Sub-samples only:僅作用于子節(jié)點取樣器

                JMeter Variable:作用于jmeter變量(輸入框內(nèi)可輸入jmeter的變量名稱)

                要測試的響應(yīng)字段:要檢查的項

                響應(yīng)報文

                Documeng(text):測試文件

                URL樣本

                響應(yīng)代碼

                響應(yīng)信息

                Response Headers:響應(yīng)頭部

                Ignore status:忽略返回的響應(yīng)報文狀態(tài)碼

                模式匹配規(guī)則:

                包括:返回結(jié)果包括你指定的內(nèi)容

                匹配:(好像跟Equals查不多,弄不明白有什么區(qū)別)

                Equals:返回結(jié)果與你指定結(jié)果一致

                Substring:返回結(jié)果是指定結(jié)果的字串

                否:不進行匹配

                要測試的模式:即填寫你指定的結(jié)果(可填寫多個),按鈕【添加】、【刪除】是進行指定內(nèi)容的管理

                10、監(jiān)聽器(Listener)

                • Jmeter的測試結(jié)果需要添加監(jiān)聽器來搜集,監(jiān)聽器主要用于收集整理測試結(jié)果,并將測試結(jié)果數(shù)據(jù)進行處理并展示出來??梢灾付ǜ袷缴蒟ML、CSV等形式的文件。查看結(jié)果樹,用表格查看結(jié)果,圖形結(jié)果…聚合報告等,都是我們經(jīng)常會用到的元件。
                • Jmeter的監(jiān)聽器有兩個任務(wù)。
                • 添加結(jié)果監(jiān)聽,并且可以保存測試結(jié)果到文件,這些結(jié)果數(shù)據(jù)可以供再次分享使用。
                • 展示結(jié)果,Jmeter可以以表格及圖形的形式展現(xiàn)結(jié)果,方便測試人員分析測試結(jié)果。
                • 【取樣器】、【斷言】、【監(jiān)聽器】組合在一起就可以幫我們完成發(fā)送請求、驗證結(jié)果及記錄結(jié)果三項工作
                • 監(jiān)聽器的訪問路徑是:【測試計劃】-【監(jiān)聽器】
                • “圖形結(jié)果”偵聽器(Graph Results)

                “圖形結(jié)果”偵聽器在圖形上顯示服務(wù)器響應(yīng)時間

                • 查看結(jié)果樹

                “查看結(jié)果樹”以基本HTML格式顯示用戶請求的結(jié)果(View Results Tree)

                通過察看結(jié)果樹,我們可以看到每個請求的結(jié)果,其中紅色的是出錯的請求,綠色的為通過。

                Thread Name:線程組名稱

                Sample Start: 啟動開始時間

                Load time:加載時長

                Latency:等待時長

                Size in bytes:發(fā)送的數(shù)據(jù)總大小

                Headers size in bytes:發(fā)送數(shù)據(jù)的其余部分大小

                Sample Count:發(fā)送統(tǒng)計

                Error Count:交互錯誤統(tǒng)計

                Response code:返回碼

                Response message:返回信息

                Response headers:返回的頭部信息

                這里綠色的就說明請求是通過的,返回值是200,如果出現(xiàn)紅色的 就說明請求失敗,這時候可以通過右邊的取樣器結(jié)果和響應(yīng)數(shù)據(jù)來查看結(jié)果。

                • 表格偵聽器

                用表格可看結(jié)果(View Results in Table)

                四、組件執(zhí)行順序

                在同一作用域名范圍內(nèi)(不考慮邏輯控制器),測試計劃中的元件按照如下順序執(zhí)行。(1)配置元件(config elements )(2)前置處理程序(Per-processors)(3)定時器(timers )(4)取樣器(Sampler)(5)后置處理程序(Post-processors) (除非Sampler 得到的返回結(jié)果為空)(6)斷言(Assertions)(除非Sampler 得到的返回結(jié)果為空)(7)監(jiān)聽器(Listeners)(除非Sampler 得到的返回結(jié)果為空)

                問題

                1、為什么要使用jmeter?他可以幫我們解決那些事情?

                  jmeter主要是做接口測試和性能測試,它支持的協(xié)議也不少,用來測試http,數(shù)據(jù)庫并發(fā)都是很方便快捷的工具,相對于lr來說更靈活與實用,等等

                2、我們在什么時候會使用jmeter?

                  · 在一個項目中我們可能前段還沒有開發(fā)完畢我們想看一下服務(wù)器的相應(yīng)數(shù)據(jù)。

                  · 比如我們校驗數(shù)據(jù)庫有沒有做校驗,我們可以繞過前端

                  · 我們想看一下這個接口或者多個接口的并發(fā)量是多少,性能怎么樣

                3、.誰在使用?為什么是他在使用?

                  一般使用者為開發(fā)人員或者測試人員。

                  開源免費,基于Java編寫,可集成到其他系統(tǒng)可拓展各個功能插件

                  支持接口測試,壓力測試等多種功能,支持錄制回放,入門簡單

                  相較于自己編寫框架活其他開源工具,有較為完善的UI界面,便于接口調(diào)試

                  多平臺支持,可在Linux,Windows,Mac上運行

                4、使用jmeter需要了解什么?接口與接口之間的聯(lián)系怎么處理?

                  · 我們必須了解接口的工作原理

                  · 需要掌握http中的get和post請求原理

                  · 需要掌握請求頭,響應(yīng)頭,請求體個個字段代表什么意思,并且字段的返回值的各代的含義是什么?

                  · 響應(yīng)的狀態(tài)碼各代表什么含義·

                  · json是什么?

                  · 接口測試用例的設(shè)計方法,以及測試時點

                  接口之間的聯(lián)系:

                  接口與接口之間存在聯(lián)系,比如上個接口的返回值是下一個接口的入?yún)?,那我們就要在上個接口返回值賦值變量,供下一個接口調(diào)用。

                5、在使用jmeter中我想要的預(yù)期結(jié)果和實際結(jié)果是怎樣對比的?

                  · 我們做所有的測試無非就是預(yù)期結(jié)果和實際結(jié)果作對比,如果預(yù)期結(jié)果和實際結(jié)果作對比,那么這個接口就是可用的,不相等那么這個接口就是有問題的。

                  ·在jmeter中我們的用斷言做實際結(jié)果和預(yù)期結(jié)果的對比,它提供了許多斷言方法,其中最常用的就是響應(yīng)斷言,在后面我會專門的寫一下響應(yīng)斷言以及一些常用斷言的用法。

                  · 我們還需要知道在jmeter中我們斷言的內(nèi)容是啥?這點是很重要的

                7、使用jmeter的是的我們的有哪些方面的提升,jmeter的主流方向是什么?

                  · 對整個前端與后端的一個相互傳輸數(shù)據(jù)原理有了進一步了解

                  · 可以提高測試效率,可以提早的參與進來,較早的發(fā)現(xiàn)問題,減少開發(fā)成本,縮短整個產(chǎn)品的上線周期,可以給測試流出充裕的時間,保證產(chǎn)品質(zhì)量。

                  ·掌握了接口測試的測試點,已及用例的設(shè)計方法。

                  jmeter測試的主流方向:

                  · 用于性能測試,壓力測試

                  · 接口測試

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月15日 06:15
                下一篇 2022年6月15日 06:15

                相關(guān)推薦

                • ios手游模擬器(手游模擬器ios)

                  本文主要講的是ios手游模擬器,以及和手游模擬器ios相關(guān)的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 哪個iOS模擬器能多開手游賬號?可以推薦個好用的模擬器給我嗎…

                  2022年11月27日
                • 短視頻策劃內(nèi)容的3個要點(短視頻策劃內(nèi)容怎么做)

                  短視頻在制作時,內(nèi)容框架非常重要。如果直奔主題,然后結(jié)束,聚卓告訴你,這樣的短視頻已經(jīng)過時了。現(xiàn)在的短視頻需要框架的,但不是任何框架,它需要一種易于理解和消化的框架。而且,現(xiàn)在大多…

                  2022年11月27日
                • 美團第三季度實現(xiàn)營收626億元,即時配送訂單量增至50億筆

                  新京報訊(記者秦勝南)11月25日,美團發(fā)布業(yè)績公告顯示,第三季度營收為626億元,較去年同比增長28.2%,凈利潤為12.2億元。第三季度,美團即時配送訂單數(shù)增長至50億筆。截至…

                  2022年11月27日
                • 存儲過程語法(sql server存儲過程語法)

                  今天小編給各位分享存儲過程語法的知識,其中也會對sql server存儲過程語法進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲過程基本語法…

                  2022年11月26日
                • 個人怎么做抖音帶貨(個人做抖音帶貨能賺錢嗎)

                  抖音如今是大家很熟悉的短視頻平臺,不過現(xiàn)在的抖音卻不只是短視頻那么簡單,它的功能非常豐富,其中一個就是可以帶貨,相信很多小伙伴都有在抖音上買過東西,抖音如今的變現(xiàn)能力也是不容小覷的…

                  2022年11月25日
                • 小紅書平臺的一些機制及玩法詳解(小紅書玩法有哪些)

                  關(guān)于小紅書 一:小紅書平臺的一些機制 1. 筆記內(nèi)容的CES評分機制 2. 筆記流量入口與長尾效應(yīng) 二:小紅書優(yōu)質(zhì)筆記的特點(分維度、類型分析) 1.筆記的本身架構(gòu)組成 維度 2.…

                  2022年11月25日
                • 什么是推廣cpa一篇文章帶你看懂CPA推廣渠道

                  CPA渠道 CPA指的是按照指定的行為結(jié)算,可以是搜索,可以是注冊,可以是激活,可以是搜索下載激活,可以是綁卡,實名認(rèn)證,可以是付費,可以是瀏覽等等。甲乙雙方可以根據(jù)自己的情況來定…

                  2022年11月25日
                • 百度關(guān)鍵詞快速排名的4大原理解析(百度怎么刷關(guān)鍵詞)

                  近期百度公告驚雷算法2.0,升級之快還是第一次吧,看來百度對于刷點擊行為是零容忍了。之前尹華峰SEO技術(shù)博客介紹過一篇如何使用刷點擊工具,其實市面上有很多這類SEO快速排名的軟件,…

                  2022年11月25日
                • 抖音直播帶貨有哪些方法技巧(抖音直播帶貨有哪些痛點)

                  如今抖音這個短視頻的變現(xiàn)能力越來越突顯了,尤其是在平臺上開通直播,更具有超強的帶貨屬性,已經(jīng)有越來越多的普通人加入到其中了。不過直播帶貨雖然很火,但是也不是每個人都能做好的,那么在…

                  2022年11月24日
                • 成都健康碼打不開顯示接口請求未知異常怎么辦(成都健康碼打不開顯示接口請求未知異常)

                  成都這幾天的疫情也是備受關(guān)注,疫情期間各地出行都是需要查看健康碼的,不過今天卻有成都的小伙伴反饋健康碼無法打開的情況。成都健康碼打不開顯示接口請求未知異常怎么辦?由于健康碼無法打開…

                  2022年11月24日

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息