接口测试框架实战(一) | Requests 与接口请求构造
Requests 是一个优雅而简单的 Python HTTP 库,其实 Python 内置了用于访问网络的资源模块,比如urllib,但是它远不如 Requests 简单优雅,而且缺少了许多实用功能。所以,更推荐掌握 Requests 接口测试实战技能,这也是互联网大厂流行的接口测试利器。
下面从安装 Requests 库开始,一步步掌握接口请求构造、接口请求断言、Schema 断言、Json/XML 请求、测试用例调试、HeadCookie 处理、Jsonpath 应用、认证体系等接口测试实战技能。
pip 命令安装 Requests。
Requests 官方文档:
https://2.python-requests.org/en/master/
接下来就会使用最流行的 Requests 进行接口测试。
Requests 提供了几乎所有的 HTTP 请求构造方法,以及通过传入参数的方法,对发送的请求进行定制化的配置,可以用来应对各种不同的请求场景。
发送 get 请求:
在请求中添加 data 参数,并发送 post 请求:
在请求中添加 data 参数,并发送 put 请求:
发送 delete 请求:
发送 head 请求:
发送 options 请求:
也可以直接使用 request 函数,传入不同的 method,例如使用这个方法发送 get 请求:
下面的参数都是非必须参数,但是如果需要对请求做额外的定制化,则需要掌握以下这些参数的作用。
header 参数
通过传入 dict 定制请求头:data 参数
发送编码为表单形式的数据单:files 参数
上传文件,dict 格式。
注意:建议用二进制模式(binary mode)打开文件。这是因为 Requests 可能会试图为你提供 Content-Length header,在它这样做的时候,这个值会被设为文件的字节数(bytes)。如果用文本模式(text mode)打开文件,就可能会发生错误。timeout参数
设定超时时间(秒),到达这个时间之后会停止等待响应:
注意:timeout 仅对连接过程有效,与响应体的下载无关。timeout 并不是整个下载响应的时间限制,而是如果服务器在 timeout 秒内没有应答,将会引发一个异常(更精确地说,是在 timeout 秒内没有从基础套接字上接收到任何字节的数据时),如果不设置 timeout,将一直等待。allow_redirects 参数
控制是否启用重定向,bool 类型,选择 True 为启用,选择 False 为禁用。proxies参数
设置代理,dict 格式,key 值为选择的协议,可以分别设置 HTTP 请求和 HTTPS 请求的代理。verify 参数
可以传入 bool 值或者 string,默认为 True。如果设置为 False 的即为忽略对 SSL 证书的验证;反之就是需要做验证;如果传入值为 string 的话,代表指定本地的证书作为客户端证书。
从本地传入证书:
忽略对SSL证书的验证:
另外三个重要参数 Json、Cookies、Auth 在后面的章节再进行详细的介绍。
接口测试框架实战(一) | Requests 与接口请求构造的更多相关文章
- 接口测试框架实战(三)| JSON 请求与响应断言
关注公众号,获取测试开发实战干货合辑.本文节选自霍格沃兹<测试开发实战进阶>课程教学内容. 数据驱动就是通过数据的改变驱动自动化测试的执行,最终引起测试结果的改变.简单来说,就是参数化在自 ...
- Python接口测试实战4(上) - 接口测试框架实战
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- Python接口测试框架实战与自动化进阶☝☝☝
Python接口测试框架实战与自动化进阶☝☝☝ 一.fiddler在工作中的运用 1.如何抓接口 抓紧手机端接口 ①.在电脑终端输入:ipconfig ,找到电脑ip ②.打开手机,连接WiFi, ...
- Python接口测试框架实战与自动化进阶✍✍✍
Python接口测试框架实战与自动化进阶 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看 ...
- Python接口测试实战2 - 使用Python发送请求
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- 接口测试框架Requests
目录 Requests Requests安装 Requests常见接口请求方法构造 请求目标构造 header构造 cookie 构造请求体 Get Query请求 Form请求参数 JSON请求体构 ...
- http接口测试框架-python
简单分解一下 接口测试框架设计: 主入口 -> 遍历接口/用例 -> 发送请求+接收响应 ->结果的对比 -> 生成报告 ->发送email 分成几大类:主入口的py文件 ...
- [python测试框架] http接口测试框架
https://testerhome.com/topics/5631 Http 接口测试框架 (思路 + 实现中 + 开源 + 可能难产) Http 接口测试框架疑问解答 Fiddler 保存会话 ( ...
- 基于JSON的接口测试框架
更多学习资料请加QQ群: 822601020获取 实现效果 需求场景: 公司微服务接口使用数字签名的方式, 使用Postman调试接口每次都需要修改源码将验签临时关闭, 但是关闭后,其他微服务不能正常 ...
随机推荐
- synchronized已经不在臃肿了,放下对他的成见之初识轻量级锁
前言 物竞天择,适者生存.JDK也在不断的优化中.关于JDK中synchronized锁内部也是不断的优化,前面我们分析了偏向锁用来解决初期问题,随着争抢的不断堆积轻量级锁营运而生. 关注我,一个不断 ...
- Linux磁盘分区管理-LVM回顾
LVM(逻辑分区管理)的几个概念:PV(物理卷),VG(卷组),LV(逻辑卷),PE(物理区域),LE(逻辑区域),其中PV, VG, LV 三者之间的关系如下图 : 物理存储介质:这里指系统的存储设 ...
- REST 和RPC对比?
1.RPC主要的缺陷是服务提供方和调用方式之间的依赖太强,需要对每一个微服务进行接口的定义,并通过持续继承发布,严格版本控制才不会出现冲突. 2.REST是轻量级的接口,服务的提供和调用不存在代码之间 ...
- springboot+shiro 01 - 实现权限控制
sb_shiro_session <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...
- ubuntu+ROS安装turtulebot3
0 简介 Turtlebot是一种室内移动机器人,搭载激光传感器,使机器有精确的距离感知能力.通过搭建仿真环境,可以在没有硬件支持的情况下进行仿真和编程,并熟悉ros系统.环境使Ubuntu16.04 ...
- can总线第一讲
一 官方简介如下: 控制器局域网CAN(Controller Area Network),是由德国Bosch公司为汽车应用而开发的多主机局部网络,应用于汽车的监测和控制.德国Bosch公司开发CAN ...
- Kurento安装与入门08——Group Call
Group Call 本示例展示了一个视频聊天室的功能,不同的聊天室之间互相隔离. 官网文档 Group Call 首先从github上获取代码(如果已经获取可以跳过,获取的代码已经包括后面的示例代码 ...
- 微信小程序开发:python+sanic 实现小程序登录注册
开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...
- java1.7之后的比较器特别之处
在jdk1.7环境下使用Collectons.sort()方法: 比如:Collections.sort(list, new Comparator<Integer>()); 就可能会出现异 ...
- Android点击按钮退出程序并提醒
效果展示: MainActivity.java import androidx.appcompat.app.AppCompatActivity; import android.app.AlertDia ...