一、輸出接口自動化測試框架處理流程
接口測試框架:unittest用例的組織、初始化數據、HTMLTestRunner生成測試報告;
流程如下:
1、準備測試數據:接口測試框架先向測試數據庫中插入測試數據(如Tom的個人信息);
2、接口調用:調用被測系統所提供的的接口(傳參username='Tom');
3、數據處理:系統接口根據傳參(username='Tom)調用接口進行處理;
4、數據返回:將結果組裝成一定格式的數據,並返回給測試框架;
5、斷言生成測試報告:通過單元測試框架斷言接口返回的數據,並生成測試報告。
二、舉例
import requests
import unittest
class GetEventListTest(unittest.TestCase):
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/get_event_list/"
def test_get_event_list_eid_null(self):
''' eid 參數爲空 '''
r = requests.get(self.base_url, params={'eid':''})
result = r.json()
self.assertEqual(result['status'], 10021)
self.assertEqual(result['message'], 'parameter error')
def test_get_event_list_eid_error(self):
''' eid=901 查詢結果爲空 '''
r = requests.get(self.base_url, params={'eid':901})
result = r.json()
self.assertEqual(result['status'], 10022)
self.assertEqual(result['message'], 'query result is empty')
def test_get_event_list_eid_success(self):
''' 根據 eid 查詢結果成功 '''
r = requests.get(self.base_url, params={'eid':1})
result = r.json()
self.assertEqual(result['status'], 200)
self.assertEqual(result['message'], 'success')
self.assertEqual(result['data']['name'],u'mx6發佈會')
self.assertEqual(result['data']['address'],u'北京國家會議中心')
if __name__ == '__main__':
unittest.main()