上有传参下传json的接口调用

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()
View Code
原文地址:https://www.cnblogs.com/jiadan/p/11896921.html