zoukankan      html  css  js  c++  java
  • 接口自动化--requests库封装

    前言

    不管是自动化大佬还是自动化小白,都知道我们用python写接口自动化测试肯定是要用requests库来封装请求类的,下面就简单介绍下requests这个库

    安装

    一般都是直接采用pip命令安装:pip install requests

    官方文档

    官方文档的路径:https://cn.python-requests.org/zh_CN/latest/
    在官方文档你可以看到关于requests的用法。 ps:官方文档是最靠谱的

    废话不多说了直接上干货
    下面是封装的不保存cookies的类

    class HttpRequest:
    """不保存cookies的请求类"""
    	def get(self, url, param=None, headers=None, cookies=None):
         """get请求"""
            res = requests.get(url, param=param, headers=headers, cookies=cookies)
            return res
    
        def post(self, url, data=None, json=None, param=None, headers=None, cookies=None):
            """post请求"""
            res = requests.post(url, data=data, json=json, param=param, headers=headers, cookies=cookies)
            return res
    
        def visit(self, url, method, param=None, data=None, json=None, headers=None, cookies=None):
            """可在method参数选择get、post请求方式"""
            res = None
            if method == "POST" or method == "post":
                res = requests.post(url, param=param, data=data, json=json, headers=headers, cookies=cookies)
            elif method == "GET" or method == "get":
                res = requests.get(url, param=param, headers=headers, cookies=cookies)
            return res
    
        def get_json(self, url, method, param=None, data=None, json=None, headers=None, cookies=None):
            """返回的是json格式的响应体"""
            res = None
            if method == "POST" or method == "post":
                res = requests.post(url, data=data, json=json, headers=headers, cookies=cookies)
            elif method == "GET" or method == "get":
                res = requests.get(url, param=param, headers=headers, cookies=cookies)
            return res.json()
    

      


    以上是直接用的requests封装的类,其实还可以用Session()类来封装,用Session()类封装时有一个好处的,用这个类封装的话就不用去手动传cookies了。

    -------------------------------------学无止境,欢迎大家提意见,共同交流进步----------------------------------------------

  • 相关阅读:
    shell 函数
    使用Alpine镜像构建镜像
    macos修改vmware Fusion的NAT网络
    K8s Pod与宿主机时区不同步
    nginx热升级
    awk分析web日志
    k8s 新建用户远程连接集群和context切换
    查询出口公网ip
    微服务之服务网格 Istio
    Systemd 、systemctl进程管理工具
  • 原文地址:https://www.cnblogs.com/LCboss/p/11771989.html
Copyright © 2011-2022 走看看