Charles

2022最新版🚀Fiddler抓包教程(7) 你必须明白在项目中

2022-05-12  本文已影响0人  极客小俊

作者:极客小俊
公众号同名: 一个把逻辑思维转变为代码的技术博主

Fiddler 弱网测试

什么是弱网?

弱网Fiddler中就是设置网络限速 简单理解也就是在网络不好 或者 网络环境复杂、使用场景多变异常、网络抖动、延时、丢包的环境下进行检查的一种方式 就叫弱网测试

举个例子

一款适配于低资源环境的医疗it系统项目来说,而它的使用场景主要是在一些2G网络环境下,3G网都很少,并且稳定性也是比较差。因此这款网站应用app应用要想完成交付,就一定要在弱网状态甚至在没有网络状态下运行, 看看是不是能够正常交付!

所以我们要模拟一个弱网环境进行测试 通过Fiddler软件方式利用模拟网络参数来配置弱网环境,就可以达到对带宽、丢包、延时等进行模拟弱网环境目的

windows环境下我们通常可以使用fiddlernetwork emulator for windows toolkit来模拟

mac环境下则可以使用CharlesXcode自带的开发环境网络异常模拟工具进行测试

Timeline 请求响应时间

在左侧的会话列表窗口选择一个或多个会话,再切换到Timeline选项卡中 便会显示指定的资源从服务端传输到客户端的响应时间!

如图

Timeline_1.png

从上图来看 似乎都属于正常的网络延迟范围之内吧!

那么我们现在就利用Fiddler这个软件来设置一下网络延迟,让网络限速

方法也很简单从Fiddler的菜单栏上选择Rules---->Performance--->Simulate Modem Speeds(模拟调制解调器速度)就可以了!

如图

Timeline_2.png

当我们勾选了Simulate Modem Speeds(模拟调制解调器速度) 之后你在测试一下请求某个网页看看响应时间就知道了!

如图

Timeline_3.png

看到了吧 很明显某些资源请求的时长增加了!

Fiddler 脚本限速

那么到底Fiddler给我们限制了多少网速呢 ?

其实我们可以通过脚本去查看和设置,在Fiddler菜单栏选择Rules--->Customize Rules(自定义规则)

Timeline_4.png

打开Fiddler ScriptEditor编辑器,然后按下Ctrl+ F来搜索关键字Simulate(模拟的意思) 找到if判断的m_SimulateModem变量

如图

Timeline_5.png

以上的代码中写明了注释:

Delay sends by 300ms per KB uploaded意思是每上传1KB延迟发送 要花费300毫秒

Delay receives by 150ms per KB downloaded意思是延迟每下载1KB接收要花费150毫秒

要知道这里的单位是毫秒1秒=1000毫秒 那么知道了这个之后,我们就可以手动的来设置网络延迟了!

如图

Timeline_6.png

也就是说我现在发一个请求上传也要1.3秒,并且每一个资源的下载时间也要1.5秒

设置之后保存即可! 就可以再去Timeline中查看一下请求会话的响应时间了!

注意: Simulate Modem Speeds(模拟调制解调器速度) 依旧要为勾选状态!

如图

Timeline_7.png

是不是比刚才很卡了呢!🙂🙂🙂🙂🙂🙂

小结

总之弱网测试的目的就是尽可能保证用户体验, 也就是说我们的项目或页面的数据响应时间是否可以被用户所接受, 常见的一些关注点包含如下:

  1. 热启动和冷启动时间、页面切换、前后台切换、首字时间,首屏时间等。
  2. 页面呈现是否完成一致。
  3. 超时是否符合定义,异常信息是否显示正常。
  4. 是否有超时重连。
  5. 安全角度:是否会发生dns劫持、登陆ip更换频繁、单点登陆异常等。
  6. 大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。
  7. 是否会有页面的crash以及显示的错乱、session是否一致、请求堆积处理等
  8. 登录、单局、支付等 不能有导致项目无法正常进行UI显示、交互问题
  9. 不能有损害用户利益 或者 可被用户额外获利的问题
  10. 需要有合理的断线重连机制,避免每次重连都返回到登录界面等等..

补充扩展

当然这里要多说一句 软件模拟弱网方式是由一定的弊端的,因为不是非常接近弱网络环境,想要更接近弱网环境,例如大多数专业项目的测试2G/3G/4G、高延时、高丢包、响应时间、页面呈现&超时文案&超时重连、安全及大流量风险、无网多状态切换等会更倾向于通过硬件方式来协助测试,但这种方式又会变得很麻烦,都是通过树莓派 但是软件方式的成本低且实施起来容易操作而已!

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!


如果以上内容有任何错误或者不准确的地方,🤝🤝欢迎在下面 👇 留个言指出、或者你有更好的想法,欢迎一起交流学习❤️❤️❤️❤️❤️

上一篇下一篇

猜你喜欢

热点阅读