第一次寫博客筆記,講一下近來學習的接口自動化測試。網上查閱了相關資料,最后決定使用python語言寫接口測試,使用的是python的第三方庫requests.雖然python本身標准庫中的 urllib2 模塊提供了你所需要的大多數 HTTP 功能。但requests更好用簡單。果斷入門學習。
新手入門,代碼比較簡單
import requests import unittest class apiTest(unittest.TestCase): def setUp(self): self.base_url='http://httpbin.org/get' self.list={'key1':'value1','key2':'valus2'} def tearDown(self): pass def test_api(self): response=requests.get(self.base_url,params=self.list) self.assertEqual(response.status_code,200) if __name__=='__main__': unittest.main()
首先,導入對應的requests模塊,它是我們進行http請求等相關功能的關鍵,需要安裝,在命令行輸入
$ pip install requests
然后導入unittest框架,它是python的單元測試框架,相當於java的 junit框架。
apiTest繼承自unittest.TestCase,是一個測試用例。重寫了setUp()方法,用於環境初始化, 例如可以在setUp()中建立數據庫連接以及進行一些初始化,在tearDown()中清除在數據庫中產生的數據,然后關閉連接。這里在setUp()方法聲明了變量,url和遞交的參數。還定義了以test開頭的方法,每一個以test開頭的方法,都會為其構建TestCase對象。使用Requests來發送網絡請求非常簡單。一個get請求:response=requests.get(self.base_url,params=self.list),get方法中兩個參數分別是URL和傳遞的參數。請求的url其實就是:http://httpbin.org/get?key2=value2&key1=value1 。后面加上個斷言,用戶判斷響應是否與預期一致,這里是響應狀態碼是否等於200。