测试Charles的map,rewrite,breakpoints的使用方法

不飞则已,一飞冲天;不鸣则已,一鸣惊人。这篇文章主要讲述测试Charles的map,rewrite,breakpoints的使用方法相关的知识,希望能为你提供帮助。
charles的map映射Map映射包含两种一种是 Map Remote,另一种是 Map Local

Map Remote功能:将请求的域名重定向到另一个远程URL
Map Local功能:将请求的响应结果重定向到本地文件中

设置路径:Tools -> Map Local/Remote
适用场景:Map适合长期的将某些请求重定向到另一个网络地址或将响应的结果重定向到读取本地文件
Map Remote使用方法
map from 填写源地址,端口号,路径,以及请求参数
map to 填写目标地址,端口号,路径,以及请求参数
注意map to 公司内网的测试环境,可能不能进行dns解析,所以需要填写ip地址+端口,不能直接填写域名

注意preserve host in header fields这一项,可以保持map remote后的请求头不改变,仍然使用原来的请求头。可以和rewrite功能配合使用,例如:map remote生效后(原先请求tieba.baidu.com 打到10.xx.xx.xx:8085),再使用rewrite修改请求头(匹配请求头中的host字段,需求是匹配到tieba.baidu.com rewrite成tieba.xxx.baidu.com),这时候必须勾选preserve host in header fields这一项,不然host字段就会改成map remote之后的host 10.xx.xx.xx:8085,不然命中rewrite的规则
Map Local的使用方法先进入map local的设置页面,点击add

map local 的设置页面,同样需要设置protocol协议,域名(ip),端口号,请求路径,请求参数。map local 由于是一个url对应一个返回结果,所以请求参数需要完整填写

map to的本地json文件,可以通过以下方式进行获取,右键要map local的url地址,点击save response结果。通常是json文件,修改该json文件的某些字段的值,即可实现本地mock数据的效果。

rewrite的使用方法Rewrite可以:
修改请求头(Add/Modify/Remove Header)
修改Host/Path/URL
修改请求参数(Add/Modify/Remove Query-Parameter)
修改响应状态(Response Status)
修改Body
【测试Charles的map,rewrite,breakpoints的使用方法】Rewrite设置路径: Tools -> Rewrite
适用场景:支持临时性修改请求头或者返回结果当中的某个字段


替换,支持正则表达式

rewrite功能详细教程
??? https://www.testwo.com/blog/8495??
breakpoints的使用方法待补充
?
charles抓包问题及解决汇总Charles https显示为抓包显示unknown
??https://www.jianshu.com/p/4635aa405568??



    推荐阅读