软件测试学习笔记丨Charles基础使用

228 阅读6分钟

本文转自测试人社区,原文链接:ceshiren.com/t/topic/321…

一、Charles

1.1 简介

  • Charles是一款跨平台的代理工具。Mac、Window、Linux都可以使用。
  • Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络请求都通过它来完成,从而实现了网络数据包的截取和分析。

1.2 主要功能

  • 支持SSL代理,也称为HTTPS代理,是一种通过SSL协议来处理客户端与目标服务器之间的数据传输的代理服务器;
  • 支持流量控制,是一种网络管理技术,用于优化网络性能、保证服务质量,并防止网络堵塞;
  • 支持重发网络请求,方便后端调试;
  • 支持修改网络请求参数;
  • 支持网络请求的截获,并动态修改;
  • 支持自动将json或xml数据格式化,方便查看。

1.3 基本使用

1.3.1 安装

1.3.2 界面介绍

  • 菜单栏:

  • File:session相关操作。
  • Edit:基础复制粘贴之类的操作。
  • View:选择要查看的界面。
  • Proxy:
    • 抓包:recording
    • 抓 https 包:ssl proxying
    • 网络限速:throttling
    • 断点:breakpoint
    • 系统代理功能:macOS/Windows
  • tools
    • map remote:请求转发,修改相应;
    • map local:请求映射至本地数据;
    • rewrite:重写修改请求与相应。
  • 主导航栏:

  • 左侧:

Structure:视图将网络请求按访问的域名分类。

Sequence:视图将网络请求按访问的时间排序。

  • 右侧:展示某一接口的请求内容,可以切换导航栏查看请求的各种详细情况。

  • Overview:会展示该请求的一个大体情况,如请求头、请求响应结束时间、请求开始时间,以及用户的notes等。
  • Content:如上图所示,该请求的具体内容和服务器的响应内容(配合下面的导航栏查看具体内容header,cookies,选择呈现方式form,raw)。
  • Summary:也是展示一个该请求的大体资源分布情况。例如:服务响应时间、host是什么等等。
  • Chart:以表格形式告诉我们一个响应时间的分布情况。
  • Notes:可以对请求记录一些笔记,方便后续查看用途。

1.3.2 证书配置

1. 基础设置

2. 证书安装
(1)电脑证书配置

(2)Mac系统安装证书

  • HelpSSL ProxyingInstall Charles Root Certificate
  • 进入钥匙串;
  • 信任证书(注意:选择始终信任)。
    (3)Windows系统安装证书
  • HelpSSL ProxyingInstall Charles Root Certificate
  • 进入证书导入向导,点击安装证书;
  • 选择本地计算机,点击下一步按钮;

  • 将所有的证书都放入下列存储,点击浏览按钮;
  • 点击受信任的根证书颁发机构,点击确定按钮;

  • 一直点击下一步;
  • 出现安全警告时点击是;
  • 显示导入成功。

3. Charles端设置SSL
ProxySSL Proxying Settings

4. 移动端代理配置(真机)

  • 设备和电脑处于同一 WIFI(模拟器不需要配置);
  • 进入 ProxyProxy Setting,勾选 Enalbe transparent HTTP proxying(可以抓取移动设备的数据包);

  • 查看代理 IP 地址与端口;

5. 移动端代理配置(MuMu模拟器)

  • 进入 mumu 的网络设置:

    • 设置网络
    • 长按 连接的网络弹出窗口;
    • 修改网络 在这里插入图片描述
  • 设置好之后,在上方更多中选择保存:

    • 安装证书:chls.pro/ssl
      • 在系统浏览器中输入这个网址,就可以自动下载 charles 证书,然后点击下载好的证书就可以直接安装了。
    • 允许远程代理。
  • 在 charles 中出现的弹窗中,点击 allow,这样 charles 代理就设置成功了。

6. iOS系统配置代理

  • 进入设置,配置代理:
    • 设置网络配置代理手动
    • 服务器:电脑 IP;
    • 端口:Charles 监听端口(默认 8888)。
  • 下载证书:chls.pro/ssl
    • 在系统浏览器中输入这个网址,就可以自动下载 charles 证书。

  • 安装证书:
    • 通用VPN 与设备管理选择 Charles Proxy CA点击安装

  • 信任证书:
    • 通用关于本机证书信任设置打开 Charles Proxy CA 开关

  • 允许远程代理:
    • 在 charles 中出现的弹窗中,点击 allow,这样 charles 代理就设置成功了。

7. 注意事项

  • Android 6 以上的系统 app 默认不信任抓包证书;
    • 需要开发修改代码;
    • 大部分测试 app 安装包默认打开状态;
  • iPhone 10 系统以上需要在 设置通用关于本机证书信任设置 中打开信任开关。

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)