最近才入職新公司,好幾天沒有寫博客了,通過一個朋友提醒,剛恰好以爲用Jmeter來作接口測試真的是再好不過了。下面就詳細講解下這兩天我利用Jmeter作的接口測試。html
【安裝Jmeter】正則表達式
詳細見博文:Jmeter+badboy環境搭建session
【接口測試之添加測試計劃-線程組-sampler】測試
1.創建測試計劃spa
只要打開執行Jmeter.bat,就會有Jmeter的桌面運行界面出來,會自動創建一個測試計劃,以下圖所示:線程
2.添加完測試計劃後,就要添加對應的線程組,全部的測試步驟都是在線程組下面執行的,以下所示:htm
添加完成後,就能夠看到本身所添加的線程組了。blog
因爲我是要測試多個接口,爲了方便控制,我是爲每個業務邏輯創建了對應的線程組。接口
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使用方法的文章。