2022最新版🚀Fiddler抓包教程(7) 你必须明白在项目中
作者:极客小俊
公众号同名: 一个把逻辑思维转变为代码的技术博主
Fiddler 弱网测试
什么是弱网?
弱网
在Fiddler
中就是设置网络限速
简单理解也就是在网络不好 或者 网络环境复杂、使用场景多变异常、网络抖动、延时、丢包的环境下进行检查的一种方式 就叫弱网测试
举个例子
一款适配于低资源环境的医疗it系统项目
来说,而它的使用场景主要是在一些2G网络环境下,3G网都很少,并且稳定性也是比较差。因此这款网站应用
或app应用
要想完成交付,就一定要在弱网状态甚至在没有网络状态下运行, 看看是不是能够正常交付!
所以我们要模拟一个弱网环境
进行测试 通过Fiddler
软件方式利用模拟网络参数来配置弱网环境,就可以达到对带宽、丢包、延时
等进行模拟弱网环境
目的
在windows
环境下我们通常可以使用fiddler
和network emulator for windows toolkit
来模拟
在mac
环境下则可以使用Charles
和Xcode
自带的开发环境网络异常模拟工具进行测试
Timeline 请求响应时间
在左侧的会话列表
窗口选择一个或多个会话,再切换到Timeline选项卡
中 便会显示指定的资源从服务端
传输到客户端
的响应时间!
如图
从上图来看 似乎都属于正常的网络延迟范围之内吧!
那么我们现在就利用Fiddler
这个软件来设置一下网络延迟
,让网络限速
方法也很简单从Fiddler
的菜单栏上选择Rules---->Performance--->Simulate Modem Speeds(模拟调制解调器速度)
就可以了!
如图
当我们勾选了Simulate Modem Speeds(模拟调制解调器速度)
之后你在测试一下请求某个网页看看响应时间就知道了!
如图
看到了吧 很明显某些资源请求的时长增加了!
Fiddler 脚本限速
那么到底Fiddler
给我们限制了多少网速呢 ?
其实我们可以通过脚本
去查看和设置,在Fiddler
菜单栏选择Rules--->Customize Rules(自定义规则)
打开Fiddler ScriptEditor
编辑器,然后按下Ctrl+ F
来搜索关键字Simulate
(模拟的意思) 找到if
判断的m_SimulateModem变量
如图
以上的代码中写明了注释:
Delay sends by 300ms per KB uploaded
意思是每上传1KB延迟发送 要花费300毫秒
Delay receives by 150ms per KB downloaded
意思是延迟每下载1KB接收要花费150毫秒
要知道这里的单位是毫秒
而1秒=1000毫秒
那么知道了这个之后,我们就可以手动的来设置网络延迟了!
如图
也就是说我现在发一个请求上传也要1.3秒
,并且每一个资源的下载时间也要1.5秒
设置之后保存即可! 就可以再去Timeline
中查看一下请求会话的响应时间了!
注意:
Simulate Modem Speeds(模拟调制解调器速度)
依旧要为勾选状态!
如图
是不是比刚才很卡了呢!🙂🙂🙂🙂🙂🙂
小结
总之弱网测试
的目的就是尽可能保证用户体验
, 也就是说我们的项目或页面的数据响应时间是否可以被用户所接受, 常见的一些关注点包含如下:
- 热启动和冷启动时间、页面切换、前后台切换、首字时间,首屏时间等。
- 页面呈现是否完成一致。
- 超时是否符合定义,异常信息是否显示正常。
- 是否有超时重连。
- 安全角度:是否会发生dns劫持、登陆ip更换频繁、单点登陆异常等。
- 大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。
- 是否会有页面的crash以及显示的错乱、session是否一致、请求堆积处理等
- 登录、单局、支付等 不能有导致项目无法正常进行UI显示、交互问题
- 不能有损害用户利益 或者 可被用户额外获利的问题
- 需要有合理的断线重连机制,避免每次重连都返回到登录界面等等..
补充扩展
当然这里要多说一句 软件模拟弱网
方式是由一定的弊端的,因为不是非常接近弱网络环境,想要更接近弱网环境,例如大多数专业项目的测试2G/3G/4G、高延时、高丢包、响应时间、页面呈现&超时文案&超时重连、安全及大流量风险、无网多状态切换
等会更倾向于通过硬件方式
来协助测试,但这种方式又会变得很麻烦,都是通过树莓派
但是软件方式的成本低且实施起来容易操作而已!
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏”
一键三连哦!
如果以上内容有任何错误或者不准确的地方,🤝🤝欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习❤️❤️❤️❤️❤️