Jmeter接口測試實例-牛刀小試


本次測試的是基於HTTP協議的接口,主要是通過Jmeter來完成接口測試,借此熟悉Jmeter的基本操作。

本次實戰,我是從網上找的接口測試項目,該項目提供了詳細的接口文檔,我們可以通過學習接口文檔來設計測試用例,最后再使用Jmeter進行實戰。總的來說,這個項目很適合用來練手,項目網址:http://doc.nnzhp.cn/index.php?s=/6&page_id=8

所有設置如下:

接口測試項目--牛刀小試

1.獲取學生信息(GET請求)

從接口文檔中,我們可以看到獲取學生信息用到的是GET方式的請求,入參中 stu_name 為必填項,返回參數太多,在此就不詳細說明了。我們先創建一個線程組,在線程組下添加一個HTTP請求和察看結果樹,如下:

獲取學生信息

獲取信息成功

上面的是請求正確的結果,如果請求錯誤,比如填寫一個系統數據庫中 stu_name 沒有的值,那么返回結果如下:

獲取信息失敗

2.登錄(POST)

在登錄接口中,接口文檔中提供了一個測試用戶,我們可以利用該用戶來模擬測試。

登錄接口文檔

登錄接口用到的是POST請求方式,入參 username 和 passwd 為必填項,我們再創建1個線程組,在線程組下添加一個HTTP請求和察看結果樹,如下:

登錄請求

登錄成功

當我們填寫的是錯誤的入參時,返回結果如下:

登錄失敗

3.添加學生信息(POST請求,JSON類型)

在添加學生信息的接口中,用到的也是POST請求方式,但與登錄接口不同的是,它的入參是JSON類型的,接口文檔中有1個JSON請求示例,我們可以直接復制過來,簡單修改一下即可。在這里,我們再創建1個線程組,在線程組下添加一個HTTP請求和察看結果樹,如下:

添加學生信息

添加學生信息失敗

在這里,由於這個學生信息已存在系統中了,因此返回添加失敗的結果。所以,我需要添加1個新的學生信息,另外,這里需要調整下編碼格式為utf-8,否則添加的學生信息會出現中文亂碼。

添加學生信息

添加成功

在這里,大家可以設計不同的測試用例來進行測試,但操作方式都是一樣的,只是返回結果不同而已。

4.學生充值金幣(POST請求,添加cookie)

這個接口有權限驗證,需要admin用戶登錄成功后才可以進行充值,另外,在入參 stu_id 和 gold 中,我們發現 stu_id 指的是學生ID,這里其實就是最開始 獲取學生信息 接口返回結果中的id字段,如下:

獲取學生ID

因此,我們創建一個線程組,在線程組下依次添加登錄請求、學生充值金幣請求、察看結果樹,在登錄請求下添加JSON提取器,用於提取cookie,在學生充值金幣請求下添加HTTP Cookie管理器,如下:

登錄請求

JSON提取用戶的cookie

調試后置處理程序

充值金幣請求

關聯cookie

充值成功

在JSON提取器中,我們通過 $.login_info.sign 來提取登錄的cookie,並在HTTP Cookie管理器中進行引用,如果沒有關聯cookie,那么將充值失敗,提示未登錄。

未登錄,充值失敗

5.獲取所有學生信息(GET請求,添加header)

從接口文檔中,我們了解到,要獲取所有學生信息,需要添加請求信息頭,因此,我們創建一個線程組,在線程組下依次添加HTTP信息頭管理器、HTTP請求、察看結果樹,如下:

添加header

獲取所有學生信息

獲取所有學生信息成功

這里需要說一下,我們在返回的結果中看到,有些學生信息中有很多“???”,這是因為在添加學生信息的時候,我們傳入中文數據導致亂碼,因此在添加學生信息接口中,我特意說明讓大家設置utf-8編碼,這樣添加的學生信息就不會出現亂碼了。

6.文件上傳(POST請求)

在上傳文件接口中,需要注意的是這里的入參是file類型的,因此,我們需要准備一個待上傳的文件。

文件上傳接口文檔

最后,我們創建一個線程組,在線程組下依次添加文件上傳請求、察看結果樹,如下:

文件上傳請求

文件上傳成功

OK,以上就是通過Jmeter對這個接口項目進行接口測試的過程,比較基礎,適合新手用來練習操作Jmeter,另外,我發現還有另外一個接口項目:抽獎項目api( http://doc.nnzhp.cn/index.php?s=/5&page_id=7 ), 感覺和本次測試項目差不多,大家有興趣的可以嘗試下,后續有時間的話,將考慮通過Python對本項目進行接口測試。

最后,通過本項目,可以看到,Jmeter上手起來挺快的,即使不懂代碼的同學學會Jmeter的基本操作后,也可以很快進行接口測試實踐。


免責聲明!

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



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