charles代理工具支持分析http/https协议,其中https包需要安装SSL证书。charles可用于mock测试,拦截请求与响应,支持对请求和响应进行动态修改,还可用于模拟慢速网络。本文介绍charles 的mock测试方法。

环境准备

  1. 首先需要安装Charles 的 CA 证书,安装方法参考​​charles SSL证书安装​​。
  2. 手机(或者模拟器)配置charles代理
  3. 手机安装雪球APP
  4. 确认charles可以抓取雪球APPhttps报文

接口测试代理工具charles mock测试_数据

Rewrite

要求:修改招商银行名称及股票价格

接口测试代理工具charles mock测试_数据_02

  1. 选择【Tools】> 【Rewrite】

接口测试代理工具charles mock测试_Charles_03

  1. 勾选【Enable Rewrite】,添加一条规则雪球xueqiu,Location配置为所有报文

接口测试代理工具charles mock测试_数据_04

  1. 添加重写规则:“招商银行”改为“招商银行test",股票价格改为”50“,添加完成后点击确认

接口测试代理工具charles mock测试_ssl证书_05

  1. 刷新雪球APP行情页面,发现重写成功

接口测试代理工具charles mock测试_Charles_06

Map Local

要求:

  • 修改股票名 “招商银行” 为 “招商银行test"
  • 数据倍增

步骤:

  1. 选择【Tools】> 【Mirror】保存数据

接口测试代理工具charles mock测试_ssl证书_07 接口测试代理工具charles mock测试_Charles_08

或者直接保存响应数据 接口测试代理工具charles mock测试_Charles_09

  1. 修改文件股票名 “招商银行” 为 “招商银行test"
  2. jq命令数据倍增

stockdata=$(cat stock.json)
stockdata=$(echo $stockdata | jq '.data.items+=.data.items' | jq '.data.items_size+=.data.items_size')
echo $stockdata > stock2.jso
  1. 设置maplocal

选择刷新股票信息的报文,右键 > 选择Map Local 接口测试代理工具charles mock测试_接口测试_10

配置参数,导入生成的文件stock2.json

接口测试代理工具charles mock测试_json_11

  1. 刷新雪球APP行情页面

接口测试代理工具charles mock测试_json_12

欢迎关注公众号:「测试开发小记」及时接收最新技术文章!