zoukankan      html  css  js  c++  java
  • requests---requests封装请求类型

      我们在做自动化的时候,肯定是代码越简洁越好,代码重复量越少越好,这里呢,我们可以通过把requests的请求类型都封装起来,这样编写用例的时候可以直接进行请求

    requests方法封装

    我们通常用的最多的是get和post请求类型,就先拿这两个请求进行举例写一些个人的思路(大佬勿喷!!!)

    1、创建一个类,把get请求和post请求分别写成一个方法。方便调用

    2、每个请求的参数可能不同,这个我们需要全部涉及到,可以通过**kwargs进行添加。

    3、新建一个运行方法,判断请求类型。

    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())

    通过执行后,直接可以看到已经请求成功了。后续可以直接通过调取方法,直接进行使用

    安静简单的对requests请求类型进行封装,如果那里有不对的或者不懂的地方,可以直接下方留言,看到后第一时间回复~~

    大佬们也可以帮助安静优化下代码哈~~共同学习,共同进步~~

  • 相关阅读:
    Celery(异步任务,定时任务,周期任务)
    SQLAlchemy的应用创建
    SQLAlchemy多对多
    SQLAlchemy
    app开发-2
    app开发-3
    app开发-1
    MongoDB-pymongo
    MongoDB-增删改查
    MongoDB-数据类型
  • 原文地址:https://www.cnblogs.com/qican/p/11978205.html
Copyright © 2011-2022 走看看