最近在学习python语言,一直再想,工作中经常性会去调试接口、测试接口,于是就思考一番,怎么能抛弃以前经常依赖使用工具做接口测试的局限性,换做python脚本来做呢?接下来就产生下如下脚本,觉得还行,实用性很强,可以做基本的接口调试和接口测试,不废话了,上代码,巴拉~~~~~巴拉~~~~~巴拉
工具做接口测试:
局限性大、效率低、技术得不到提升
python做接口测试:
扩展性大、灵活、效率高、技术得到提升
温馨提示:如果看不明白的可以先复习下python requests模块基础
接口测试脚本
#!/usr/bin/env python
#_*_coding:utf-8_*_
import requests,json #调用requests模块
class InterfaceTest(object):
'''接口测试'''
headers={"Content-Type":"application/json","Authorization":"token"}#请求头
zp_url = 'http://test.meituan.com' #域名
zp_login_url=zp_url+'/login'#登录接口地址
zp_login_param{"captcha":"1234","client_type":2,"login_type":1,"mobile":18221124103}#登录参数
def __init__(self,headers,login_url,login_param=None):
self.headers=headers
self.login_url=login_url
self.login_param = login_param
def getToken(self):
try:
res=requests.post(url=self.login_url,headers=self.headers,json=self.login_param)
result=res.json()
return result['data']['token']
except Exception:
print('参数错误或登录失败,获取token失败')
def sendGet(self,api_url,param):
try:
res=requests.get(url=api_url,headers=self.headers).json()
print(res)
except Exception:
print('参数错误')
def sendPost(self,api_url,param):
try:
res=requests.post(url=api_url,headers=self.headers,json=param).json()
print(res)
except Exception:
print('参数错误')
def runMain(self,method,api_url,param=None):
if method=='GET' or method=='get' or method=='Get':
self.sendGet(api_url,param)
elif method == 'POST' or method=='post' or method=='Post':
self.sendPost(api_url,param)
else:
print('请传正确请求方式GET或POST')
if __name__== '__main__':
url=InterfaceTest.zp_url+'/update_info'#接口地址
params=[{"self_introduce":"我是参数1!"},{"self_introduce":"我是参数2!"}]#接口参数
test = InterfaceTest(InterfaceTest.headers,InterfaceTest.zp_login_url,InterfaceTest.zp_login_param)#实例化
InterfaceTest.headers['Authorization'] = test.getToken()# 获取token并赋值
for param in params:
test.runMain('POST',url,param)
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
{'msg': '成功', 'data': {}, 'code': 0}
{'msg': '成功', 'data': {}, 'code': 0}
Process finished with exit code 0