1、优化Myrequest
import requests
from conf.setting import log class MyRequest():
@staticmethod
def post(url,data=None,cookie=None,header=None,is_json=False,files=None,params=None):
data = data if data else {}
cookie = cookie if cookie else {}
header = header if header else {}
files = files if files else {}
try:
if is_json:
res = requests.post(url,json=data,cookies= cookie,headers = header,verify=False,files=files,params=params).json()
else:
res = requests.post(url, data=data, cookies=cookie, headers=header,verify=False,files=files,params=params).json()
log.debug('【接口返回数据:%s】'%res)
print('res...',res)
except Exception as e:
res = {'error':str(e)} #如果接口调用出错的话,那么就返回一个有错误信息的字典
log.error('异常信息:接口调用失败! url 【%s】 data 【%s】 实际结果是 【%s】'%(url,data,res))
return res @staticmethod
def get(url,data=None,cookie=None,header=None):
data = data if data else {}
cookie = cookie if cookie else {}
header = header if header else {}
try:
verify=False
res = requests.get(url, params=data, cookies=cookie, headers=header,verify=False).json()
log.debug('【接口返回数据:%s】'%res)
print('res...', res)
except Exception as e:
log.error('异常信息:接口调用失败! url 【%s】 data 【%s】'%(url,data))
res = {'error':str(e)} #如果接口调用出错的话,那么就返回一个有错误信息的字典
return res
2、上有传参下传json的接口调用
import unittest,requests
from lib.my_redis import my
# from lib.my_sql import my_sql
from conf.setting import BASE_URL
from urllib.parse import urljoin
from lib.my_request import MyRequest
from lib.tools import login class Pt_XXX(unittest.TestCase):
def test_c_XXXj(self):
'''用例描述'''
url = '/xxx/xxx/xxx/xxx'
real_url = urljoin(BASE_URL, url)
token = login()
params = {'xx': xxx,
'xx': 'xxxx'
} data={
"ts": xxx,
"id": "XXX"
} # res=requests.post(real_url,params=params,json=data).json()
res = MyRequest.post(real_url, data,is_json=True,params=params)
self.assertEqual(200, res.get('code'), msg='XXXX失败') if __name__ == '__main__':
c=Pt_XXX()
c.test_c_XXXj()