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

目录
相关文章
|
Windows
【Windows 逆向】OD 调试器工具 ( 推荐汉化版的 OD 调试工具 | 吾爱破解专用版Ollydbg | 备选工具 )
【Windows 逆向】OD 调试器工具 ( 推荐汉化版的 OD 调试工具 | 吾爱破解专用版Ollydbg | 备选工具 )
3542 0
【Windows 逆向】OD 调试器工具 ( 推荐汉化版的 OD 调试工具 | 吾爱破解专用版Ollydbg | 备选工具 )
|
3月前
|
Android开发
安卓逆向 -- Fiddler抓包
安卓逆向 -- Fiddler抓包
39 0
|
4月前
|
网络安全 Android开发
2023安卓逆向 -- 抓包环境设置(Charles+Postern)
2023安卓逆向 -- 抓包环境设置(Charles+Postern)
46 0
|
4月前
|
缓存 监控 算法
2023Fiddler抓包学习笔记 -- 环境配置及工具栏介绍
2023Fiddler抓包学习笔记 -- 环境配置及工具栏介绍
23 0
|
6月前
|
移动开发
如何反编译H5界面的源代码(fiddler抓包)
如何反编译H5界面的源代码(fiddler抓包)
98 0
|
7月前
|
Web App开发 SQL 人工智能
抓包工具:charles安装 及 Fiddler 工具 404问题记录
Charles 是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。
|
10月前
|
小程序
fiddler系列之-fiddler对手机测试版本的小程序进行抓包
fiddler对手机测试版本的 http 请求的小程序进行抓包
|
Web App开发 Android开发 iOS开发
Charles浏览器抓包配置
Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容,需要打开系统代理设置。 Ie浏览器和360浏览器,默认使用windows代理,可以直接进行抓包
257 0
Charles浏览器抓包配置
|
网络安全 数据安全/隐私保护
MAC使用Charles,代理后,部分网页无法打开解决方法
关闭charles,重新打开,可正常访问日常网站。访问时,提示:您的连接不是私密连接,多半是因为,MAC系统未安装charles证书导致,解决方法如下: 1. 打开Charles,选择Help->SSL Proxy→Install Charles Root Certificate 2. 在弹出的添加证书窗口中,选择添加,可以看到在钥匙串访问窗口中,该证书已成功添加,但是此时该证书仍然不被信任 3.双击此证书,在弹出的Charles Proxy CA窗口中,点击信任按钮,使用此证书时,选择始终信任后关闭窗口,使用账号和密码授权后,即可看到此证书已经被信任了。。。
4748 0
MAC使用Charles,代理后,部分网页无法打开解决方法
|
Web App开发 Java Linux
charles设置代理调试
Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。
228 0