-
你测试时是否有需求仅更改返回值的一个字段,其他字段正常按服务器返回?
-
你测试时是否有需求使用指定IP去请求一个域名?
-
你测试时是否有需求增删改请求的数据、返回的数据、状态码?
上面这些需求都可以用Charles Rewite重写功能去实现。
该功能对比本地映射和远程映射,更方便的是,只要修改一次,后面直接开关就直接启用,也可以单独针对某一个值去做修改。
Rewite重写修改请求内容
入口在Charles菜单栏Proxy的Rewrite Settings,界面挺简单的,一个是设置条件的开关、右上匹配所需要修改的链接、右下显示匹配后修改的内容,如下:
例子:进入到匹配页面,输入你想要对其修改的链接,我这里是匹配了百度的搜索链接,并没有输入请求参数,因为这里是全字符匹配,输入了不正确的请求参数,是不会匹配成功的,很多接口请求时都会带上 时间戳 这个字段,每一次请求的值都不一样,也就不好匹配了。
这里我想修改请求百度搜索“搜索内容”时,每次都搜索指定内容“123456”。
首先查看原链接原本的传值时如何的,在百度上搜索了“搜索内容”可以看到,接口上有两个地方都传了“搜索内容”文本,我只要把这个“搜索内容”改成“123456”即可。
知道了所需要修改的内容,点击add按钮添加进入到Rewrite Rule界面上,选择修改类型“Modify Query Param”选项,然后匹配接口传递的Key值和Value值做匹配。下方选择匹配成功后所要修改内容。
设置好以上配置后,我不管在baidu.com域名上输入“搜索内容”时,Charles都会把搜索的内容替换成”123456“,下图所有请求信息里这里也可以看到这条百度的搜索请求链接,我已经修改成功了。
相对应的,修改返回值、状态码、添加请求头等也一样的操作,只不过匹配时要选择对应的匹配类型即可,支持的内容如下:
总个结,Rewite重写就是匹配你所需要修改的链接,改成你所要的内容。
最后:下方这份完整的软件测试视·频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。