• Charles 抓包工具教程(三) Charles模拟弱网环境


    本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~

    霍格沃茨启发

    接口测试必会-charles抓包神器

    弱网测试的关注点

    • APP反应慢的时候是否有友好的提示信息
    • APP弱网情况下,提交数据不会产生重复数据
    • APP 不会出现Crash、ANR 的情况

    一、Charles 设置弱网环境

    弱网环境的测试就是测试系统或者应用的健壮性
    路径:Proxy > Throttle Settings > 勾选 Enable Throttling 如下图所示:
    在这里插入图片描述

    • Only for selected hosts :表示仅选择的域名做弱网限制,如上图所示,只限制localhost:9999域名的请求,其他的请求不做限制;若不勾选,那么对所有的请求都进行限制;

    • Throttle preset :可以选择要模拟的网速,是Charles预设的网络设置 ,下拉选项由上到下,网速越来越好。

    • Bandwidth —— 带宽,即上行、下行数据传输速度

    • utilisation —— 利用率是总带宽的百分比,

    • round-trip latency ——请求往返延迟,单位是ms。往返延迟测量客户端和远程服务器之间第一次往返通信的毫秒延迟。它用于客户端向服务器 和 服务器向客户端的每一次请求 。

    • MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。

    • Releability —— 指连接的可靠性,常说的丢包。
      可靠性是衡量连接完全失败的可能性。这是非常有用的模拟不可靠的网络条件。
      可靠性是指定为成功发射10kib消息的可能性。如何值为50%,意味着所有10kib传输一半会成功。较大的邮件或更小的消息或多或少都有可能失败,所以20kib传输将只有25%(1/2 * 1/2)的成功率和5kib传输成功率约70% (0.5开平方)。

    • Stability —— 连接稳定性常说的网络抖动。
      稳定性是衡量一个连接的可能性是不稳定的,因此降低了质量。
      这是非常有用的模拟网络,如移动网络,定期连接质量差。如果连接不稳定,则连接的质量会在不稳定的质量范围内随机下降。此质量值,然后应用作为另一个缩放因子的可用带宽。

    • unstable quality range(不稳定质量范围)
      此处设置主要针对于Stability中设置中的范围

    很深奥的内容,不明觉厉,数值的设定可以参照这篇博客:使用Charles进行弱网测试

    二、自定义网络预设

    设置好各项数值,点击 Add Preset ,填写 Preset 的名称,点击OK ,即可保存成功,之后就可以在Throttle preset 的下拉选项中找到自定义的网络设置,如下图所示:
    在这里插入图片描述

    可以将自己常用的网络设置进行自定义保存,不用每次都重新设置。

    三、实践

    • 未开启弱环境模拟一个请求,查看响应时间,如下图所示,响应时间为100ms:
    • 开启弱网环境-设置56kbps Modem 网络环境,查看响应时间,如下图所示,响应时间为1.76s,接口明显慢了很多:

    文末说明
    推荐博文:接口测试经典面试题:Session、cookie、token有什么区别?

  • 相关阅读:
    一分钟教会你使用Docker Desktop搭建RocketMQ--巨简单
    [附源码]Python计算机毕业设计Django时间管理软件app
    【BOOST C++指针专题06】Boost.ScopeExit
    IOS企业IPA软件证书 苹果签名证书 有效期到2026年
    瑞芯微RV1109 SDK定制与调试总结笔记
    想尝试自媒体,一个月了都没想好怎么起步?
    通过安装GVM 安装GO 操作步骤
    一阶微分形式不变性习题
    基于springboot的体育馆预约系统(前端+后端)
    第六章:Property-based Testing and Test Oracles
  • 原文地址:https://blog.csdn.net/qq_15283475/article/details/127760790