接口测试 — Fiddler弱网测试

本文介绍如何使用Fiddler、Charles及Chrome内置功能在不同平台上模拟弱网环境,以测试产品在网络不佳条件下的性能。详细解释了如何通过调整上传、下载速度及延迟时间来模拟稳定或不稳定网络,并提供了具体步骤。

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

前言

在开发和测试中或多或少会考虑产品在弱网情况下的表现,针对不同的平台,有不同的弱网模拟方案

弱网模拟:
  • H5直接使用Chrome的弱网模拟功能
  • iOS使用青花瓷(charles
  • Android等,使用Fiddle
使用Fiddler进行弱网模拟
  1. 打开Fiddler, 点击Rules --> Customize Rules;或者直接(Ctr + R)进入限速Code界面
  1. Ctrl+F弹出搜索框,搜索关键字m_SimulateModem,找到如下代码框,设置你想要模拟的网速::
if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded.
            oSession["request-trickle-delay"] = "300"; 
            // Delay receives by 150ms per KB downloaded.
            oSession["response-trickle-delay"] = "150"; 
        }

代码中:
request-trickle-delay代表的是你网络请求的延迟时间;
response-trickle-delay代表的是网络响应的延迟时间

手动设置上行,下行速率,模拟网路速度的原理,没上传/下载1KB要delay多久…

网络取值的算法:1000/下载速度 = 需要delay的时间(毫秒),比如下载50kb/s ,就需要delay200毫秒来接收数据。

上面的方式只是模拟一种稳定的网速,但实际情况中,网速是不稳定的,如果需要模拟这种情况,只需要修改代码如下:

 static function randInt(min, max) {
        return Math.round(Math.random()*(max-min)+min);
    }
    if (m_SimulateModem) {
        // Delay sends by 300ms per KB uploaded.
        oSession["request-trickle-delay"] = ""+randInt(1,2000);
        // Delay receives by 150ms per KB downloaded.
        oSession["response-trickle-delay"] = ""+randInt(1,2000);
    }

当修改好后,Ctr + S 进行保存

  1. 设置完成后,需要手动打开弱网模拟功能,来启用新的设置

Rules – > Performances --> Simulate Modem Speeds

这时候用app进行弱网络条件操作:

选择第一个请求和最后一个请求,可以看到整个页面加载所消耗的时间。通过fiddler的记录能知道每个请求不同部分的请求时间。overall elapsed是整个session的时间。可以看出哪些请求耗时最对,从而对页面的访问进行访问速度优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值