最近在学习python语言,一直再想,工作中经常性会去调试接口、测试接口,于是就思考一番,怎么能抛弃以前经常依赖使用工具做接口测试的局限性,换做python脚本来做呢?接下来就产生下如下脚本,觉得还行,实用性很强,可以做基本的接口调试和接口测试,不废话了,上代码,巴拉~~~~~巴拉~~~~~巴拉
工具做接口测试:
局限性大、效率低、技术得不到提升
python做接口测试:
扩展性大、灵活、效率高、技术得到提升
- 温馨提示:如果看不明白的可以先复习下python requests模块基础
复制代码- [/code][code]#!/usr/bin/env python
复制代码- [/code][code]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.login_param = login_param
复制代码- res=requests.post(url=self.login_url,headers=self.headers,json=self.login_param)
复制代码- return result['data']['token']
复制代码- print('参数错误或登录失败,获取token失败')
复制代码- def sendGet(self,api_url,param):
复制代码- res=requests.get(url=api_url,headers=self.headers).json()
复制代码- def sendPost(self,api_url,param):
复制代码- res=requests.post(url=api_url,headers=self.headers,json=param).json()
复制代码- 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)
复制代码- 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并赋值
复制代码- 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}
复制代码- [/code][code]Process finished with exit code 0
复制代码 [code][/code]
|
|