软件测试/测试开发丨接口自动化测试学习笔记分享

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/25671

接口自动化测试框架介绍

目录

  • 接口自动化测试介绍
  • 接口自动化测试的学习体系
  • 接口自动化测试框架介绍

接口测试场景

image

自动化测试场景

image

接口测试在分层测试中的位置

image

接口自动化测试与 Web/App 自动化测试对比

image

接口自动化测试与 Web/App 自动化测试对比

看起来接口自动化测试什么都比 Web/App 自动化测试要好,为什么还要做 Web/App 自动化测试?

  • 接口关注数据无法触达用户体验。

接口测试工具类型

image

为什么推荐 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 请求方法构造

image

底层设计

image

演练环境地址

HTTP 协议知识回顾

  • URL 结构
  • HTTP 请求
  • HTTP 响应
    具体详见《常见接口协议》录播

构造 GET 请求

  • requests.get(url, params=None, **kwargs)

    • url: 接口 url。
    • params:拼接在 url 中的请求参数。
    • **kwargs:更多底层支持的参数。
# 导入依赖
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:更多底层支持的参数。
# 导入依赖
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:更多底层支持的参数。
# 导入依赖
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:更多底层支持的参数。
# 导入依赖
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: 请求方法。

      • GETOPTIONSHEADPOSTPUTPATCHDELETE
    • url: 接口 url。

    • **kwargs:更多底层支持的参数。

底层参数说明

参数应用场景
method请求方法
url请求 URL
params请求中携带 URL 参数
data请求中携带请求体(默认为表单请求)
json请求中携带 json 格式的请求体
headers请求中携带头信息
cookies请求中携带 cookies
files请求中携带文件格式的请求体
auth请求中携带认证信息
timeout设置请求超时时间
allow_redirects请求是否允许重定向
proxies设置请求代理
verify请求是否要认证
cert请求中携带 ssl 证书
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值