美文网首页test
零基础小白(二)Requests请求方式之Get 和Post封装

零基础小白(二)Requests请求方式之Get 和Post封装

作者: 巴鶴 | 来源:发表于2021-01-10 08:32 被阅读0次

接口自动化测试过程中,如果每个请求类型都写成单独的函数,代码复用性不强.如果把请求类型都封装起来,自动化用例都可以用这个封装的请求类进行请求,比较方便,代码简洁,效率高!! Requests常用请求方式Get 和Post,本文介绍封装Get 和Post请求。

Pycharm创建工具类文件夹utils,新建RequestsUtil.py脚本文件,供后续接口测试用例调用!!

步骤1: 创建封装get方法,代码参考

def requests_get(url,headers):
    #1、发送get请求
    r = requests.get(url,headers = headers)
    #2、获取结果相应内容
    code = r.status_code
    try:
        body = r.json()
    except Exception as e:
        body = r.text
    #3、内容存到字典
    res = dict()
    res["code"] = code
    res["body"] = body
    #4、字典返回
    return res

步骤2: 创建封装post方法,代码参考

def requests_post(url,json = None,headers = None):
    #1、发送get请求
    r = requests.post(url,headers = headers,json = json)
    #2、获取结果相应内容
    code = r.status_code
    try:
        body = r.json()
    except Exception as e:
        body = r.text
    #3、内容存到字典
    res = dict()
    res["code"] = code
    res["body"] = body
    #4、字典返回
    return res

步骤3: 重构get和post请求,定义公共方法

class Request:
#2、定义公共方法
    def __init__(self):
        self.log = my_log("Requests")
    #1、增加方法参数,根据参数来验证get/post,请求
    def requests_api(self,url,data = None,json = None,headers = None,cookies = None,method = 'get'):
        if method == "get":
            #get请求
            self.log.debug("发送get请求")
            r = requests.get(url, data = data,headers = headers,json = json,cookies = cookies)
        elif method == "post":
            #post请求
            self.log.debug("发送post请求")
            r = requests.post(url, data = data, headers=headers, json=json,cookies = cookies)
    #2、重复内容复制进来
        #获取结果相应内容
        code = r.status_code
        try:
            body = r.json()
        except Exception as e:
            body = r.text
        #内容存到字典
        res = dict()
        res["code"] = code
        res["body"] = body
        #4、字典返回
        return res
#3、重构get\post方法
    #1、get 定义方法
    def get(self,url,**kwargs):
    #2、定义参数
        #url,json,headers,cookies,method
    #3、调用公共方法
        return self.requests_api(url,method = 'get',**kwargs)
        # return json.dumps(self.requests_api(url, method='get', **kwargs),
        #           sort_keys=True, ensure_ascii=False, indent=4, separators=(', ', ': '))  # Json格式返回
    #1、post 定义方法
    def post(self,url,**kwargs):
    #2、定义参数
        #url,json,headers,cookies,method
    #3、调用公共方法
        return self.requests_api(url,method = 'post',**kwargs)
        # return json.dumps(self.requests_api(url,method = 'post',**kwargs),
        #                   sort_keys=True, ensure_ascii=False, indent=4, separators=(', ', ': ')) # Json格式返回

步骤4: 测试用例调用封装的请求方式

创建testcase文件夹,使用上篇demo脚本,调用请求方式封装请求

相关文章

  • 零基础小白(二)Requests请求方式之Get 和Post封装

    接口自动化测试过程中,如果每个请求类型都写成单独的函数,代码复用性不强.如果把请求类型都封装起来,自动化用例都可以...

  • python

    requests请求方式 get请求 requests.get() post请求 req...

  • 03-Requests

    一. Requests: 让 HTTP 服务人类 安装方式 二. Requests使用 GET请求和POST请求 ...

  • Requests

    1. 请求方式 requests.get(url) requests.post(url) requests.put...

  • python3 爬虫 requests

    请求网页 常用的库有requests和urllib html的请求方式: get post put delete ...

  • curl发送请求方法封装request

    //使用url封装请求方法 //封装可以请求http和https //可以发送get和post的请求方式 func...

  • Requests

    Requests: 让 HTTP 服务人类 安装方式 Requests使用 GET请求和POST请求 最基本的GE...

  • 爬虫二_requests模块

    Requests: 让 HTTP 服务人类 安装方式 Requests使用 GET请求和POST请求 最基本的GE...

  • OkHttp的简单封装使用

    封装单例工具类,包含get和post请求 调用方式

  • requests(1)

    2、requests请求 请求方法:requests.get requests.post requests.put...

网友评论

    本文标题:零基础小白(二)Requests请求方式之Get 和Post封装

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