接口 mock 实战(一)

标题

雪球app抓包与mock实战

课程价值

  • 掌握 mock 使用场景,基本 mock 原理
  • 掌握 ssl 通信原理
  • 掌握协议区别和联系(http,https,socket, websocket,tcp ,串口, visa 等)
  • 掌握 charles 抓取 https 协议
  • 熟练使用工具:charles 反向代理
  • 使用工具实现:maplocal

大纲

  • mock 使用场景
  • 基本 mock 原理
  • ssl 通信原理
  • 协议区别和联系(http,https,socket, websocket,tcp ,串口, visa 等)

内容

mock 场景

为什么要用 mock

测试对象:数据(AT^BSN 或 1000601)

如果没有 mock ,需要人为打开装备生成的 log ,把 log 与电子流进行对比(1v1),如果不一致,测试失败(需要跟开发确认指令顺序是否正确)- 重复与繁琐,不仅了解 log ,还需要与开发进行大量沟通。

mock 是什么

怎么用 mock

  1. 理解传输协议

  1. 根据协议选择工具
  • 应用层 charls , mitmproxy :http,https (网络数据传输:打开网页), websocket(通信:微信聊天)
  • socket mitmproxy pysocket:粘贴剂(不属于层,是一个把理论变为现实的工具,让人们去调用)
  • 传输层 mitmproxy :tcp(可靠传输),udp(不可靠)
  • 传输层之下:不要测

应用

反向代理

打开 charles 的 Proxy , 点击 reverse prxies

image

image

当访问:https://127.0.0.1:8081/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=霍格沃兹测试学院

charles 会反向代理到 baidu ,搜索霍格沃兹测试学院

业务场景: 可以编写测试服务( flask ),服务根据不同响应,返回不同数据。实现对采用 https 协议的应用测试。

maplocal

搜索雪球中股票名字

image

右键请求,选择 maplocal ,选择本地文件(或者打开 tools , 点击 maplocal)

image

image

时长

90 分钟