接口自动化测试

霍格沃兹测试开发学社

ceshiren.com

目录

  • 学习价值
  • 直播前准备
  • 知识点梳理
  • 企业微信接口自动化测试实战演练
  • 总结

知识点梳理

接口自动化测试场景

接口自动化与 UI 自动化测试对比

UI 自动化测试 接口自动化测试
成本 ⭐️⭐️⭐️ ⭐️
测试效率 ⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
用例编写效率 ⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
稳定性 ⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
自动化回归测试效率 ⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
测试覆盖度 ⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
自动生成用例成本 ⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️

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

接口自动化测试在企业中的实践

企业微信接口自动化测试实战演练

  • 实战目标
  • 被测产品介绍
  • 需求说明
  • 实战思路
  • 实战演练

思考

  • 其他接口都需要登录接口的信息,怎么去让这个登录的接口只在其他接口调用一次?
  • 接口响应值嵌套较深,获取不方便怎么办?

实战目标

  • 掌握接口自动化测试用例设计方法。
  • 掌握接口自动化测试中的各种格式的请求构造与响应断言技巧。
  • 掌握接口自动化测试中复杂断言方法。
  • L1
  • L2
  • L3
  • L4
  • L5

被测产品介绍

  • 企业微信
    • 企业微信是腾讯微信团队打造的企业通讯与办公工具。
    • 具有与微信一致的沟通体验,丰富的 OA 应用,和连接微信生态的能力。
    • 可帮助企业连接内部、连接生态伙伴、连接消费者。专业协作、安全管理、人即服务。

需求说明

  • 完成企业微信部门管理接口自动化测试。
  • 环境准备
    1. 企业微信注册(有手机号即可)。
    2. 企业微信白名单配置:https://ceshiren.com/t/topic/22768

实战思路

接口文档分析

请求方式:GET/POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
请求包体:
...
参数说明:
...
权限说明:
...
返回结果:
...
参数说明:
...

接口测试用例设计

接口鉴权

课堂练习

接口自动化测试

  • 单接口测试:保障单个接口的正确性和健壮性。
    • 场景:对外提供的接口、与第三方联调的接口。
  • 接口业务场景测试:保障通过进行多个接口的串联操作来完成原有需求中提出的业务逻辑

token 复用

在获取token 请求之前,先判断token 是否存在。

  • 如果不存在,则获取。
  • 如果存在,则跳过。

课堂练习

  • 完成新增部门单接口用例测试:
    • 冒烟用例
    • 参数化实现单接口测试

ERROR

  • 部门名称含有非法字符 ---- 未声明接口对应编码格式导致

    {
    "errcode": 60009,
    "errmsg": "department name include invalid char, hint: [1671089685500610887641103], from ip: , more info at https://open.work.weixin.qq.com/devtool/query?e=60009"
    }
    
  • 请求头添加contentType参数为application/json; charset=utf-8

接口测试框架封装

  • ApiObject 设计模式:
    • 封装。
    • 分层。
    • 把实现和测试用例以及断言进行拆分。

课堂练习

  • 使用 ApiObject 模式完成接口自动化测试框架搭建。