做 网站 技术支持 抓获/朝阳区搜索优化seosem
本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~
这里写目录标题
- 一、Charles 设置断点
- 二、Charles 断点实践
- 2.1 、 寻找一个接口
- 2.2 、 Charles 设置断点
- 2.2.1 、 请求数据打断点-Request
- 2.2.2 、 响应数据打断点-Response
- 2.3 、 拦截一个Post请求
一、Charles 设置断点
路径:Proxy > Breakpoint Setting > 勾选 Enable Breakpoints ,如下图所示:
点击Add ,新增 断点规则 ,如下图所示 :
Scheme : 拦截进行断点的接口方法,选项有 GET 和 POST
Protocol: 协议,选项有HTTP 和 HTTPS
HOST : 域名,或者IP地址
Path : 路径
Query:URL 中 ? 后面拼接的查询参数
Request : 在发送请求的时候打断点,可以修改请求内容,之后再把请求转发送给服务器
Response:在请求响应回来的时候打断点,可以修改响应内容,之后再把响应结果转发给客户端
【敲黑板知识点】
以上字段支持通配符,比如说Path ,填写 /test/api1 ,只支持拦截/test/api1 这一个接口,是全匹配,比如无法匹配 /test/api1/apis ;如果填写/test/* ,就能够匹配以/test/开头的所有接口,比如 /test/api1 、/test/api1/apis
所有的字段都是选填,如同我们常规理解的筛选条件一样,但是为了规则的有效性,Request 和 Response 必须二选一
二、Charles 断点实践
2.1 、 寻找一个接口
本地服务的一个接口:GET 方法 ,计算两个参数 p1 和 p2 的和 ,1+2 = 3
2.2 、 Charles 设置断点
2.2.1 、 请求数据打断点-Request
如上图所示,在发送请求时,进行请求的断点拦截,修改p2 = 6,预期响应结果为 7
如下图所示,拦截到接口,进入 Edit Request 页面,将p2 参数由2调整为6 ,点击Execute 将接口放行转发给服务器。
预期结果和实际结果一致,断点修改成功。
2.2.2 、 响应数据打断点-Response
如上图所示,接到服务器的响应之后,进行断点拦截,将响应结果调整为 5
如下图所示,拦截到接口,进入 Edit Response 页面,选择下方的Text ,将内容由3调整为 5,点击Excute 将接口放行转发给客户端
结果如下图:
Tips: 有一点需要特别强调,这样打断点修改数据的方式特别考验手速,以及每次操作的准确性。如果修改的时间过长,超出了客户端的 超时时间 ,那么本次的请求就会失效,哪怕最后请求响应成功,客户端也不认了,因为晚了。
2.3 、 拦截一个Post请求
如上图所示,post方法 ,计算p1-p2 的值 9-2 =7
断点规则设置如下,如下图所示:
拦截请求,调整请求内容,如下图所示:
响应结果,11-2 = 9
同理可以设置拦截Response,就不再赘述。
文末说明
推荐博文:接口测试经典面试题:Session、cookie、token有什么区别?