jemter之簡(jiǎn)單的接口測(cè)試

一.簡(jiǎn)介

? ? Jmeter是一款優(yōu)秀的開源測(cè)試工具, 是每個(gè)資深測(cè)試工程師,必須掌握的測(cè)試工具,熟練使用Jmeter能大大提高工作效率。

**開源,他是一款開源的免費(fèi)軟件,使用它你不需要支付任何費(fèi)用,

**小巧,相比LR的龐大(最新LR11將近4GB),它非常小巧,不需要安裝,但需要JDK環(huán)境,因?yàn)樗鞘褂胘ava開發(fā)的工具。

**功能強(qiáng)大,jmeter設(shè)計(jì)之初只是一個(gè)簡(jiǎn)單的web性能測(cè)試工具,但經(jīng)過不段的更新擴(kuò)展,現(xiàn)在可以完成數(shù)據(jù)庫、FTP、LDAP、WebService等方面的測(cè)試。因?yàn)樗拈_源性,當(dāng)然你也可以根據(jù)自己的需求擴(kuò)展它的功能。

環(huán)境搭建:

jemter安裝地址:http://jmeter.apache.org/

jemter官方學(xué)習(xí)地址:http://jmeter.apache.org/index.html

二.使用jemter做接口測(cè)試:

這里我們要注意有兩種接口方式是很常用的:get和post,

下面來演示兩者的不同。為了更好的區(qū)分,我在這里先簡(jiǎn)單的演示下它的不同:

get請(qǐng)求:http://localhost:8080?username=anqi&password=123456

post請(qǐng)求:http://localhost:8080

這樣看是不是清楚多了

1.找到你安裝的文件夾,找到bin文件夾,運(yùn)行jemter.bat.打開jemter

2.新建一個(gè)線程組:

線程數(shù):虛擬用戶數(shù)。一個(gè)虛擬用戶占用一個(gè)進(jìn)程或線程。設(shè)置多少虛擬用戶數(shù)在這里也就是設(shè)置多少個(gè)線程數(shù)。

準(zhǔn)備時(shí)長(zhǎng):?設(shè)置的虛擬用戶數(shù)需要多長(zhǎng)時(shí)間全部啟動(dòng)。如果線程數(shù)為20?,準(zhǔn)備時(shí)長(zhǎng)為10?,那么需要10秒鐘啟動(dòng)20個(gè)線程。也就是每秒鐘啟動(dòng)2個(gè)線程。

循環(huán)次數(shù):每個(gè)線程發(fā)送請(qǐng)求的次數(shù)。如果線程數(shù)為20?,循環(huán)次數(shù)為100?,那么每個(gè)線程發(fā)送100次請(qǐng)求。總請(qǐng)求數(shù)為20*100=2000?。如果勾選了“永遠(yuǎn)”,那么所有線程會(huì)一直發(fā)送請(qǐng)求,一到選擇停止運(yùn)行腳本。

(這里要做接口測(cè)試,所以各個(gè)參數(shù)為均1。)

3.添加一個(gè)http請(qǐng)求:

4.例子:我要發(fā)送一個(gè)get方法的http

(這里順路說一下用post請(qǐng)求跟get請(qǐng)求有什么區(qū)別,同樣是圖片來說明)

我要發(fā)送一個(gè)post方法的http

(這里對(duì)比一下就很容易看出區(qū)別了,get請(qǐng)求直接填就好了,post請(qǐng)求需要添加值)


get請(qǐng)求和post請(qǐng)求的區(qū)別:

1.get請(qǐng)求的后綴在地址欄里提交,post請(qǐng)求在webfroms中顯示,以表單形式提交

2.get請(qǐng)求數(shù)據(jù)比較小,post請(qǐng)求數(shù)據(jù)比較大。

3.post請(qǐng)求相對(duì)比較安全


名稱:本屬性用于標(biāo)識(shí)一個(gè)取樣器,建議使用一個(gè)有意義的名稱。

注釋:對(duì)于測(cè)試沒有任何作用,僅用戶記錄用戶可讀的注釋信息。

服務(wù)器名稱或IP:HTTP請(qǐng)求發(fā)送的目標(biāo)服務(wù)器名稱或IP地址。

端口號(hào):目標(biāo)服務(wù)器的端口號(hào),默認(rèn)值為80?。

協(xié)議:向目標(biāo)服務(wù)器發(fā)送HTTP請(qǐng)求時(shí)的協(xié)議,可以是http或者是https?,默認(rèn)值為http?

方法:發(fā)送HTTP請(qǐng)求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。(一般使用get和post

Content?encoding:內(nèi)容的編碼方式,默認(rèn)值為iso8859

路徑:目標(biāo)URL路徑(不包括服務(wù)器地址和端口)

自動(dòng)重定向:如果選中該選項(xiàng),當(dāng)發(fā)送HTTP請(qǐng)求后得到的響應(yīng)是302/301時(shí),JMeter?自動(dòng)重定向到新的頁面。

Use?keep?Alive:?當(dāng)該選項(xiàng)被選中時(shí),jmeter?和目標(biāo)服務(wù)器之間使用?Keep-Alive方式進(jìn)行HTTP通信,默認(rèn)選中。

Use?multipart/from-data?for?HTTP?POST:當(dāng)發(fā)送HTTP?POST?請(qǐng)求時(shí),使用Use?multipart/from-data方法發(fā)送,默認(rèn)不選中。

同請(qǐng)求一起發(fā)送參數(shù):?在請(qǐng)求中發(fā)送URL參數(shù),對(duì)于帶參數(shù)的URL?,jmeter提供了一個(gè)簡(jiǎn)單的對(duì)參數(shù)化的方法。用戶可以將URL中所有參數(shù)設(shè)置在本表中,表中的每一行是一個(gè)參數(shù)值對(duì)(對(duì)應(yīng)RUL中的?名稱1=值1)。

5.點(diǎn)擊運(yùn)行按鈕,查看其結(jié)果。

除了使用查看結(jié)果樹,我們常用的查看數(shù)據(jù)的方法還有添加聚合報(bào)告查看結(jié)果。

得到以下結(jié)果頁面。

Label:每個(gè)JMeter的element(例如HTTP Request)都有一個(gè)Name屬性,這里顯示的就是Name屬性的值

Samples:表示你這次測(cè)試中一共發(fā)出了多少個(gè)請(qǐng)求,如果模擬10個(gè)用戶,每個(gè)用戶迭代10次,那么這里顯示100

Average:平均響應(yīng)時(shí)間——默認(rèn)情況下是單個(gè)Request的平均響應(yīng)時(shí)間,當(dāng)使用了Transaction Controller時(shí),也可以以Transaction為單位顯示平均響應(yīng)時(shí)間

Median:中位數(shù),也就是50%用戶的響應(yīng)時(shí)間

90% Line:90%用戶的響應(yīng)時(shí)間

Note:關(guān)于50%和90%并發(fā)用戶數(shù)的含義,請(qǐng)參考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

Min:最小響應(yīng)時(shí)間

Max:最大響應(yīng)時(shí)間

Error%:本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù)

Throughput:吞吐量——默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)(Request per Second),當(dāng)使用了Transaction Controller時(shí),也可以表示類似LoadRunner的Transaction per Second數(shù)

KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量,相當(dāng)于LoadRunner中的Throughput/Sec


6.添加斷言:右鍵點(diǎn)擊HTTP請(qǐng)求“添加”-->“斷言”-->“響應(yīng)斷言”。

對(duì)于自動(dòng)化測(cè)試來說,斷言必須要有的,如果沒有斷言我們只能人眼對(duì)比對(duì)接口返回的數(shù)據(jù),有了斷言功能,就會(huì)簡(jiǎn)化這個(gè)過程。Jmeter提供了豐富的斷言方法來幫助我們完成這個(gè)工作。

要測(cè)試的響應(yīng)字段:響應(yīng)文本、Document(text)、URL樣本、響應(yīng)信息、Response Headers、Lgnore Staus等選項(xiàng)。雖然接口返回的是Json格式的數(shù)據(jù),但對(duì)于Jmeter來說返回?cái)?shù)據(jù)為文本,所以,這里可以勾選“響應(yīng)文本”

模式匹配規(guī)則:包括、匹配、Equals、Substring。這里只需要驗(yàn)證返回?cái)?shù)據(jù)中是否包含主要的關(guān)鍵字,所以,這里勾選“包括”。

要測(cè)試的模式:其實(shí)就是斷言的數(shù)據(jù)。點(diǎn)擊“添加”按鈕,輸入要斷言的數(shù)據(jù)。

運(yùn)行測(cè)試:

再次清除測(cè)試數(shù)據(jù),點(diǎn)擊啟動(dòng)測(cè)試,查看結(jié)果樹,如下圖。

這是個(gè)簡(jiǎn)單的接口測(cè)試,適合初學(xué)者。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,547評(píng)論 19 139
  • 1 Jmeter安裝配置 使用Jmeter前首先要安裝JDK,配置JDK環(huán)境變量。Jmeter不需要安裝,下載后...
    茶小汐閱讀 3,125評(píng)論 0 8
  • 1. JMeter 測(cè)試計(jì)劃 測(cè)試計(jì)劃 使用JMeter進(jìn)行測(cè)試的起點(diǎn),是其它JMeter測(cè)試元件的容器。 線程組...
    alamZheng閱讀 3,551評(píng)論 0 7
  • 在使用Jmeter進(jìn)行接口的性能測(cè)試時(shí),由于Jmeter 是JAVA應(yīng)用,對(duì)于CPU和內(nèi)存的消耗比較大,所以,當(dāng)需...
    燕京博士閱讀 4,301評(píng)論 0 16
  • 一直不太喜歡吃秋葵,可有一天與朋友聊做菜,朋友介紹了做秋葵的簡(jiǎn)易方法,并說還蠻好吃的,于是依照朋友的方法試了...
    紫微媽咪閱讀 360評(píng)論 1 3

友情鏈接更多精彩內(nèi)容