接口測試的方式有不少,好比能夠用工具(jmeter,postman)之類,也能夠本身寫代碼進行接口測試,工具的使用相對來講都比較簡單,重點是要搞清楚項目接口的協議是什麼,而後有針對性的進行選擇,甚至當工具不太適合項目時須要本身進行開發。html
在咱們項目的初期,咱們採用的是jmeter進行接口測試,當時以爲這個工具上手簡單,團隊成員學習成本低,而且接口測試的腳本稍微調整一下還能夠用來作性能測試。針對這個工具本人也整理了一個系統的文章幫團隊的同窗入門使用:Jmeter教程索引貼。python
不過隨着項目規模、團隊人數的不斷增加,漸漸的這個工具備適應不了當前項目的需求了,爲此咱們項目也從新開發了相關接口自動化的平臺。可是,可是。。。多是我讓你們中毒太深,如今不少同窗一提到接口測試關聯到jmeter,爲此,我深深感到不安。畢竟jmeter只是個工具,換個項目換個協議你是否還能玩轉接口測試呢?session和cookie有什麼區別?工具又是怎麼實現的呢?cookie
爲了讓你們能更加深刻的掌握接口測試,很早就在打算寫些簡單的使用代碼方式來作接口測試的入門教程,由於本身動手寫代碼有不少問題須要你本身去處理,好比session如何保存,接口依賴如何處理,case如何管理及執行順序,測試數據如何管理等等題,這個過程也有助於咱們更加深入的理解接口測試和http協議。好了,廢話了這麼多,下面咱們開始吧。session
本文主要採用python語言,python中http協議接口相關的庫有urllib,urllib2以及reqeusts庫,這其中reqeusts庫用來起來最方便,所以我也主要採用requests庫來作http協議的接口測試。首先來看下須要哪些環境信息:app
1、安裝python工具
mac下自帶安裝了python,這個很少說了。post
2、安裝虛擬環境:性能
咱們在一臺機器上能夠安裝多個python版本,爲了使每一個版本的環境相互不受干擾,能夠安裝虛擬環境,安裝方法以下:學習
一、安裝virtualenv:pip install virtualenv測試
二、新建名爲venv的虛擬環境:virtualenv venv
三、進入新環境:source venv/bin/activate
四、退出:deactivate
3、安裝requests庫:
>>>pip install requests
ps:用python作http協議的接口測試會用到這個庫。
4、http測試工具:
一個使用 Python + Flask 編寫的 HTTP 請求和響應服務,該服務主要用於測試 HTTP 庫。後續測試咱們都基於這個網站。
5、在本地搭建httpbin:
考慮到測試時要不斷訪問 httpbin 網站,請求過多擔憂被拉到黑名單,咱們本身在本志搭建一套httpbin服務。
一、安裝:pip install gunicorn
二、安裝:pip install httpbin
三、啓動:gunicorn httpbin:app
至此,環境搭建已經完畢,能夠開始玩了~