实际测试工作中少不了重定向,面对特定场景,特定数据,需要自己手动修改request或response的数据,而在这个时候,就会用到Mock来模拟被调用的api,可以使我们构造一个稳定运行的测试环境。
charles提供了四种Mock方式:
- Map Remote:将请求的域名重定向的到一个网络地址
- Map Local: 将请求的返回重定向到本地
- Rewrite:请求重写
- Breakpoints:将请求打断点
1、Map Remote
选择【Tools】-【Map Remote】
这种方法需要自己填写被重定向的请求,所以我一般用下面另一种,在一个请求上直接右键选择【Map Remote】,只需要填写重定向的域名即可
图中红色框的部分是自己需要填的重定向的网络地址 ,然后点击【OK】,再次重新请求即可看到自己原来请求返回的是自己重定向的内容。
2、Map Local
第一步、将想要自定义返回值的请求,右键单击,【Save Response】到本地计算机,可以存储为.txt文件,方便后续修改。
修改保存的txt文件,如果测试对应的需求,可找对应开发找具体的response
第二步选择【Tools】-【Map Local】
在【local path】里选择刚刚修改过的TXT文件,点击【OK】
也可以右键选择【Map Local】
这样再次请求对应接口的时候,就可以返回自己设置的返回内容拉
3、Rewrite重写
适合对网络请求进行一些正则替换
【Tools】-【Rewrite】
填写要重写的Host,点击【OK】
点击最下方的【Add】,可对重写进行设置,【Type】,选择重写的类型,可选择url/body等。
Request:重写到请求
Response:重写到响应
设置完成后重新请求即可。
4、Breakpoints断点
适合临时对请求响应的修改
选择【Proxy】--【Breakpoints Settings】打开断点设置
上图是开启断点的两种方式
开启断点后,对请求【右键单击】选择【Breakpoints】来打断点
设置完成后,再次请求,会发现进入该请求断点会话界面,【Edit Request】这里可以修改数据,然后点击【Execute】执行