软件测试工具——Charles

Charles是一款强大的HTTP代理服务器,用于抓取和分析HTTP请求和响应。它支持跨平台,提供代理配置、访问控制功能,并能处理HTTPS抓包。用户可以使用Charles进行代理设置,如Windows、MacOS、iOS和Android的代理配置,以及通过安装SSL证书来抓取HTTPS流量。此外,Charles还允许设置断点修改请求和响应,是开发者调试网络请求的得力助手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Charles常用功能

在这里插入图片描述

能做什么

在这里插入图片描述

Charles简介

Charles中文名叫青花瓷,它是一款基于HTTP协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。

特点:跨平台、半免费
优点:↓在这里插入图片描述

Charles下载安装

https://www.charlesproxy.com/(下载过后傻瓜安装)
在这里插入图片描述

Charles组件介绍

在这里插入图片描述

主导航栏

在这里插入图片描述

请求导航栏

在这里插入图片描述

请求/响应内容导航栏

在这里插入图片描述

Charles使用过程

在这里插入图片描述

Charles代理配置

Charles代理配置

(如果8888被占用了要换哈)
在这里插入图片描述

Charles访问控制

在这里插入图片描述

客户端代理配置

Windows代理配置

Charles跟客户端是同一台电脑那一下操作不需要,若不是同一台电脑(Charles安在电脑a,客户端在电脑B,那就需要)
在这里插入图片描述
在这里插入图片描述

MacOS代理配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IOS代理配置

在这里插入图片描述

Android代理配置

在这里插入图片描述

扩展——通过Charles查看本机IP地址

在这里插入图片描述

扩展——Charles进行HTTPS抓包

解决方案:需要安装SSL证书
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扩展——打断点修改请求和响应(工作常用)

参考链接

### Charles 软件测试面试题 #### 断点设置与调试 在进行移动端或Web端的功能测试时,Charles作为一款强大的HTTP代理工具被广泛应用于接口级别的监控和分析。对于依赖于网络请求的应用来说,利用Charles中的断点功能可以在指定位置中断流量传输以便更细致地观察数据交换过程以及服务器响应情况。 当涉及到具体操作时,可以通过右键点击任意一条正在查看的会话记录并选择`Breakpoints...`来开启该条目下的所有后续请求/响应的拦截模式[^2]。此时开发者能够手动编辑这些消息体内的参数值甚至伪造整个返回包以模拟不同场景下客户端的行为表现形式从而验证应用程序处理异常状况的能力。 #### SSL证书安装 由于现代网站普遍采用HTTPS协议加密通信链路,因此要想让Charles正常捕获这类安全连接的数据流,则必须事先在其内部生成一份自签名CA根证书并向目标设备推送信任关系。这一过程中需要注意的是每台待测机器都需要单独完成上述配置步骤才能确保抓取到完整的交互细节而不会遗漏任何重要信息片段[^3]。 另外值得注意的一点在于某些较新的浏览器版本可能默认启用了HSTS(HTTP Strict Transport Security),这使得即使已经正确设置了SSL解密环境也可能无法成功解析部分站点发出的安全警告提示框;针对这种情况建议尝试禁用此特性后再重新发起访问动作直至确认问题得到妥善解决为止。 #### 接口性能评估 除了基本的功能性验证之外,借助Charles还可以很方便地开展API层面的压力测试工作——即通过录制典型业务流程所产生的代表性样本集进而批量回放的方式快速定位潜在瓶颈所在之处并对整体吞吐量作出合理预估。此类实践有助于提前识别出那些可能导致用户体验下降的关键因素继而在正式上线前加以优化改进措施[^4]。 ```python import subprocess def run_charles_performance_test(script_path): """运行基于Charles脚本的性能测试""" try: result = subprocess.run(['charles', '-r', script_path], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) print(result.stdout.decode()) except subprocess.CalledProcessError as e: print(f"执行失败: {e.stderr.decode()}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值