十一、Fiddler实现弱网测试、精确控制网速、如何在Fiddler的Session列表添加timeToken列

一、前言:弱网环境带来的问题、测试目的

弱网,即在地铁、隧道、电梯、车库等场景下使用APP,这种软网的情况下,网络会出现延时、中断、超时等情况……所以,在弱网的测试条件下,要测试产品的运行状态、处理机制、提示信息、以及恢复网络后的连接等;比如:在网速很慢的情况下,我们希望看到的是先渲染出用户界面、而不是让用户先看到一片空白。

弱网环境带来的问题:1.操作后,反应慢;2.用户体验差;3.出现bug的可能性会增加

弱网测试的目的:弱网测试的目的是让APP在任何网络下都能表现自如,让开发了解弱网环境下,APP可预见的BUG;进而进行针对性优化;

二、弱网的场景模拟

我们需要模拟出至少3种情况:

1.网络慢或延迟,导致加载时间长;

2.网络中断,Web服务器返回500等状态码;

3.网络超时,HTTP请求发出去后,很久都没有响应;

三、弱网模拟、精确控制网速的方式

1.Rules----》Performance----》Simulate Modem Speeds

这种方式,是最为简单的弱网模拟方式,其限制的强度,就是FiddlerScript中基本的脚本写的那样;

2.既然知道了其根本,就知道可以直接改FiddlerScript这段脚本的数据,使其弱网的强度更大;将延时的数字该大一点,就可以看到效果了……这就是精确控制网速

  if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded.每上传1KB,延时0.3s
            oSession["request-trickle-delay"] = "300"; 
            // Delay receives by 150ms per KB downloaded.每下载1KB数据,延时0.15s
            oSession["response-trickle-delay"] = "150"; 
        }

注意:修改了FiddlerScript这句脚本,保存之后,Rules----》Performance----》Simulate Modem Speeds会去掉勾选;所以你需要再次勾选这个;

四、综述上面弱网的效果(以qq浏览器访问www.baidu.com为例,看一下腾讯大哥在弱网下的提示)

1.在弱网强度该高上传1kb延迟1.2s,下载1kb延时0.55s时,手机上qq浏览器的效果:

2.再来看不同情况下,Fiddler抓包的情况,接口请求的时间

五、如何在Fiddler上Session列表中添加time列

在FiddlerScript中脚本中加上下面的方法,然后保存,然后重新打开Fiddler,即可!

  function BeginRequestTime(oS: Session)
    {
        if (oS.Timers != null)
        {
            return oS.Timers.ClientBeginRequest.ToString();     
        }
        return String.Empty;
    }

    public static BindUIColumn("Time Taken")
    function CalcTimingCol(oS: Session){
        var sResult = String.Empty;
        if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
        {
            sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
        }
        return sResult;
    }  
发布了232 篇原创文章 · 获赞 141 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/ak739105231/article/details/103579615
今日推荐