利用python发起http请求:多条测试用例同时执行来测试登录接口

#1、导入requests模块

import requests

#2、定义接口地址
login_url='http://ip:9999/futureloan/mvc/api/member/login'

#3、定义测试数据
test_case=[{'case_id':1,'title':'正常登录','data':{'mobilephone':'13502288211','pwd':'123456'},'method':'get','expected':'10001'},
{'case_id':2,'title':'密码错误','data':{'mobilephone':'13502288211','pwd':'12345678'},'method':'get','expected':'20111'},
{'case_id':3,'title':'手机号错误','data':{'mobilephone':'13502288211666','pwd':'123456'},'method':'get','expected':'20111'},
{'case_id':4,'title':'密码为空','data':{'mobilephone':'13502288211','pwd':''},'method':'get','expected':'20103'},
{'case_id':5,'title':'手机号为空','data':{'mobilephone':'','pwd':'123456'},'method':'post','expected':'20103'}]


#定义http请求函数
def http_request(method,url,data):

if method=='get':
# print('发起一个get请求')
result=requests.get(url,data)
else:
# print('发起一个post请求')
result=requests.post(url,data)
# print(result.json())
return result.json()   #返回响应结果:结果是字典类型:{'status': 1, 'code': '10001', 'data': None, 'msg': '登录成功'}

#调用函数,发起请求
for case in test_case:
# print('正在执行第{}条用例'.format(case['case_id']))
result=http_request(case['method'],login_url,case['data']) #获得请求的响应结果
if case['expected']==result['code']:
print('第{}条用例:{}——测试通过'.format(case['case_id'],case['title']))
else:
print('第{}条用例:{}——测试失败'.format(case['case_id'],case['title']))

posted @ 2018-12-18 14:41  YLG001  阅读(1195)  评论(0编辑  收藏  举报