软件测试 | 常见代理工具
1.代理工具简介
各种功能强大的代理工具在接口测试中发挥着作用,如 Charles、Burpsuite、Mitmproxy 等。这些代理工具可以帮助我们构造各种测试场景,以便我们更好地完成测试工作。下面的介绍以 Charles 为主。
2.Charles
Charles 是一款代理服务器工具,用它可以截取请求和响应以达到抓包的目的,它支持多平台,能够在 Windows、Mac、Linux 上运行。
(1)Charles 的界面和基本设置
Charles 界面的上边是菜单栏,界面左边记录了访问过的每个网站/主机,右侧显示网站/主机。图 6-10 所示是 Charles 的主界面。
(2)session 菜单项
Charles 可以存储各种网络请求信息,所有的请求和响应都会记录到 session 中,利用 session 可以对目标接口进行检查和分析。打开主菜单栏“File”项,“File"项中列出了用于管理 session 的子菜单项,包括新建、打开、清空等。图 6-11 所示是管理 session 的子菜单项。
注:每次启动 Charles 时,都会自动创建一个新的 session。
浏览器或者客户端对 Charles 发送请求,如果是 Charles 请求到目标接口后,也可以关闭记录。关闭记录的好处是,Charles 发送请求可以获取到对应接口的 session。Charles 还支持将获取 session 信息进行保存,在需要的时候可以将 session 作为 Charles 的日志提供给其他需要的人进行查看。点击图 6-12 中箭头所指的图标按钮可关闭记录。
(3)Chart 选项卡
图 6-13 中的 Chart 选项卡记录了资源的声明周期,声明周期包括从请求到等待延迟再到响应请求。Chart 还将相关资源分组,图 6-13 所示的 4 个 Rosource(资源)是一组。
我们利用 Chart 可以知道请求花费的时间。
(4)SSL
SSL 证书是一种数字证书,用于验证网站的身份并启用加密连接,SSL 代表安全套接字层,这是一种在 Web 服务器和 Web 浏览器之间创建加密连接的安全协议。
Charles 有自己的证书,称之为 Charles Root Certificate,我们用 Charles 抓取数据时,可能收到有关证书的警告,这时需要处理证书警告。在 Charles 中设置 SSL,启动 Charles-Proxy-SSL Proxying Settings,具体设置如图 6-14 所示。
Charles 是中间工具,替浏览器查看服务器的证书并签名,但同时会把自己的证书发给浏览器,因此可能会出现警告,这时需要将证书添加到新人序列才能正常使用 Charles,图 6-15 所示是 Charles 的工作图。
(5)弱网测试
软件运行的流畅度通常会受网络影响,网络差的时候会出现系统运行卡顿甚至出错的情况。Charles 自带弱网检测功能,可以模拟弱网环境,在 Charles 界面上依次选择“Proxy” → “Throttle Settings”项,在弹出的“Throttle Settings” 窗口中勾选“Enable Throttling”复选框。
如果想指定网站,如图 6-16 所示,可以勾选“Only for selected hosts” 项,然后再对话框的下半部分设置 hosts 项。
具体设置的项如下。
1)Throttle preset: 选择网络类型。
2)Bandwidth:带宽。
3)Utilisation:利用百分比。
4)Round-trip latency(ms):往返延迟。
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核
评论