Charles断点

简介: 断点测试可以通过查看接口返回数据可以方便定位是前端还是后端的问题,同时通过更改request和response数据可以很方便构造测试数据。简而言之,断点测试可以通过修改接口数据更快的定位问题。

 

1、断点测试的含义

1.1、断点(英语:Breakpoint)是程序中为了调试而故意停止或者暂停的地方。

调试设置断点:可以让程序运行到该行程序时停住,借此观察程序到断点位置时,其变量、寄存器、I/O等相关的变量内容,有助于深入了解程序运作的机制,发现、排除程序错误的根源。

1.2、断点测试:

在程序的某一行或者某一环节设置断点,在程序请求的过程中,修改断点处的参数、请求或者响应,借此定位问题,这类断点测试主要用于接口测试

2、断点测试的意义

断点测试可以通过查看接口返回数据可以方便定位是前端还是后端的问题,同时通过更改request和response数据可以很方便构造测试数据。简而言之,断点测试可以通过修改接口数据更快的定位问题

2.1、断点测试场景

1. 想修改 request 或者 response, 这种情况需要接口的超时时间比较长,否则没等你操作完就已经接口超时了,那就 gg 了

2. 想测试接口的超时时间,或者测试接口在超时的情况下前端的样式变化,比如有时网络超时比较难模拟,可以通过「一直停在 request 等待不执行」这种方式来模拟这种情况

3、通过Charles抓包工具进行断点测试

备注:要进行断点,必须要在抓包的情况下,抓取移动端或者pc端都是可以的

3.1、要对一个接口做断点测试,首先设置这个接口的断点信息,如下所示:

3.1.1、首先点击charles顶部的【Proxy】—>【Breakpoint Settings...】,如下:

网络异常,图片无法展示
|
image.gif

3.1.2、设置需要断点的接口信息,host可填写域名,path填写具体的接口地址,以下几个步骤完成之后,点击最底下的【OK】即可;

网络异常,图片无法展示
|
image.gif

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 必须二选一

3.1.3、选中想要打断点的接口,右键勾选:Breakpoints。作用与3.1.1和3.1.2这两个步骤的相同

3.2、request断点-转发服务端:完成上述步骤之后,对一个接口的request进行断点测试

3.2.1、请求这个接口,请求之后,Charles页面如下:

网络异常,图片无法展示
|
image.gif

3.2.2、修改请求的数据,如下:

网络异常,图片无法展示
|
image.gif

3.2.3、查看响应结果,如下所示:

网络异常,图片无法展示
|
image.gif

结论:修改请求参数,会影响接口的返回结果,达到了测试接口的效果。

3.3、response断点-转发客户端:完成设置接口断点之后,对一个接口的response断点测试

3.3.1、请求这个接口之后,查看Charles页面如下:

网络异常,图片无法展示
|
image.gif

3.3.1 修改之后点击页面底部的【Execute】按钮,之后就可以在响应结果中查到自己修改的那个结果啦~

Tips:超出了客户端的 超时时间 ,那么本次的请求就会失效

有一点需要特别强调,这样打断点修改数据的方式特别考验手速,以及每次操作的准确性。如果修改的时间过长,超出了客户端的 超时时间 ,那么本次的请求就会失效,哪怕最后请求响应成功,客户端也不认了,因为晚了

3.4.关闭断点

修改好参数后,点击Execute (执行)。 另外 Abort (中止), Cancel (取消)当次

网络异常,图片无法展示
|

image.gif

目录
相关文章
|
人工智能 物联网 机器人
『GitHub项目圈选17』推荐5款本周 火火火 的AI开源项目
『GitHub项目圈选17』推荐5款本周 火火火 的AI开源项目
2016 1
|
Web App开发 JSON 网络安全
Charles配置代理以及简单使用
Charles配置代理以及简单使用
676 0
|
7月前
|
IDE 开发工具 开发者
手把手教你安装PyCharm 2025:开发者的Python IDE配置全流程+避坑指南
本教程详细介绍了PyCharm 2025版本在Windows系统下的安装流程及配置方法,涵盖AI代码补全与智能调试工具链等新功能。内容包括系统要求、安装步骤、首次运行配置(如主题选择与插件安装)、创建首个Python项目,以及常见问题解决方法。此外,还提供了切换中文界面和延伸学习资源的指导,帮助用户快速上手并高效使用PyCharm进行开发。
3716 61
|
人工智能 安全 Linux
云+AI时代下,Alibaba Cloud Linux 进一步演进思考
用好开源、做深开源、自研创新,打造全方位安全可信的服务器操作系统。
|
10月前
|
人工智能 自然语言处理 算法
通义智文:文档应用赋能千行百业
通义智文是阿里巴巴推出的大规模文档处理技术体系,旨在提升生产力效率。最初作为阅读工具发布,现已发展为涵盖文档解析、理解、生成等多方面的技术平台。通义智文支持超长文档处理、多模态文本解析,并在法律、教育等领域提供专业服务。其创新算法如VGT版面分析和Layout-LM多模态模型,显著提升了文档处理精度。应用场景包括PPT创作、故事绘本生成及法律文书审查等,赋能千行百业。
|
缓存 安全 程序员
易语言在跨平台开发中有哪些常见的技术挑战和解决方案
易语言在跨平台开发中有哪些常见的技术挑战和解决方案
291 1
|
Web App开发 机器学习/深度学习 人工智能
详细解读AI测试之Applitools入门教程
详细解读AI测试之Applitools入门教程
750 0
|
移动开发 JavaScript 数据可视化
软件测试中的移动端的埋点测试(干货)
软件测试中的移动端的埋点测试(干货)
3619 1
 软件测试中的移动端的埋点测试(干货)
抓包神器Charles:解析网络数据传输的秘密
Charles是一款跨平台代理工具,支持SSL代理、流量控制和网络请求截取修改,适用于Mac、Windows和Linux。它提供自动格式化的JSON或XML数据查看,便于调试。安装可从官方网站或学社下载。软件界面包含菜单栏(File、Edit、View、Proxy、Tools)和主导航栏(Structure、Sequence)。左侧视图按域名或时间排序请求,右侧显示请求详情,如Overview、Content、Summary、Chart和Notes,方便分析和记录接口信息。
|
测试技术
需求不明确的情况下,测试该如何处理?
需求不明确的情况下,测试该如何处理?
443 0

热门文章

最新文章