为什么要写 Charles
最近又重返测试岗位,作为一名测试工作人员,掌握好代理工具,分析 bug 产生的原因,是一项必不可少的技能
需要掌握的代理工具有哪些
或者说那些代理工具值得掌握
- Charles Fildder 二选一(因为习惯用 mac, 更倾向于 Charles)
- Mitmproxy(这个我觉得是更好的选项,code first, 灵活性更强)
Charles 常用功能
流量过滤
过滤自己能看到的包有两种选项
- Proxy -> recording settings -> include/exclude
- 左下角填写过滤表达式(我一般都按照域名过滤)
并发测试
其实不算是什么并发,就是 repeat 请求,advanced repeat 可以指定并发数
在少量的批量接口调用时可以方便使用,会默认新建一个 seesion
断点
breaking points
可以对请求和响应进行截断并修改,最近在支付测试的时候用的多
对符合breaking points
规则的每一个请求/响应都会进行截断
如果是需要每次都修改响应,可以使用map local
更为方便
compose
compose 可以生成一个新的请求,代替 postman 接口测试?
重定向
map local
(本地重定向,可以先save response
到本地,再把接口请求重定向到保存的响应去)map remote
(重定向到远程服务器, 客户端进行后端服务器替换,替换为mock
服务器)
感觉这两个功能如果想要更高的灵活性,可以使用mitmproxy
节流器
可以进行网弱测试,没怎么用过(devTools 也有相应功能)
端口转发
没用过,不做评价