jmeter學習指導從初級到進階_第1頁
jmeter學習指導從初級到進階_第2頁
jmeter學習指導從初級到進階_第3頁
jmeter學習指導從初級到進階_第4頁
jmeter學習指導從初級到進階_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

jmeter安裝Jmeter下載與安裝官網下載:/download_jmeter.cg安裝JDK:JMeter是Java程序,需要先安裝JDK來運行它,建議使用

JDK1.8

,安裝JDK不再贅述。Jmeter運行:進入到Jmeter目錄中,再進入到名為bin的目錄,如果是Windows系統:雙擊名為

jmeter.bat

的文件,即可打開JMeter管理界面程序。如果是Mac系統,在命令行窗口中,進入到jmeter的bin目錄執行命令

shjmeter.sh設置Jmeter語言為中文環境1、臨時設置Jmeter菜單欄選擇OptionceChooseLanguageChinese(Simplified)這種方法,重啟軟件后又變為英文環境了。2、永久設置進入apache-jmeter-5.2.1\bin目錄,找到“perties”文件,在文件中添加“language=zh_CN”,保存之后再打開jmeter就永久變為中文環境了。Jmeter主要元件測試計劃是使用JMeter進行測試的起點,它是其它JMeter測試元件的容器線程組代表一定數量的用戶,它可以用來模擬用戶并發發送請求。實際的請求內容在Sampler中定義,它被線程組包含,可以設置線程數、循環次數等。常見有前置線程組、后置線程組、普通線程組等

配置元件維護Sampler需要的配置信息,并根據實際的需要修改請求的內容。前置處理器負責在請求之前工作,常用來修改請求的設置定時器負責定義請求之間的延遲間隔。取樣器(Sampler)是性能測試中向服務器發送請求,記錄響應信息、響應時間的最小單元,如:HTTPRequestSampler、FTPRequestSample、TCPRequestSample、JDBCRequestSampler等,每一種不同類型的sampler可以根據設置的參數向服務器發出不同類型的請求。后置處理器負責在請求之后工作,常用獲取返回的值。斷言用來判斷請求響應的結果是否如用戶所期望的。監聽器負責收集測試結果,同時確定結果顯示的方式。邏輯控制器可以自定義JMeter發送請求的行為邏輯,它與Sampler結合使用可以模擬復雜的請求序列。Jmeter并發和順序執行默認是并發順序執行:需要在Jmeter線程組下勾選setUp和tearDown線程組線程組的配置信息?線程數:模擬用戶并發數(虛擬用戶數)。一個虛擬用戶占用一個進程或線程。????????Ramp-Up時間(秒):設置的虛擬用戶數需要多長時間全部啟動。如果線程數為20,準備時長為10,那么需要10秒鐘啟動20個線程。也就是每秒鐘啟動2個線程。????????循環次數:每個線程發送請求的次數。如果線程數為20,循環次數為100,那么每個線程發送100次請求。總請求數為20*100=2000。如果勾選了“永遠”,那么所有線程會一直發送請求,一到選擇停止運行腳本。A.繼續。某一個請求遇到錯誤后,其他請求繼續執行。我們在大量用戶并發的時候,某個請求失敗屬正常現象B.啟動下一進程循環:如遇到錯誤后面的請求將不再執行,等下一輪再開始執行。例如線程組中包含登錄和發帖2個請求,若登錄請求失敗,發帖請求將不再執行,等下一次重新迭代,從登錄開始執行。C.停止線程:遇到錯誤就停止線程再也不執行了。例如線程組中有50個線程,其中某一個線程的某個請求遇到錯誤即停止線程不再執行,剩下49個線程繼續執行。若線程錯誤的比較多,剩余的線程就較少,此時負載數量就不足了,測試結果不滿足測試要求,因此一般不會勾選此項。D.停止測試:某個線程某個請求遇到錯誤,停止所有線程,也就是停止整個測試,但是線程中的余下的請求還是會執行完再停止。例如線程1中包含登錄和發帖2個請求,其他線程遇到錯誤,現在要全部停下來,線程1發帖請求還是會執行,然后再停止測試。E.立即停止測試:遇到錯誤立即停止所有線程,即整個測試。線程組內元件一般的的執行順序

1.配置元件

2.前置處理器

3.定時器

4.取樣器

5.后置處理器

6.斷言

7.邏輯控制器

8.監聽元件調度器持續時間,測試計劃持續多長時間啟動延時。點擊啟動按鈕后,僅初始化場景,不運行線程,等待延時時間到才運行Http請求默認值HTTP請求協議:向目標服務器發送HTTP請求時的協議,可以是http或者是https或者File,默認值為http服務器名稱或IP:HTTP請求發送的目標服務器名稱或IP地址端口號:目標服務器的端口號,默認值為80,https的端口為443http請求:發送HTTP請求的方法,可用方法包括GET、POST等路徑:目標URL路徑(不包括服務器地址和端口)/可以寫完整路徑,但不規范內容編碼:內容的編碼方式,默認值為iso8859;一般都填入utf-8自動重定向:如果選中該選項,當發送HTTP請求后得到的響應是302/301時,JMeter會自動重定向到新的頁面,但是Jmeter是不記錄重定向的過程內容。跟隨重定向:HttpRequest取樣器的默認選項,當響應code是3xx時,自動跳轉到目標地址。與自動重定向不同,Jmeter會記錄重定向過程中的所有請求響應,在查看結果樹時可以看到服務器返回的內容,如有多個跳轉則多個請求都會被記錄下來,此為默認選項使用keepAlive:當該選項被選中時,jmeter和目標服務器之間使用KeepAlive方式進行HTTP通信,默認選中。對post使用multipart/from-data:當發送POST請求時,使用multipart/from-data方法或者application/x-www-form-urlencoded方法發送,默認不選中。與瀏覽器兼容的頭:當勾選multipart/form-data時,勾選此項會截掉http請求頭中的Content-Type和Content-Transfer-Encoding,而只發送Content-Disposition部分。參數:可以將URL中所有參數設置在本表中,表中的每一行是一個參數值對,此時編碼這個選項設置為UTF-8并勾選最好,防止參數值內含有ASCIIControlChars或者Non-ASCIIcharacters或者其他符號導致亂碼問題。消息體數據:同請求一起發送的數據信息,這里可以支持多種數據格式,json、xml等;文件上傳:同請求一起發送的文件信息,參數名稱就是發送文件對應的參數,MINEType為資源媒體類型高級界面選項介紹實現:發送http請求的方式,可選項為java和HttpClient4,默認為HttpClient4連接:連接超時時間設置,單位為毫秒響應:響應等待超時時間設置,單位為毫秒從HTML文件獲取所有內含的資源:當該選項被選中時,jmeter在發出HTTP請求并獲得響應的HTML文件內容后,還對該HTML進行解析并獲取HTML中包含的所有資源(圖片、flash等)并行下載:設置是否使用自設資源池,勾選后可設置大小數量:資源池大小,默認為6網址必須匹配:URL匹配過濾,填寫此項則只會下載與此內容項匹配的url的資源源地址:只用于http協議且Implementation為HttpClient4的情況,此屬性用于啟用IP欺騙。會重寫了這個http請求使用的默認本地IP地址。用于Jmeter主機具有多個IP地址(即IP別名、網絡接口、設備)的情況。該值可以是主機名、IP地址或網絡接口設備,如“ey0”或“l0”或“wlan0”。代理服務器:代理服務器的相關配置信息保存響應為MD5哈希:選中該項,在執行時僅記錄服務端響應數據的MD5值,而不記錄完整的響應數據。在需要進行數據量非常大的測試時,建議選中該項以減少取樣器記錄響應數據的開銷查看結果樹介紹簡要介紹查看結果樹的內容、查看結果樹保存的文件CSV配置元件●文件名:csv文件存儲全路徑●文件編碼:默認的編碼是UTF-8。●變量名稱:和csv文件第一行的字段相對應,名稱自定義,多個字段用逗號分隔●忽略首行:通常情況下csv的文件首行標注數據的含義,不是具體的數據,所以要設置忽略(設為true),前提是設置了變量名稱才生效。●分割符:默認英文逗號分隔。●是否允許帶引號:如果csv文件中有json數據,或者帶有引號的數據,建議設為True●遇到文件結束符再次循環:如果文件執行結束了想重復執行數據,可以設置為True,多次循環。●遇到文件結束符停止線程:配置文件讀取完畢之后,就結束當前線程。●線程共享模式:標示這個CSV數據文件作用范圍是:所以線程/當前線程組/當前線程/編輯(自定義),默認方式:所有線程。user_name,password,phone,real_namejiujiu1,123456啾啾測試錄1jiujiu2,123456啾啾測試錄2jiujiu3,123456啾啾測試錄3jiujiu4,123456啾啾測試錄4jiujiu5,123456啾啾測試錄5jiujiu6,123456啾啾測試錄6jiujiu7,123456啾啾測試錄7接口地址:路徑:/post請求體{

"user_name":${user_name},

"password":${password},

"phone":${phone},

"real_name":${real_name}

}查看結果樹可發現線程組只讀區了csv第一行用戶數據,如果想要讀取csv所有行的用戶數據,可以添加循環控制器來依次讀取csv文件的數據行。怎么解決此問題,可在循環控制器內添加http請求和csv數據文件

設置循環控制器-循環次數為7,表示循環控制器內的組件會循環之行7次,讀取csv前7行的用戶數據循環控制器在循環控制器內添加http請求和csv數據文件,設置循環控制器-循環次數為7,表示循環控制器內的組件會循環之行7次,讀取csv前7行的用戶數據再次執行,查看結果樹,可以看到循環控制器內的提取器執行了7次,依次讀取csv文件的前7行用戶數據json提取器接口地址當需要獲取某個城市天氣數據json時候,需要傳入一個城市代碼編碼作為入參,地址:/api/weather/city/xxxxx,其中xxxxx即為城市代碼。例如獲取北京天氣:/api/weather/city/101010100JsonPathTester,提取結果中的某個值,標準寫法是$.key,其中key為返回結果map中的一個鍵,如果是多層則繼續用.key即可。如果遇到key的value值為一個list,則使用.key[n],其中n為list中元素的編號JSON提取器Applyto:應用范圍,一般默認為Mainsampleonly,可根據實際使用需求選擇MatchNo.:取第幾個數值,0代表隨機,-1代表取全部數組數據,1代表取一個變量數值,與設置的變量名稱有關,本次示例填-1(說明:如果填寫1,后面引用變量的時候要用var1即可,如果填寫?1,返回的是一個數組,后面引用變量的時候要用{var_1},${var_2}的形式)Computeconcatenationvar(suffix_ALL):匹配到的所有數值并保存,默認為空即可DefaultValue:取值失敗時展示的內容,默認為空即可DebugSampler調試作用:可以用來調試,驗證表達式是否正確正則表達式提取接口路徑:/api/weather/city/101010100方法get斷言元件判斷返回是否符合預期。三種常見的斷言元件(響應斷言、JSON斷言、BeanShell斷言)響應斷言APPlyto:

Mainsampleandsub-samples:作用于主取樣器及對應子取樣器

Mainsampleonly:僅作用于主取樣器

Sub-samplesonly:僅作用于子取樣器

JMeterVariable:作用于jmeter變量(輸入框內可輸入jmeter的變量名稱)

測試字段:響應文本、響應代碼、

響應信息、響應頭部......

模式匹配規則:包括、匹配、Equals、字符串、否、或者

測試模式:可以添加/刪除需要判斷的內容,按鈕“添加”、“刪除”進行指定內容的管理。JSON斷言在查看結果樹這里先測試,測試ok了再直接放在JSON斷言中JSON斷言界面參數說明:名稱:節點的名稱,顯示在查看結果樹中,自己根據實際情況定義。注釋:對該節點進行注釋。斷言存在JSON路徑:斷言JSON元素的路徑。附加斷言值:如果要使斷言具有某個值,把這個值勾選上。如果寫了(3)JSON元素的路徑,要把這個值勾選上。匹配為正則表達式:如果要使用正則表示式,選中該復選框。預期值:JSON元素路徑對應的值。反轉斷言:就是否的意思,即如果符合就失敗。$表示跟節點。

[]表示數組,0表示第一個;$[0]

表示跟節點后的第一個對象。

data即key,這里要獲取data的值,所以填寫20240630sampler-jdbc請求Jmeter連接數據庫mysql驅動下載官網:/downloads/connector/j/下載解壓后將jar包放到jmeter安裝目錄lib下測試計劃導入數據庫驅動jar包配置JDBCConnectionConfigurationVariableNameforcreatedpool:連接名稱隨意,需要唯一標識,后面的JDBC請求中需要用到,所以需要與JDBC取樣器中的名稱一致,簡單理解就是jdbcrequest的時候需要確定去請求哪個數據庫MaxNumberofConnections:連接池中允許的最大數據庫連接數,默認10,做性能測試時,建議填0MaxWait(ms):在連接池中取回連接最大等待時間,單位毫秒,默認10000,默認即可TimeBetweenEvictionRuns(ms):線程可空閑時間,單位毫秒,默認60000,默認即可

AutoCommit:自動提交sql語句,有三個選項:True、False、編輯(JMeter提供的函數設置),默認為true,默認即可TransactionIsolation:事務隔離級別,默認為DEFAULT,默認即可TestWhileIdle:當連接空閑時是否斷開,默認為True,默認即可SoftMinEvictableIdleTime(ms):連接池中連接的最小空閑時間,以毫秒為單位。當連接池中的連接處于空閑狀態且超過了“SoftMinEvictableIdleTime”的設定值時,連接池可能會選擇回收這些空閑連接,默認為5000,默認即可ValidationQuery:驗證sql語法,默認為select1,默認即可DatabaseURL:數據庫連接URL,可以帶上字符集characterEncoding=utf-8,也可允許多條sql執行allowMultiQueries=true,還可指定時區serverTimezone=UTC,比如jdbc:mysql://04:33066/u_backend?serverTimezone=UTC&characterEncoding=utf-8&allowMultiQueries=trueJDBCDriverclass:JDBC的類,默認為空,必填項,mysql就選擇com.mysql.jdbc.DriverUsername:數據庫的用戶名Password:數據庫的密碼發送數據庫請求引用數據庫查詢變量名稱:隨意命名VariableNameofPooldeclaredinJDBCConnectionConfiguration:要與JDBCConnectionConfiguration中的VariableNameforcreatedpool值保持一致!!QueryType:【查詢】操作選擇SelectStatement,【增刪改】操作選擇UpdateStatementSQLQurry:輸入對應的sql語句Variablenames:對應sql查詢結果的字段值,字段值有多少個,則對應值就有多少個。例如sql查有兩個字段值:username,password,那么下面就對應兩個變量resusername,respassword。username對應變量resusername,password對應變量respassword。HandleResultSet:默認為StoreasString,選擇默認值即可,當選擇此選項時,查詢結果將以字符串的形式存儲在變量中JMeter分布式集群---部署多臺機器進行性能壓力測試有些時候,我們在進行壓力測試的時候,隨著模擬用戶的增加,電腦的性能(CPU,內存)占用是非常大的,為了我們得到更加理想的測試結果,我們可以利用jmeter的分布式來緩解機器的負載壓力,分布到多臺機器同時運行。1.J

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論