Skip to content

项目实战

接口测试抓包与 mock

预习准备

  • 提前先预习完以下相关的知识,再开始本章节的学习。
  • 安装 Charles
    • 下载地址
    • 提取码:itxn
    • 具体文件位置:
      • windows:windows -> 接口相关 -> charles
      • mac:mac -> 接口相关 -> chales
专题课 阶段 章节 上课地址
接口测试 L1 接口测试价值与体系 录播地址
接口测试 L1 常见的接口协议
接口测试 L2 抓包工具 charles
接口测试 L2 【实战】App 抓包实战练习
接口测试 L2 【实战】接口测试实战练习
接口测试 L3 弱网测试
接口测试 L3 mock 的价值与意义
接口测试 L3 【实战】mock 实战练习

课程目标

  • 掌握常用抓包工具 Charles。
  • 掌握接口手工 mock 技术。
  • L1 接口协议与接口测试
  • L2 常用抓包工具
  • L3 Mock 工具使用
  • L4 Mock 工具与定制化

知识点总览

点击查看:接口抓包与 mock 知识点梳理.xmind

需求说明

  • 雪球
    • C 端金融类型产品,国内最火的投资者社区之一。
    • 提供咨询获取、数据查询和交易服务等功能。
    • 其主要业务功能为精华帖、行情咨询查看、股票基金交易。
  • 需求:
    • 完成雪球 Web 产品与 App 产品接口抓包分析。
    • 完成雪球 Mock 测试。

实战思路

uml diagram

实战:Charles 工具安装配置

接口抓包需要具备的能力
  • 代理功能:HTTP/HTTPs、SOCKS5。
  • 请求模拟工具:拼装请求、重放请求,重复请求。
  • 网络环境模拟:限速、超时、返回异常。
  • Mock:请求修改、响应修改。
  • Fake:用测试环境替代真实环境。
推荐工具
  • Charles:开发/测试工程师必备。
  • mitmproxy:测试开发工程师必备。
  • ZAP:测试工程师安全测试工具。
  • BurpSuite:黑客必备渗透测试工具。
  • Fiddler:跨平台支持不好,不推荐。
  • Postman:代理功能太弱,不推荐。
Charles 安装配置

实战:Charles 基础使用

实战:Charels 完成 Mock 测试

功能 使用场景
Rewrite 动态修改请求和响应中的数据
适用于全局修改或者修改内容简单的场景
Map Local 对响应体进行复杂修改
Map Remote 修改要访问的服务器地址
App 测试中,可以不用重新打包直接修改测试环境

课后作业

  1. 电脑端抓包
    1. 抓取雪球 Web 端搜索接口数据
    2. 查看接口响应状态码与使用的协议版本
    3. 查看请求参数与 json 格式的响应内容
    4. 快速过滤雪球域名的接口
    5. 进行弱网测试,选择弱网模式为 256 kbps
  2. App 抓包
    1. 抓取雪球 app 自选--行情--A 股--涨幅榜股票列表的接口数据
    2. 查看请求参数与 json 格式的响应内容
    3. 进行弱网测试,选择弱网模式为 256 kbps
  3. mock 测试
    1. 使用雪球 app 自选--行情--A 股--涨幅榜股票列表的接口数据
    2. Rewrite: 1. 把列表中第一个股票名称改为自己的名字。 2. 把列表中第二个股票的代码改为 hogwarts。
    3. Map Local: 1. 把列表中第一个股票名称改为自己的名字。 2. 把列表中第二个股票的代码改为 hogwarts。 3. 把列表中第三支股票的 type 改为 30。

总结

  • Charles 工具安装配置
  • Charels 完成 Mock 测试