全網最全最細的jmeter接口測試教程以及接口測試流程(入門教程)
一、Jmeter簡介
Jmeter是由Apache公司開發(fā)的一個純Java的開源項目,即可以用于做接口測試也可以用于做性能測試。
Jmeter具備高移植性,可以實現跨平臺運行。
Jmeter可以實現分布式負載。
Jmeter采用多線程,允許通過多個線程并發(fā)取樣或通過獨立的線程對不同的功能同時取樣。
Jmeter具有較高擴展性。
二、Jmeter安裝
1、安裝JDK,必須JDK1.7以上的版本,推薦1.8的版本
2、進入官網:http://jmeter.apache.org/download_jmeter.cgi? ?下載最新的Jmeter版本,下載后解壓到非中文目錄,如:D:\
3、配置Jmeter的環(huán)境變量。
? ? ?(1) 新增變量:JMETER_HOME:D:\apache-jmeter-5.2.1
? ? ?(2) 在CLASSPATH變量的最前面加入如下變量:? %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
? ? (3)在PATH變量的最前面加入如下變量:%JMETER_HOME%\bin;
4、進入D:\apache-jmeter-5.2.1\bin,雙擊jmeter.bat,或在dos窗口輸入jmeter命令打開jmeter界面,安裝成功。
對于真正的零基礎來說:安裝請按如下步驟完成:
windows下安裝jmeter? mac下安裝jmeter? So Easy那多不是事!寫給jmeter入門的朋友!
三、設置Jmeter語言為中文環(huán)境
1、臨時設置
Jmeter菜單欄選擇OptionsàChoose LanguageàChinese (Simplified)
這種方法,重啟軟件后又變?yōu)橛⑽沫h(huán)境了。
2、永久設置
進入apache-jmeter-5.2.1\bin目錄,找到“jmeter.properties”文件,在文件的第37行后添加“l(fā)anguage=zh_CN”,保存之后再打開jmeter就永久變?yōu)橹形沫h(huán)境了。
四、Jmeter主要元件
1、測試計劃:是使用 JMeter 進行測試的起點,它是其它 JMeter測試元件的容器
2、線程組:代表一定數量的用戶,它可以用來模擬用戶并發(fā)發(fā)送請求。實際的請求內容在Sampler中定義,它被線程組包含。
3、配置元件:維護Sampler需要的配置信息,并根據實際的需要修改請求的內容。
4、前置處理器:負責在請求之前工作,常用來修改請求的設置
5、定時器:負責定義請求之間的延遲間隔。
6、取樣器(Sampler):是性能測試中向服務器發(fā)送請求,記錄響應信息、響應時間的最小單元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一種不同類型的sampler 可以根據設置的參數向服務器發(fā)出不同類型的請求。
7、后置處理器:負責在請求之后工作,常用獲取返回的值。
8、斷言:用來判斷請求響應的結果是否如用戶所期望的。
9、監(jiān)聽器:負責收集測試結果,同時確定結果顯示的方式。
10、邏輯控制器:可以自定義JMeter發(fā)送請求的行為邏輯,它與Sampler結合使用可以模擬復雜的請求序列。
五、Jmeter元件的作用域和執(zhí)行順序
1.元件作用域
配置元件:影響其作用范圍內的所有元件。
前置處理器:在其作用范圍內的每一個sampler元件之前執(zhí)行。
定時器:在其作用范圍內的每一個sampler有效
后置處理器:在其作用范圍內的每一個sampler元件之后執(zhí)行。
斷言:在其作用范圍內的對每一個sampler元件執(zhí)行后的結果進行校驗。
監(jiān)聽器:在其作用范圍內對每一個sampler元件的信息收集并呈現。
總結:從各個元件的層次結構判斷每個元件的作用域。
2.元件執(zhí)行順序:
配置元件->前置處理器->定時器->取樣器->后置處理程序->斷言->監(jiān)聽器
注意事項:
1.前置處理器、后置處理器和斷言等組件只能對取樣器起作用,因此,如果在它們的作用域內沒有任何取樣器,則不會被執(zhí)行。
2.如果在同一作用域內有多個同一類型的元件,則這些元件按照它們在測試計劃中的上下順序依次執(zhí)行。
六、Jmeter進行接口測試流程
使用Jmeter進行接口測試的基本步驟如下:
1.測試計劃
2.線程組
3.HTTP Cookie管理器
4.Http請求默認值
5.Sampler(HTTP請求)
6.斷言
7.監(jiān)聽器(查看結果樹、圖形結果、聚合報告等)
七、Jmeter進行接口測試流程步驟詳解
1、測試計劃
打開Jmeter,在菜單左側出現 “測試計劃”。在這里測試計劃我們可以把它理解成新建的空白項目,在這個空白項目下面可以添加一系列的接口。
2、線程組
添加方法:右鍵點擊Test Plan->添加->線程(用戶)->線程組。
元件描述:一個線程組可以看做一個虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶。
(1)線程數:即虛擬用戶數。設置多少個線程數也就是設置多少虛擬用戶數
(2)Ramp-Up時間(秒):設置虛擬用戶數全部啟動的時長。如果線程數為20,準備時長為10秒,那么需要10秒鐘啟動20個線程。也就是平均每秒啟動2個線程。
(3)循環(huán)次數:每個線程發(fā)送請求的個數。如果線程數為20,循環(huán)次數為10,那么每個線程發(fā)送10次請求??傉埱髷禐?0*10=200。如果勾選了“永遠”, 那么所有線程會一直發(fā)送請求,直到手動點擊工具欄上的停止按鈕,或者設置的線程時間結束。
3、HTTP Cookie管理器
添加方法:右鍵線程組->添加->配置元件->HTTP Cookie管理器。
元件描述:HTTP Cookie管理器可以像瀏覽器一樣存儲和發(fā)送cookie,如果你要發(fā)送一個帶cookie的http請求,cookie manager會自動存儲該請求的cookies,并且后面如果發(fā)送同源站點的http請求時,都可以用這個cookies。
4、HTTP請求默認值
添加方法:右鍵線程組->添加->配置元件->HTTP請求默認值。
元件描述:HTTP請求默認值是為了方便填寫后續(xù)內容而設置。主要填寫[服務器名稱或IP]和[端口號],后續(xù)的HTTP請求中就不用每次都填寫IP地址和端口號了。
5、HTTP請求
添加方法:右鍵線程組->添加->Sampler->HTTP請求。
元件描述:HTTP請求包括接口請求方法、請求路徑和請求參數等。
HTTP請求詳解
(1)名稱:本屬性用于標識一個取樣器,建議使用一個有意義的名稱。
(2)注釋:對于測試沒有任何作用,僅用戶記錄用戶可讀的注釋信息。
(3)服務器名稱或IP :HTTP請求發(fā)送的目標服務器名稱或IP地址。
(4)端口號:目標服務器的端口號,默認值為80 。
(5)協(xié)議:向目標服務器發(fā)送HTTP請求時的協(xié)議,可以是HTTP或者是HTTPS ,默認值為http 。
(6)方法:發(fā)送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、TRACE、OPTIONS、DELETE等。
(7)路徑:目標URL路徑(不包括服務器地址和端口)
(8)內容編碼:內容的編碼方式,默認值為iso8859
(9)自動重定向:如果選中該選項,當發(fā)送HTTP請求后得到的響應是302/301時,JMeter 自動重定向到新的頁面。
(10)使用keep Alive :保持jmeter 和目標服務器之間的活躍狀態(tài),默認選中
(11)對Post使用multipart/from-data:當發(fā)送POST 請求時,使用multipart/from-data方法發(fā)送,默認不選中。
(12)同請求一起發(fā)送參數 : 在請求中發(fā)送URL參數,對于帶參數的URL ,jmeter提供了一個簡單的對參數化的方法。用戶可以將URL中所有參數設置在本表中,表中的每一行是一個參數值對(對應RUL中的 名稱1=值1)。
6、響應斷言
添加方法:右鍵HTTP請求->添加->取樣器->HTTP請求。
元件描述:檢查接口是否訪問成功。如果檢查失敗的話會提示找不到斷言的內容,沒提示的話就代表成功了。
Apply to
指斷言作用范圍,通常發(fā)出一個請求只觸發(fā)一個請求,所以勾選“main sample only”就可以;若發(fā)一個請求可以觸發(fā)多個服務器請求,就有main sample 和sub-sample之分了。
(1)Main sample and sub-samples:作用于主請求和子請求
(2)Main sample only:僅僅只作用于主請求
(3)Sub-samples only:僅僅只作用于子請求
(4)Jmeter Variable:作用于jmeter變量(輸入框內輸入jmeter變量名稱)
測試字段
響應文本(匹配返回的json數據)、響應代碼(匹配返回碼:如200, 404,500等)、響應信息(匹配響應信息如“OK”字樣)、響應頭(匹配響應頭)、請求頭(匹配請求頭)、URL樣本(匹配請求的url鏈接,如果有重定向則包含請求url 和 重定向url)、[文檔(文本)](匹配響應數據的文本形式)、忽略狀態(tài)(一個請求有多個響應斷言,第一個響應斷言選中此項,當第一個響應斷言失敗時可以忽略此響應結果,繼續(xù)進行下一個斷言。如果下一個斷言成功則還是判定事務是成功的)、請求數據(匹配請求數據)
模式匹配規(guī)則
包括:響應內容包含需要匹配的內容即代表響應成功,支持正則表達式。
匹配:響應內容要完全匹配需要匹配的內容即代表響應成功,大小寫不敏感,支持正則表達式。
字符串:響應內容包含需要匹配的內容才代表響應成功,大小寫敏感,不支持正則表達式
相等:響應內容要完全等于需要匹配的內容才代表響應成功,大小寫敏感,不支持正則表達式
否:相當于取反,如果結果為true,勾上否就是false
或者:如果不想用AND連接(所有的模式都必須匹配,斷言才算成功),用OR選項可以用于將多個斷言模式進行OR連接(只要一個模式匹配,斷言就是成功的)
測試模式
其實就是斷言的數據。點擊“添加”按鈕,輸入要斷言的數據。
7、增加監(jiān)聽器
添加方法:線程組 ->右鍵添加 ->監(jiān)聽器 ->察看結果樹。一般還會一并添加圖形結果、聚合報告。
元件描述:樹狀形式顯示接口的訪問結果,包括請求結果、請求內容、服務器的響應內容。
八、Jmeter接口測試必定用到的擴展閱讀
1.史上最全的最通俗易懂的-jmeter調試錯誤全集
//www.dbjr.com.cn/article/230615.htm
2.jmeter實現接口關聯(lián)的兩種方式:正則表達式提取器和json提取器看這篇就夠了
//www.dbjr.com.cn/article/230619.htm
九、總結
到此這篇關于全網最全最細的jmeter接口測試教程以及接口測試流程(入門教程)的文章就介紹到這了,更多相關jmeter接口測試內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
新建springboot項目時,entityManagerFactory報錯的解決
這篇文章主要介紹了新建springboot項目時,entityManagerFactory報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01java使用JDBC動態(tài)創(chuàng)建數據表及SQL預處理的方法
這篇文章主要介紹了java使用JDBC動態(tài)創(chuàng)建數據表及SQL預處理的方法,涉及JDBC操作數據庫的連接、創(chuàng)建表、添加數據、查詢等相關實現技巧,需要的朋友可以參考下2017-08-08詳解Spring Cloud Stream使用延遲消息實現定時任務(RabbitMQ)
這篇文章主要介紹了詳解Spring Cloud Stream使用延遲消息實現定時任務(RabbitMQ),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01java開源區(qū)塊鏈初始化創(chuàng)世區(qū)塊jdchain服務搭建
這篇文章主要介紹了java開源區(qū)塊鏈初始化創(chuàng)世區(qū)塊jdchain的服務搭建步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02Java靜態(tài)static與實例instance方法示例
這篇文章主要為大家介紹了Java靜態(tài)static與實例instance方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08@ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現
這篇文章主要介紹了@ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05使用Spring AOP實現MySQL數據庫讀寫分離案例分析(附demo)
分布式環(huán)境下數據庫的讀寫分離策略是解決數據庫讀寫性能瓶頸的一個關鍵解決方案,這篇文章主要介紹了使用Spring AOP實現MySQL數據庫讀寫分離案例分析(附demo),有興趣的可以了解一下。2017-01-01