Jmeter之接口測試


最近才入職新公司,好幾天沒有寫博客了,經過一個朋友提醒,剛剛好覺得用Jmeter來做接口測試真的是再好不過了。下面就詳細講解下這兩天我利用Jmeter做的接口測試。

【安裝Jmeter】

詳細見博文:Jmeter+badboy環境搭建

 

【接口測試之添加測試計划-線程組-sampler】

1.建立測試計划

   只要打開執行Jmeter.bat,就會有Jmeter的桌面運行界面出來,會自動建立一個測試計划,如下圖所示:

 

2.添加完測試計划后,就要添加對應的線程組,所有的測試步驟都是在線程組下面執行的,如下所示:

添加完成后,就可以看到自己所添加的線程組了。

由於我是要測試多個接口,為了方便控制,我是為每一個業務邏輯建立了對應的線程組。

 

3.根據自己測試的接口類型,建立對應的測試步驟,我這里就是HTTP接口,所以請求是基於HTTP的,所以要添加HTTP sampler,如下所示:

 

4.為了清楚每次測試時成功了還是失敗了,可以添加一個監控器,對測試內容進行監控,這里要添加的是-->察看結果樹

點擊右鍵-添加-監聽器-察看結果樹,添加完成后,如下所示:

 

 

【接口測試之添加測試內容】

下面會就我測試的一些例子來進行講解,這里沒有源碼哦~公司的代碼不能外傳,嘻嘻。如果親們有遇到需要進行接口測試的,進行類似的更改就可以了。

簡單的傳參接口測試

1.這里說的例子是發送短信驗證碼,詳細的參數設置見下面截圖說明:

新增了一個HTTP請求,

 

2.測試是否正確,點擊Jmeter上面的綠色執行按鈕,並同時打開察看結果樹界面,如下所示:

這里看到返回的結果是ok,說明這個接口測試沒有問題,短信驗證碼能夠正常發送。

 

 

包含有全局變量的接口測試

有時我們測試會遇到許多重復的參數,每次調用如果要一個一個去改的話,就比較麻煩,這里就可以用到一個辦法:參數化。把所有你覺得重復但是改起來又麻煩的,我們可以建立一個用戶參數列表。

這里我要講的就是登錄功能:

1.添加一個HTTP請求,並填入對應的登陸所需參數,具體可以根據你們自己的需求文檔來傳參哦~

這個跟上面說的發送短信驗證碼是一樣的,都需要填好對應的必填內容以及參數名稱和值。

2.大家可能注意到了,我這里在設置每個屬性的值時,都是采用的${}方式,這里就是我所說的參數化,由於這個是全局變量,所有線程組里面的請求都是可以用到的,所以就需要我們添加一個全局變量:

 

所以需要注意的是,我們引用參數值的方式為:${名稱},第一步里面的userid 取值是${username},最后傳進去的值就是 liuhaha這個值,看懂了么?這個就是參數的引用方法,下次你如果需要改名稱,就不需要去每個

http請求里面去改動了,直接在這個參數表里面改動就可以了,方便快捷。全局變量就要放在最前,不要包含在線程組里面,直接掛在測試計划下面就好了。

3.填完后,直接點擊綠色按鈕,運行就可以了。

 

包含有正則表達式的接口測試(也就是LoadRunner里面常說的關聯)

1.新建一個HTTP請求,這里的登陸就會產生一個sessionID,我們進行密碼修改時,就會驗證這個sessionID,但是每次去填寫也比較麻煩,所以我們可以手動做一個關聯。

上面的登陸完成后,就會在結果樹里面看到登陸成功后會返回一個sessionid,如圖所示:

紅色框框內就是session值。

 

2.如何進行關聯呢?跟LR一樣,需要找准左右邊界,可以看到這里的左右邊界很好定義,session值得兩端就是左右邊界,最后做出的關聯正則表達式為:

ulskey":"(.*?)","retmsg  --其中(.*?)就是我們的session值。

 

3.這里定義對了,就需要建立一個正則表達式提取器,

添加完成后,就要把你第二步里面的正則表達式填進來,如下所示:

 

4.在修改密碼的HTTP請求里面,引用這個必須傳的session值:

  這里跟上面的引用全局參數是一樣的,也是用${}方式

 

5.然后點擊運行,就可以看到引用session成功了。

 

 

哈哈~寫的有點倉促,下次還會再更新一篇關於Jmeter使用方法的文章。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM