目录
接口自动化测试框架介绍
目录
接口测试场景
自动化测试场景
接口测试在分层测试中的位置
接口自动化测试与 Web/App 自动化测试对比
接口自动化测试与 Web/App 自动化测试对比
接口测试工具类型
为什么推荐 Requests
Requests 优势
Requests 环境准备
接口请求方法
目录
常见 HTTP 请求方法构造
底层设计
演练环境地址
HTTP 协议知识回顾
构造 GET 请求
构造 POST 请求
构造 PUT 请求
构造 DELETE 请求
构造请求方法
底层参数说明
总结:
接口自动化测试框架介绍
目录
- 接口自动化测试介绍
- 接口自动化测试的学习体系
- 接口自动化测试框架介绍
接口测试场景
Python自动化测试:2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
自动化测试场景
接口测试在分层测试中的位置
接口自动化测试与 Web/App 自动化测试对比
接口自动化测试与 Web/App 自动化测试对比
看起来接口自动化测试什么都比 Web/App 自动化测试要好,为什么还要做 Web/App 自动化测试?
- 接口关注数据无法触达用户体验。
接口测试工具类型
为什么推荐 Requests
- 是由 Python 实现的 API 测试框架。
- 支持发起 POST, GET, PUT, DELETE 等请求。
- 可以用来验证和校对响应信息。
官网地址: Requests: HTTP for Humans™ — Requests 2.31.0 documentation
Requests 优势
- 功能全面:HTTP/HTTPS 支持全面。
- 使用简单:简单易用,不用关心底层细节。
- 定制性高:结合测试框架完成二次封装,比如 HttpRunner。
Requests 环境准备
- 安装命令:pip install requests
接口请求方法
目录
- 常见 HTTP 请求方法构造
- 演练环境
- HTTP 协议知识回顾
- 构造请求方法
常见 HTTP 请求方法构造
Python自动化测试:2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
底层设计
演练环境地址
- httpbin.ceshiren.com/
HTTP 协议知识回顾
- URL 结构
- HTTP 请求
- HTTP 响应
具体详见《常见接口协议》录播
构造 GET 请求
- requests.get(url, params=None, **kwargs)
- url: 接口 url。
- params:拼接在 url 中的请求参数。
- **kwargs:更多底层支持的参数。
python复制代码# 导入依赖
import requests
def test_get():
# 定义接口的 url 和拼接在 url 中的请求参数
url = "https://httpbin.ceshiren.com/get"
# 发出 GET 请求,r 接收接口响应
r = requests.get(url)
# 打印接口响应
logger.info(f"接口响应为 {r}")
构造 POST 请求
- requests.post(url, data=None, json=None, **kwargs)
- url: 接口 url。
- data:表单格式请求体。
- json:JSON 格式请求体。
- **kwargs:更多底层支持的参数。
python复制代码# 导入依赖
import requests
def test_post():
# 定义接口的 url
url = "https://httpbin.ceshiren.com/post"
# 发出 POST 请求,r 接收接口响应
r = requests.post(url)
# 打印接口响应
logger.info(f"接口响应为 {r}")
构造 PUT 请求
- requests.put(url, data=None, **kwargs)
- url: 接口 url。
- data:表单格式请求体。
- **kwargs:更多底层支持的参数。
python复制代码# 导入依赖
import requests
def test_put():
# 定义接口的 url
url = "https://httpbin.ceshiren.com/put"
# 发出 POST 请求,r 接收接口响应
r = requests.put(url)
# 打印接口响应
logger.info(f"接口响应为 {r}")
构造 DELETE 请求
- requests.delete(url, **kwargs)
- url: 接口 url。
- **kwargs:更多底层支持的参数。
python复制代码# 导入依赖
import requests
def test_delete():
# 定义接口的 url 和表单格式请求体
url = "https://httpbin.ceshiren.com/delete"
# 发出 POST 请求,r 接收接口响应
r = requests.delete(url)
# 打印接口响应
logger.info(f"接口响应为 {r}")
构造请求方法
- requests.request(method, url, **kwargs)
- method: 请求方法。
- GET,OPTIONS,HEAD,POST,PUT,PATCH,DELETE。
- url: 接口 url。
- **kwargs:更多底层支持的参数。
- method: 请求方法。
底层参数说明
参数 | 应用场景 |
method | 请求方法 |
url | 请求 URL |
params | 请求中携带 URL 参数 |
data | 请求中携带请求体(默认为表单请求) |
json | 请求中携带 json 格式的请求体 |
headers | 请求中携带头信息 |
cookies | 请求中携带 cookies |
files | 请求中携带文件格式的请求体 |
auth | 请求中携带认证信息 |
timeout | 设置请求超时时间 |
allow_redirects | 请求是否允许重定向 |
proxies | 设置请求代理 |
verify | 请求是否要认证 |
cert | 请求中携带 ssl 证书 |
总结:
感谢每一个认真阅读我文章的人!!!
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。
Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628