接口自动化--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了。
-------------------------------------学无止境,欢迎大家提意见,共同交流进步----------------------------------------------
接口自动化--requests库封装的更多相关文章
- 【python接口自动化-requests库】【三】优化重构requests方法
一.重构post请求方法 上一张讲了如何使用requests库发送post请求,但是有时候,我们写脚本,不可能这么简单,代码完全不可复用,重复工作,那我们是不是可以想象,把我们的get,post请求, ...
- 【python接口自动化-requests库】【二】requests库简单使用(入门)
一.post请求 前面讲了,我们get请求的时候,引入requests的包,然后直接使用get方法,那么post是不是一样的? 1.首先我们先引入requests import requests 2. ...
- 【python接口自动化-requests库】【一】requests库安装
1.概念 requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满 ...
- python接口测试之requests库(一)
一.requests库的安装 requests库作为第三方库,需要安装 cmd模式下,运行pip install requests 二.在学习如何发送请求之前,我们先来了解一下requests库,查看 ...
- 接口自动化request库入门
requests库7个主要方法 r= requsts.get(),主要属性: r.raise_for_status()方法内部判断r.status_code是否等于200不需要增加额外的if语句,该语 ...
- python接口自动化测试 - requests库的基础使用
简单介绍 requests库简单易用的HTTP库 Get请求 格式: requests.get(url) 注意:若需要传请求参数,可直接在 url 最后的 ? 后面,也可以调用 get() 时多加一个 ...
- 接口自动化--日志类封装(logging)
上篇随笔已经写到了读取Excel类的封装了,下面就写下日志类, 日志类在我们自动化的过程中是十分重要的,在我们的自动化程序出现异常的时候就可以打印日志 下面是我自己封装的日志类 import logg ...
- python接口自动化测试 - requests库的post请求进行文件上传
前言 如果需要发送文件到服务器,比如上传图片.视频等,就需要发送二进制数据. 一般上传文件使用的都是 Content-Type: multipart/form-data; 数据类型,可以发送文件,也可 ...
- Python接口自动化--requests 2
# _*_ encoding:utf-8 _*_ import json import requests #post请求 payload = {"cindy":"hell ...
随机推荐
- vue本地静态图片的路径问题解决方案
不少人在vue的开发中遇到这样一个问题: img的src属性绑定url变量,然而图片加载失败. 大部分的情况中,是开发者使用了错误的写法,例如: <img src="{{ imgUrl ...
- Java stream 并发应用案例
在磁盘目录下有几十个txt文件,里面存储着XML格式的数据,每个文件在2-3M左右,现在需要将以上文件解析出来保存到mysql数据库,总数据量大概在30万条左右. (1)首先通过stream并发解析T ...
- LOJ3124 CTS2019 氪金手游 概率、容斥、树形DP
传送门 D2T3签到题可真是IQ Decrease,概率独立没想到然后就20pts滚粗了 注意题目是先对于所有点rand一个权值\(w\)然后再抽卡. 先考虑给出的关系是一棵外向树的情况.那么我们要求 ...
- python安装 hanlp +使用 坑坑坑。。。填填填。。。
刚开始用都不知道要怎么安装,包括什么文件.百度了下发现正常安装就可以用,不用下多余的东西,但是但是但是但是但是但是但是但是 用pycharm安装不行,pip安装不行,也是见鬼了. 解决方法: 1.手动 ...
- 在电脑上远程连接你的 云服务器( ECS)
在与服务器上一般安装的主流操作系统 linux 和 windowsServer linux一般都是centOs系列 这个主要是连接windowsServer 系统 用xshell ,win ...
- 软件——解决Modelsim10.1d窗口不停弹出问题(一直弹窗)
博主在编写Verilog HDL时需要用到Modelsim,于是博主便安装了Modelsim10.1d,然后兴高采烈打开准备跑仿真时,打开软件发现Modelsim10.1d的各种窗口在不停弹出,终止进 ...
- docker 的Portainer和Dive
Portainer Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台操作 ...
- TCMalloc - 基本流程
SizeMap tcmalloc通过classid将不同的小对象映射到不同的对象桶中,sizemap记录了一些对象大小和对象class的映射以及反向映射,除此之外,还记录了一些ThreadCache与 ...
- Direct Buffer介绍
Direct Buffer 前言 上篇文章Buffer末尾中谈到堆内Buffer(Heap Buffer)和直接Buffer(Direct Buffer)的概念,但是却一笔带过,并未涉及其细节,这篇文 ...
- 独立使用 ecj
ECJ 是 Eclipse Compiler for Java 的缩写,是 JavaTM 认可的 Java 编译工具(类似 javac).可以单独下载使用. 下载地址: http://mirrors. ...