前言

不管是自动化大佬还是自动化小白,都知道我们用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了。

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

接口自动化--requests库封装的更多相关文章

  1. 【python接口自动化-requests库】【三】优化重构requests方法

    一.重构post请求方法 上一张讲了如何使用requests库发送post请求,但是有时候,我们写脚本,不可能这么简单,代码完全不可复用,重复工作,那我们是不是可以想象,把我们的get,post请求, ...

  2. 【python接口自动化-requests库】【二】requests库简单使用(入门)

    一.post请求 前面讲了,我们get请求的时候,引入requests的包,然后直接使用get方法,那么post是不是一样的? 1.首先我们先引入requests import requests 2. ...

  3. 【python接口自动化-requests库】【一】requests库安装

    1.概念 requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满 ...

  4. python接口测试之requests库(一)

    一.requests库的安装 requests库作为第三方库,需要安装 cmd模式下,运行pip install requests 二.在学习如何发送请求之前,我们先来了解一下requests库,查看 ...

  5. 接口自动化request库入门

    requests库7个主要方法 r= requsts.get(),主要属性: r.raise_for_status()方法内部判断r.status_code是否等于200不需要增加额外的if语句,该语 ...

  6. python接口自动化测试 - requests库的基础使用

    简单介绍 requests库简单易用的HTTP库 Get请求 格式: requests.get(url) 注意:若需要传请求参数,可直接在 url 最后的 ? 后面,也可以调用 get() 时多加一个 ...

  7. 接口自动化--日志类封装(logging)

    上篇随笔已经写到了读取Excel类的封装了,下面就写下日志类, 日志类在我们自动化的过程中是十分重要的,在我们的自动化程序出现异常的时候就可以打印日志 下面是我自己封装的日志类 import logg ...

  8. python接口自动化测试 - requests库的post请求进行文件上传

    前言 如果需要发送文件到服务器,比如上传图片.视频等,就需要发送二进制数据. 一般上传文件使用的都是 Content-Type: multipart/form-data; 数据类型,可以发送文件,也可 ...

  9. Python接口自动化--requests 2

    # _*_ encoding:utf-8 _*_ import json import requests #post请求 payload = {"cindy":"hell ...

随机推荐

  1. 关于getClass(),Object.class,getClassLoader的理解

    1.对Class类的理解:Class类包含了类的信息,如构造方法.方法.属性,可用于反射.以下是所有方法 2.获取Class类对象的几种方法: Test test = new Test(); (1). ...

  2. [转]MySQL之——崩溃-修复损坏的innodb:innodb_force_recovery

    原文 https://blog.csdn.net/l1028386804/article/details/77199194 1. mysql崩溃 --------------------------- ...

  3. Android Q Beta 6 终极测试版发布!

    前言 当今手机市场可谓是百花齐放,但手机系统却屈指可数,其中Android和iOS就占据了整个手机系统市场的99%,单单Android就占据了整个手机系统市场的86%,可谓是占据绝对优势.     其 ...

  4. highcharts实现组织机构的点击选中和取消选中事件

    代码   Highcharts.chart('container', { chart: { height: 600, inverted: true }, title: { text: 'Highsof ...

  5. 屏蔽打开文件时提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致。打开文件前请验证文件没有损坏且来源可信。是否立即打开该文 件?”

    修改注册表解决 1.打开注册表编辑器 方法:开始 -> 运行 -> 输入regedit -> 确定 2.找到注册表子项 HKEY_CURRENT_USER\Software\Micr ...

  6. Git命令之tag差异比较

    比较两个tag的区别有以下几种方式: 例如两个tag分别为v1.0. v2.0 1. git log v2.0 ^v1.0 查看v2.0上有,而v1.0上没有的部分: 2. git log v1.0. ...

  7. 使用benchmarkSQL测试数据库的TPCC

    压力测试是指在MySQL上线前,需要进行大量的压力测试,从而达到交付的标准.压力测试不仅可以测试MySQL服务的稳定性,还可以测试出MySQL和系统的瓶颈. TPCC测试:Transaction Pr ...

  8. 关于mpvue编写小程序的坑

    在引入第三方UI时 百度了很多方法,对于第一次接触的,在我们写vue的页面需要添加main.json 同时在写文件时,要在最后不要加 “,”  !!!并且在微信小程序会出现路径报错 在微信小程序中点击 ...

  9. [SOJ #696]染色(2019-11-10考试)/[Atcoder MUJIN Programming Challenge C]Orange Graph

    题目大意 有一个\(n\)个点\(m\)条边的简单无向连通图,初始为白色,可以执行操作让一些边变黑,要求使得操作后的图不存在黑色的奇环,且不能使得其他的任何变黑而还符合要求.问最后有多少可能结果.\( ...

  10. 『7.5 NOIP模拟赛题解』

    T1 Gift Description ​ 人生赢家老王在网上认识了一个妹纸,然后妹纸的生日到了,为了表示自己的心 意,他决定送她礼物.可是她喜爱的东西特别多,然而他的钱数有限,因此他想 知道当他花一 ...