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

本次測試的是基於HTTP協議的接口,主要是經過Jmeter來完成接口測試,藉此熟悉Jmeter的基本操做。php

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

全部設置以下:json

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

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

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

獲取學生信息

獲取信息成功

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

獲取信息失敗

2.登陸(POST)

在登陸接口中,接口文檔中提供了一個測試用戶,咱們能夠利用該用戶來模擬測試。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的基本操做後,也能夠很快進行接口測試實踐。

相關文章
相關標籤/搜索