來源丨jianshu.com/p/0e4daecc8122
簡介本文由xmeter君寫給想了解性能測試和JMeter的小白,適合對這兩者了解很少的同學們,如果已經(jīng)有使用經(jīng)驗的請繞道,別浪費時間:-) 我們將介紹JMeter的使用場景,如何安裝、運行JMeter,以及開始一個最最簡單的測試。
你還徘徊在JMeter的門口嗎?別猶豫了,跟著本文做完,你就可以開啟你的JMeter之旅了。
JMeter是開源軟件Apache基金會下的一個性能測試工具,用來測試部署在服務器端的應用程序的性能。近來,JMeter因為其使用簡單,現(xiàn)在也被社區(qū)作為接口測試工具。..。.. 啥?什么是性能測試,怎么又來了個接口測試?
好吧,xmeter君舉個栗子,你開了一個網(wǎng)店,興沖沖地準備雙十一大干一把,沒想當天活動的時候大量用戶一訪問你的網(wǎng)店,你的網(wǎng)店掛了,那怎么辦?辦法就是在實際搞活動之前,先測試一下以確認系統(tǒng)能承受那么多的用戶,當然測試的時候我們不需要請真正的這么多實際用戶,否則得花多少錢啊,JMeter就是那個能幫助模擬大量用戶訪問你網(wǎng)站的一個軟件。
對,而且它是開源的,不花錢!那個接口測試呢,這里大概了解一下就可以了,就是驗證你的網(wǎng)店應用邏輯有沒有問題的,比如你做打折活動的時候,結算的時候金額別出錯,要不客戶找你麻煩不是?
JMeter下載和安裝JMeter可以在JMeter的官方網(wǎng)站下載,xmeter君寫本文的時候(2016/11)可以下載到的最新的版本是3.0,
下載后解壓到你系統(tǒng)下的任意目錄,我們稱該目錄為%JMETER_HOME%,然后運行%JMETER_HOME%injmeter.bat文件,怎么樣,JMeter出來了嗎?嗯!?等等,好像報錯了。
仔細看一下報錯原因,原來是Java沒安裝,因為JMeter是用Java寫的,運行的時候需要Java 。..。..不對啊,xmeter君,我這里好像已經(jīng)看到JMeter的界面了 -- 當然咯,恭喜你,這是因為你之前已經(jīng)安裝了Java了,就跳過下一步吧。
Java未安裝錯誤
安裝Java安裝之前先下載其安裝包,下載地址:
https://www.oracle.com/java/technologies/downloads/
打開頁面后,按序點擊下列所示的鏈接,xmeter君寫本文的時候,Java的最新版本是8。
進入下一個頁面后,按序點擊如下所示開始下載,當然,下載的文件需要跟你的系統(tǒng)對應,如果是Linux請下載相關的Linux版本,xmeter君用的是Windows 64位版的Java。
下載完畢之后運行exe文件,按照向導提示安裝完Java。再次運行%JMETER_HOME%injmeter.bat,如果都安裝對了的話就應該能出現(xiàn)JMeter的運行界面了。
JMeter之初體驗JMeter安裝完了,那我們來一個簡單的實驗。性能測試當然得有個測試目標,就是被測系統(tǒng)是什么,xmeter君這里就以測度娘為例來描述構造一個簡單的性能測試過程:xmeter君保證你在5分鐘之內完成一次測試體驗。
添加虛擬用戶組如下圖所示,右擊“測試計劃”》添加》Threads(Users)》線程組。這里xmeter君需要解釋一下“線程組”的意思:JMeter是由Java實現(xiàn)的,并且使用一個Java線程來模擬一個用戶,因此線程組(Thread Group)就是指一組用戶的意思,換句話說一個線程組就是一組虛擬用戶(virtual users),這些虛擬用戶用來模擬訪問被測系統(tǒng)。
新建線程組
接下來xmeter君給大家介紹下“線程組”中常用到的一些設置。
1)線程數(shù):這里就是指虛擬用戶數(shù),默認的輸入是“1”,則表明模擬一個虛擬用戶訪問被測系統(tǒng),如果想模擬100個用戶,則此處輸入100。
2)Ramp-Up Period (in seconds): 虛擬用戶增長時長。不明白別著急,xmeter君給你舉個栗子:比如你測試的是一個考勤系統(tǒng),那么實際用戶登錄使用考勤系統(tǒng)的時候并不是大家喊1、2、3 - 走起,然后一起登錄。實際使用場景可能是9點鐘上班,那么從8:30開始,考勤系統(tǒng)會陸陸續(xù)續(xù)有人開始登錄,直到9:10左右,那么如果完全按照用戶的使用場景,設計該測試的時候此處應輸入40(分鐘)* 60(秒)= 2400。
但是實際測試一般不會設置如此長的Ramp-Up時間,原因嘛,難道你做一次測試要先等上40分鐘做登錄操作?一般情況下,可以估計出登錄頻率最高的時間長度,比如此處可能從8:55到9:00登錄的人最多,那這里設置成300秒,如果“線程數(shù)”輸入為100,則意味著在5分鐘內100用戶登錄完畢。
3)循環(huán)次數(shù):該處設置一個虛擬用戶做多少次的測試。默認為1,意味著一個虛擬用戶做完一遍事情之后,該虛擬用戶停止運行。如果選中“永遠”,則意味著測試運行起來之后就根本停不下來了,除非你把它強制咔嚓。
線程組的設置
添加被測頁面接下來的一步就是要加入實際被測頁面,右擊“線程組” 》 “添加” 》 “Sampler” 》 “HTTP請求”。
添加“HTTP請求”
接下來需要設置一下“HTTP請求” Sampler的屬性,如下所示:
1)名稱:輸入“百度”,就是被測試網(wǎng)頁的描述性文字
2)服務器名稱或IP:被測服務器的網(wǎng)站名字,也可以是IP地址。剩下的屬性可以按照被測系統(tǒng)的屬性按需配置,現(xiàn)在都可以為空。
設置HTTP請求的屬性
現(xiàn)在的測試腳本已經(jīng)可以運行了,先點擊下面如圖所示的第一步:點擊保存腳本按鈕;然后點擊如圖所示的第二步:點擊運行測試按鈕。
保存與運行測試
等等,xmeter君,為什么我的測試跑完了沒啥反應?嗯,其實測試已經(jīng)跑完了,你可以去“選項” 》 “Log Viewer”看看運行的日志。如果你還是看不到日志,你可以點擊下面所示的三角箭頭展開或者收起日志視圖。日志視圖中可以看到“線程組 1-1”的啟動和結束時間,表明測試已經(jīng)跑完。
測試日志視圖
這JMeter運行看著也太不直觀了吧?那如果我的測試有問題了,怎么發(fā)現(xiàn)啊?別著急,JMeter提供了“監(jiān)聽器”讓用戶來觀察測試結果。
添加結果監(jiān)聽器如下圖所示,右擊“線程組” 》 “監(jiān)聽器” 》 “察看結果樹”來查看性能測試過程中請求和響應信息。添加完畢后,保存測試腳本,再次運行。
運行測試完畢之后,點擊“察看結果樹” 》 “百度”,點擊下圖中3所示位置,你可以看到一些測試期間一些有用的信息,比如發(fā)送的請求的信息和響應數(shù)據(jù)等。接下來可以試著改一下“線程組”里的“線程數(shù)”為10,就是模擬10個用戶訪問。別改太大哦,否則小心度娘把你的IP地址給封了 :-)
好啦,至此為止,你已經(jīng)學會了寫一個最簡單的JMeter的性能測試用例。怎么樣,夠簡單吧
責任編輯:haq
-
測試
+關注
關注
8文章
5331瀏覽量
126755 -
接口
+關注
關注
33文章
8639瀏覽量
151385 -
軟件
+關注
關注
69文章
4968瀏覽量
87701
原文標題:JMeter 做接口性能測試,YYDS!
文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論