咱们在作自动化的时候,确定是代码越简洁越好,代码重复量越少越好,这里呢,咱们能够经过把requests的请求类型都封装起来,这样编写用例的时候能够直接进行请求json
咱们一般用的最多的是get和post请求类型,就先拿这两个请求进行举例写一些我的的思路(大佬勿喷!!!)api
一、建立一个类,把get请求和post请求分别写成一个方法。方便调用post
二、每一个请求的参数可能不一样,这个咱们须要所有涉及到,能够经过**kwargs进行添加。学习
三、新建一个运行方法,判断请求类型。优化
import requests class TestRequests(): def get(self,**kwargs): '''封装get方法''' # 获取请求参数 params = kwargs.get("params") headers = kwargs.get("headers") url = kwargs.get('url') try: result = requests.get(url=url,params=params,headers=headers) return result except Exception as e: print("get请求错误: %s" %e) def post(self,url,**kwargs): '''封装post方法''' # 获取请求参数 params = kwargs.get("params") data = kwargs.get("data") json = kwargs.get("json") files = kwargs.get("files") try: result = requests.post(url,params=params,data=data,json=json,files=files) return result except Exception as e: print("post请求错误: %s" %e) def run_main(self, method, **kwargs): ''' 判断请求类型 :param method: 请求接口类型 :param kwargs: 填参数 :return: 接口返回内容 ''' if method == 'get': result = self.get(**kwargs) return result elif method == 'post': result = self.post(**kwargs) return result else : print('请求接口类型错误') if __name__ == '__main__': x =TestRequests() result =x.run_main('post',url='http://apis.juhe.cn/simpleWeather/query',data={'key':'331eab8f3481f37868378fcdc76cb7cd','city':'上海'}) print(result.json())
经过执行后,直接能够看到已经请求成功了。后续能够直接经过调取方法,直接进行使用url
安静简单的对requests请求类型进行封装,若是那里有不对的或者不懂的地方,能够直接下方留言,看到后第一时间回复~~spa
大佬们也能够帮助安静优化下代码哈~~共同窗习,共同进步~~code