免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      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巨大的負(fù)載,來自不同壓力類別下測試它們的強度和分析整體性能。
      • JMeter能夠?qū)?yīng)用程序做功能/回歸測試,通過創(chuàng)建帶有斷言的腳本來驗證程序返回了是否為期望的結(jié)果。為了最大限度的靈活性,JMeter允許使用正則表達(dá)式創(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支持許多測試策略,如負(fù)載測試 ,分布式測試和功能測試 。 模擬 :JMeter可以使用并發(fā)線程模擬多個用戶,對正在測試的Web應(yīng)用程序造成沉重負(fù)擔(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下啟動負(fù)載生成器服務(wù)文件jmeter-server:Linux下啟動負(fù)載生成器文件

      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)實生活中,訪問者不會同時到達(dá)網(wǎng)站,而是以不同的時間間隔到達(dá)網(wǎng)站。 因此,Timer將有助于模擬實時行為,在線程發(fā)出的每個請求之間延遲 。從而解決服務(wù)器過載問題。
      • 為了足夠真實地模擬用戶負(fù)載,我們有時會需要模擬這些請求在同一時刻發(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ù)量到達(dá)后,再一起釋放,可以瞬間產(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幫我們提供了元件,比如正則表達(dá)式提取器,它支持正則表達(dá)式的方式提取數(shù)據(jù)。又比如,XPath Extractor:可以提取響應(yīng)數(shù)據(jù)中通過給定XPath 值獲得的數(shù)據(jù);正則表達(dá)式提取器:可以利用正則表達(dá)式方便的提取測試時所需的數(shù)據(jù),用以參數(shù)傳遞和斷言等。訪問路徑:【測試計劃】-【后置處理器】

      9、斷言(Assertions)

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

      用過LR的讀者應(yīng)該會知道檢查點這個功能,可以幫助我們來判斷請求是否成功返回且是否符合要求,在Jmeter中我們不叫檢查點,我們叫斷言,接觸過selenium的也會懂這個概念。就是用一個預(yù)設(shè)的結(jié)果(值、表達(dá)式、時間長短等條件)與實際結(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)刪除。
      (0)
      用戶投稿
      上一篇 2022年6月15日 06:15
      下一篇 2022年6月15日 06:15

      相關(guān)推薦

      • 工行融e借有額度秒拒什么原因 看看你中了幾個

        融e借屬于工行旗下的個人信用貸款產(chǎn)品,在市場受到了很多借貸人的追捧,但有的網(wǎng)友在使用過程總會遇到不同的問題,那么工行融e借有額度秒拒什么原因呢?下面來看分析。 1、個人征信不良 如…

        2022年9月7日
      • 國產(chǎn)游戲如何通過海外社媒走向國際:專訪Twitter大中華區(qū)副總

        近年來,國產(chǎn)游戲似乎正在以更開放的姿態(tài)走向世界舞臺?!对瘛贰睹魅辗街邸贰痘囊靶袆印愤@樣的移動游戲自然不必多說,像是《光明記憶》《暗影火炬城》《黑神話:悟空》這些以主機和PC為平臺…

        2022年8月24日
      • 積分還有未來嗎?

        如今大家對積分幾乎是嗤之以鼻,積分就是“雞肋”幾乎已經(jīng)是共識。但如同錢要用在刀刃上,積分也要用在刀刃上才能發(fā)揮作用。 積分具有靈活性高,通用性強的特點,常見的零售電商、生活服務(wù)、內(nèi)…

        2022年7月18日
      • 中國廣電移動網(wǎng)絡(luò)適配手機型號公布:iPhone XS 及以上全部支持

        IT之家 6 月 24 日消息,中國廣電在 6 月 6 日舉辦了中國廣電品牌升級暨廣電 5G 和融合業(yè)務(wù)品牌發(fā)布會,啟動了全國范圍廣電 5G 友好用戶 192 號碼預(yù)約活動。中國廣…

        2022年6月25日
      • 艾思軟件:前端開發(fā)規(guī)范文檔

        開發(fā)規(guī)范(前端) 版本:v1.0 日期:2022-01-15 一:命名規(guī)范 命名統(tǒng)一使用英文單詞,要求簡單,通俗易懂。 項目命名 使用小寫字母,多單詞采用 “ – ” …

        2022年6月23日
      • 流量平臺(樂瘋流量平臺)

        今天小編給各位分享流量平臺的知識,其中也會對樂瘋流量平臺進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! 流量交易平臺有哪些 流量交易平臺有: 流量獲取四大天…

        2022年11月6日
      • 螺紋鋼一年中,哪個月最容易漲價?

        作者:皈依佛 皈依法 皈依僧 作者:皈依佛 皈依法 皈依僧 筆者通過對螺紋鋼的歷史數(shù)據(jù)做統(tǒng)計,統(tǒng)計時間段為自螺紋鋼上市以來至2021年年中,數(shù)據(jù)來源于價格指數(shù),通過觀察統(tǒng)計中的數(shù)據(jù)…

        2022年8月1日
      • 網(wǎng)友后悔將iPhoneXR改成iPhone13Pro,稱不好意思拿出來用

        改iPhone或買iPhone改裝機,其實都不太明智。因為現(xiàn)在大家接觸的iPhone比較多,很多人一眼就能看出問題。用改裝機會被人貼上“虛榮”“好面子”等標(biāo)簽。 比如網(wǎng)友這臺改裝i…

        2022年6月15日
      • 重要-即時通訊IM開源項目OpenIM關(guān)于版本管理及v2.3.0發(fā)布計劃

        越來越多的客戶把OpenIM用到了生產(chǎn)環(huán)境,由于新特性持續(xù)迭代和bug修復(fù),會涉及到后續(xù)的升級方案,為了讓大家后續(xù)從容應(yīng)對,本文重點總結(jié)OpenIM對未來版本管理的思路和方案。同時…

        2022年7月2日
      • 快手Q2業(yè)績前瞻:基本面持續(xù)優(yōu)化,平臺流量保持增長

        中新經(jīng)緯7月27日電 近日,多家券商機構(gòu)發(fā)布對于快手的二季度業(yè)績前瞻。淡季不淡,基本面向好,成為多份報告的關(guān)鍵詞。 瑞銀維持對快手的“買入”評級,目標(biāo)價由95港元上調(diào)至104港元?!?/p>

        2022年7月28日

      聯(lián)系我們

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