本次測試的是基於HTTP協議的接口,主要是經過Jmeter來完成接口測試,藉此熟悉Jmeter的基本操做。php
本次實戰,我是從網上找的接口測試項目,該項目提供了詳細的接口文檔,咱們能夠經過學習接口文檔來設計測試用例,最後再使用Jmeter進行實戰。總的來講,這個項目很適合用來練手,項目網址:http://doc.nnzhp.cn/index.php?s=/6&page_id=8數據庫
全部設置以下:json
從接口文檔中,咱們能夠看到獲取學生信息用到的是GET方式的請求,入參中 stu_name 爲必填項,返回參數太多,在此就不詳細說明了。咱們先建立一個線程組,在線程組下添加一個HTTP請求和察看結果樹,以下:api
上面的是請求正確的結果,若是請求錯誤,好比填寫一個系統數據庫中 stu_name 沒有的值,那麼返回結果以下:cookie
在登陸接口中,接口文檔中提供了一個測試用戶,咱們能夠利用該用戶來模擬測試。post
登陸接口用到的是POST請求方式,入參 username 和 passwd 爲必填項,咱們再建立1個線程組,在線程組下添加一個HTTP請求和察看結果樹,以下:學習
當咱們填寫的是錯誤的入參時,返回結果以下:測試
在添加學生信息的接口中,用到的也是POST請求方式,但與登陸接口不一樣的是,它的入參是JSON類型的,接口文檔中有1個JSON請求示例,咱們能夠直接複製過來,簡單修改一下便可。在這裏,咱們再建立1個線程組,在線程組下添加一個HTTP請求和察看結果樹,以下:編碼
在這裏,因爲這個學生信息已存在系統中了,所以返回添加失敗的結果。因此,我須要添加1個新的學生信息,另外,這裏須要調整下編碼格式爲utf-8,不然添加的學生信息會出現中文亂碼。線程
在這裏,你們能夠設計不一樣的測試用例來進行測試,但操做方式都是同樣的,只是返回結果不一樣而已。
這個接口有權限驗證,須要admin用戶登陸成功後才能夠進行充值,另外,在入參 stu_id 和 gold 中,咱們發現 stu_id 指的是學生ID,這裏其實就是最開始 獲取學生信息 接口返回結果中的id字段,以下:
所以,咱們建立一個線程組,在線程組下依次添加登陸請求、學生充值金幣請求、察看結果樹,在登陸請求下添加JSON提取器,用於提取cookie,在學生充值金幣請求下添加HTTP Cookie管理器,以下:
在JSON提取器中,咱們經過 $.login_info.sign 來提取登陸的cookie,並在HTTP Cookie管理器中進行引用,若是沒有關聯cookie,那麼將充值失敗,提示未登陸。
從接口文檔中,咱們瞭解到,要獲取全部學生信息,須要添加請求信息頭,所以,咱們建立一個線程組,在線程組下依次添加HTTP信息頭管理器、HTTP請求、察看結果樹,以下:
這裏須要說一下,咱們在返回的結果中看到,有些學生信息中有不少「???」,這是由於在添加學生信息的時候,咱們傳入中文數據致使亂碼,所以在添加學生信息接口中,我特地說明讓你們設置utf-8編碼,這樣添加的學生信息就不會出現亂碼了。
在上傳文件接口中,須要注意的是這裏的入參是file類型的,所以,咱們須要準備一個待上傳的文件。
最後,咱們建立一個線程組,在線程組下依次添加文件上傳請求、察看結果樹,以下:
OK,以上就是經過Jmeter對這個接口項目進行接口測試的過程,比較基礎,適合新手用來練習操做Jmeter,另外,我發現還有另一個接口項目:抽獎項目api(http://doc.nnzhp.cn/index.php?s=/5&page_id=7),感受和本次測試項目差很少,你們有興趣的能夠嘗試下,後續有時間的話,將考慮經過Python對本項目進行接口測試。
最後,經過本項目,能夠看到,Jmeter上手起來挺快的,即便不懂代碼的同窗學會Jmeter的基本操做後,也能夠很快進行接口測試實踐。