博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Fiddler模拟弱网进行测试
阅读量:4009 次
发布时间:2019-05-24

本文共 2272 字,大约阅读时间需要 7 分钟。

Fiddler 弱网测试

一、设置网络限制

Rules–>>Customize Rules...点击打开Fiddler编辑器。

找到OnBeforeRequest方法中的if (m_SimulateModem)逻辑。

这段代码只需要知道request-trickle-delay代表的是网络请求的延迟时间,response-trickle-delay代表的是网络响应的延迟时间,单位都是毫秒,这里默认给的是300毫秒和150毫秒,所以,只需要修改这2个值即可模拟网络延迟和弱网络环境了.

if (m_SimulateModem) {    // Delay sends by 300ms per KB uploaded.    oSession["request-trickle-delay"] = "600"; //网络请求延迟600ms    // Delay receives by 150ms per KB downloaded.    oSession["response-trickle-delay"] = "300"; //网络响应延迟300ms}

二、开启网络延迟

Rules–>>Performance–>>Simulate Modem Speeds勾选即可。

开启网络延迟

查看的时候就在Statistics查看结果(需要点击接口)

开启网络延迟前后对比

未开启网络延迟

未开启网络延迟

开启网络延迟

开启网络延迟

三、扩展弱网络规则

可能我们在测试中不会想要一个一直虚弱的网络环境,而是随机强弱的网络,这样比较贴切我们的真是情况,那么我们可以修改上述代码为:

添加一个方法:

static function randInt(min, max) {	return Math.round(Math.random()*(max-min)+min);}

更改OnBeforeRequest方法中的if (m_SimulateModem)逻辑:

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);}

这里的randInt(1,2000)代表1-2000中的一个随机整数,这样就会出现偶尔有延迟偶尔网络又良好的情况

四、模拟2G 3G 4G 网络

时间单位对应为毫秒,为每上传、下载 1KB 所需耗时

1KB=8kb

2G 网络延迟计算

上行(MHz) 下行(MHz) 上行速率(bps) 下载速率(bps) 备注
GSM900 890~915 935~960 2.7K 9.6K 又称PGSM
EGSM900 880~890 925~935 2.7K 9.6K 又称扩展GSM
GSM1800 1710~1785 1805~1880 2.7K 9.6K 又称DCS1800
GSM1900 1850~1910 1930~1990 2.7K 9.6K 又称PCS1800
上行:2.7K下行:9.6K上行:[1/(2.7/8)]X1000=2962ms下行:[1/(9.6/8)]X1000=833ms

3G 网络延迟计算

上行(MHz) 下行(MHz) 上行速率(bps) 下行速率(bps) 调制方式 备注
CDMA2000(中国电信) 825~835 870~880 1.8M 3.1M FDD 补充频率:885~ 915,930~ 960
TD-SCDMA(中国移动) 1880~1920 2010~2025 384K 2.8M TDD 不分上下行,补充频率:2300~ 2400
WCDMA(中国联通) 1920-1980 2110~2170 5.76M 7.2M FDD 补充频率:1755~ 1785,1850~ 1880
电信:上行:1.8M    1.8x1024      下行:3.1M    3.1x1024上行:{1/[(1.8x1024)/8]}x1000=4.34ms下行:{1/[(3.1x1024)/8]}x1000=2.52ms
移动:上行:384k      下行:2.8M上行:[1/(384/8)]x1000=20.8ms下行:{1/[(2.8x1024)/8]}x1000=2.79ms
联通:上行:5.76M      下行:7.2M上行:{1/[(5.76x1024)/8]}x1000=1.35ms下行:{1/[(7.2x1024)/8]}x1000=1ms

4G 网络延迟计算

上行(MHz) 下行(MHz) 上行速率(bps) 下行速率(bps)
中国电信 2370~2390 2635~2655 50M 100M
中国移动 2300~2320 2555~2575 50M 100M
中国联通 1880~1900、2320~2370 2575~2635 50M 100M
上行:50M下行:150M上行:{1/[(50x1024)/8]}x1000=0.15625ms下行:{1/[(150x1024)/8]}x1000=0.05208ms

五、进行App弱网测试

Fiddler网络延迟开启,手机端设置代理即可模拟出弱网情况。

转载地址:http://lodfi.baihongyu.com/

你可能感兴趣的文章
[互联网学习]如何提高网站的GooglePR值
查看>>
[关注大学生]求职不可不知——怎样的大学生不受欢迎
查看>>
[关注大学生]读“贫困大学生的自白”
查看>>
[互联网关注]李开复教大学生回答如何学好编程
查看>>
[关注大学生]李开复给中国计算机系大学生的7点建议
查看>>
[关注大学生]大学毕业生择业:是当"鸡头"还是"凤尾"?
查看>>
[茶余饭后]10大毕业生必听得歌曲
查看>>
gdb调试命令的三种调试方式和简单命令介绍
查看>>
C++程序员的几种境界
查看>>
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>
VUE-Vue.js之$refs,父组件访问、修改子组件中 的数据
查看>>
Vue-子组件改变父级组件的信息
查看>>
Python自动化之pytest常用插件
查看>>
Python自动化之pytest框架使用详解
查看>>
【正则表达式】以个人的理解帮助大家认识正则表达式
查看>>
性能调优之iostat命令详解
查看>>
性能调优之iftop命令详解
查看>>
非关系型数据库(nosql)介绍
查看>>
移动端自动化测试-Windows-Android-Appium环境搭建
查看>>
Xpath使用方法
查看>>