上一篇:接口测试case:查询发布会-CSDN博客(无身份认证版)
1、前置基础
一般测试工具都会提供一个User Auth/Authorization的选项,要求输入username/password字段。
- 系统登录功能时的username/password,是作为接口的一般参数来传输;
- User Auth,包含在request请求中。
2、接口
名称 | 查询发布会 |
描述 | 查询发布会 |
URL | http://127.0.0.1:8000/api/sec_get_event_list/ |
调用方法 | GET |
传入参数 | eid # 发布会id name # 发布会名称 |
返回值 | { 'status': 200, 'message': 'success', 'data': { 'eid': 3, 'name': '小米3', 'limit': 1002, 'status': True, 'address': '某某会展中心103', 'start_time': '2023-08-22T14:20:00' } } |
状态码 | 10011:auth user null 10012:auth user fail 10021:parameter error 10022:query result is empty 200:success |
说明 | 接口需要认证auth=('username','password') eid、name两个参数二选一 |
3、代码
import os.path
import sys
import unittest
import requests
parentDir = os.path.dirname(os.path.dirname(__file__))
sys.path.insert(0,parentDir)
from data.readCsv import Csv_oper
base_dir = str(parentDir)
base_dir = base_dir.replace('\\','/')
event_Path = base_dir + '/data/event_data.csv'
guest_Path = base_dir + '/data/guest_data.csv'
class GetEventList(unittest.TestCase):
def setUp(self):
self.base_url = "http://127.0.0.1:8000/api/sec_get_event_list/"
def tearDown(self):
print(self.result)
def test_get_event_auth_null(self):
''' auth为空 '''
r = requests.get(self.base_url, params={'eid': 3})
self.result = r.json()
self.assertEqual(self.result['status'], 10011)
self.assertEqual(self.result['message'], 'user auth null')
def test_get_event_auth_fail(self):
''' auth错误 '''
auth_user = ('admin', 'admin123')
r = requests.get(self.base_url, auth=auth_user, params={'eid': 3})
self.result = r.json()
self.assertEqual(self.result['status'], 10012)
self.assertEqual(self.result['message'], 'user auth fail')
def test_get_event_param_error(self):
''' 查询发布会,aurh正确,id错误 '''
auth_user =('admin','rxe519772.')
r = requests.get(self.base_url,auth=auth_user, params={'eid': 99})
self.result = r.json()
self.assertEqual(self.result['status'], 10022)
self.assertEqual(self.result['message'], 'query result is empty')
def test_get_event_auth_succes(self):
''' 查询发布会,aurh正确,id正确 '''
auth_user =('admin','rxe519772.')
r = requests.get(self.base_url,auth=auth_user, params={'eid': 3})
self.result = r.json()
self.assertEqual(self.result['status'], 200)
self.assertEqual(self.result['message'], 'success')
self.assertEqual(self.result['data']['name'], '小米3')
self.assertEqual(self.result['data']['address'], '某某会展中心103')
if __name__ == '__main__':
# 初始化数据
table_name1 = 'sign_event'
c = Csv_oper()
c.init_data(table_name1, event_Path)
# 执行测试
unittest.main()