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