美文网首页python进阶课
接口自动化之网络请求封装

接口自动化之网络请求封装

作者: 炒鸡可耐的小葵花 | 来源:发表于2019-12-15 21:07 被阅读0次
    接口.png

    本小仙女在之前写过一篇文章,文章的名字叫做《你以为你了解了http以及post和get?》,其实这篇文章主要讲了网络请求的原理。然后重点讲了一下post请求和get请求。今天,偶想讲的呢是自动化测试中的“网络请求封装”。一般来说,现在市面上大部分的公司也就使用post或者get两种请求方式。所以想要了解更多关于http请求,请移步至https://www.jianshu.com/p/32860968f631

    这边就简单的封装了一个python中请求网络接口的方法,此方法通过传入请求方法、请求路径、请求参数等入参,进行调用,代码如下,调用即可:

    import requests
    import json
    
    
    class CommonRequests:
        def __init__(self):
            self.session = requests.Session()
    
        def request(self, method, url, data=None, is_json=False, **kwargs):
            """
            发送请求
            :param method: POST、GET
            :param url: 请求路径
            :param data: 请求参数
            :param is_json: 入参是否为json格式
            :param kwargs: 请求头等其他的入参
            :return: 接口返回
            """
            method = method.upper()
            if isinstance(data, str):  # 对传入的参数进行简单处理
                try:
                    data = json.loads(data)
                except Exception as e:
                    print("异常为{}".format(e))
                    data = eval(data)
            if method == "GET":
                response = self.session.request(method=method, url=url, params=data, **kwargs)
            elif method == "POST":
                if is_json:  # 请求参数是json格式
                    response = self.session.request(method=method, url=url, json=data, **kwargs)
                else:
                    response = self.session.request(method=method, url=url, data=data, **kwargs)
            else:
                response = None
            return response
    
        def close(self):
            self.session.close()
    
    

    相关文章

      网友评论

        本文标题:接口自动化之网络请求封装

        本文链接:https://www.haomeiwen.com/subject/utzbhctx.html