使用Fiddler进行弱网测试

测试APP、web经常需要用到弱网测试,也就是在信号差、网络慢的情况下进行测试。我们自己平常在使用手机APP时,在地铁、电梯、车库等场景经常会遇到会话中断、超时等情况,这种就属于弱网。

普通的弱网测试可以选择第三方工具对带宽、丢包、延时等模拟弱网环境。

这里带大家一起解锁Fiddler弱网模拟功能!

操作步骤

说明:如果你是模拟手机APP的弱网,那么你需要确保Fiddler能够抓到手机APP的包。

步骤1:在Fiddler中启动弱网

打开Fiddler→Performance→勾选Simulate Modem Speed,勾选之后你会发现网络速度已经慢下来了,因为系统里有预设的网络参数值。

在这里插入图片描述
步骤2:设置网络参数

(1)打开Fiddler→Customize Rules;

在这里插入图片描述
(2)找到下面框出的代码,在这里设置弱网参数值;

在这里插入图片描述
解析:如果m_SimulateModem为True,也就是fiddler开启了弱网模式,那么上传1KB的内容 需要300ms(转化后的上传速度为1KB/0.3s=3.3KB/s),下载1KB内容需要150ms(转化后的下载速度为1KB/0.15s=6.6KB/s)。

如果要模拟2G网络, 上传下载配置如下:

oSession["request-trickle-delay"] = "3000";

oSession["response-trickle-delay"] = "1500";

如果要模拟3G网络,上传下载配置如下:

oSession["request-trickle-delay"] = "20" ;

oSession["response-trickle-delay"] = "10";

手机APP使用SIM卡数据流量的话,要考虑不同的运营商:联通、移动、电信,根据上行速率、下载速率来设置参数。

计算公式为:[1/(上或下行速率/8)] x 1000

注意:1KB=8kb

步骤3:设置完成后,保存。

这时步骤1勾选的Simulate Modem Speed会被取消勾选,需要重新勾选一下再进行测试。

备注:

一般浏览器开发者工具(推荐Chrome)自带模拟弱网的功能。

浏览器打开开发者工具(快捷键F12);选择Network栏,根据需求选择网络状态,比如在线、3G、2G、离线等。

在这里插入图片描述

弱网测试关注点

弱网测试主要关注网络状况不好时,应用的响应时间、页面呈现、超时提示、超时重连等等。我们测试过程中尤其要注意数据提交的问题,一般前端会进行超时限制,超出多少秒抛出异常提示,此时数据是不应该提交成功的。我之前测试过的软件就出现过,弱网时,数据可以多次提交成功的情况。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

文档获取方式:

加入我的软件测试交流群:1007119548免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/427330.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理--基于HMM+维特比算法的词性标注

自然语言处理作业2--基于HMM维特比算法的词性标注 一、理论描述 词性标注是一种自然语言处理技术,用于识别文本中每个词的词性,例如名词、动词、形容词等; 词性标注也被称为语法标注或词类消疑,是语料库语言学中将语料库内单词…

面试题之RocketMq

1. RocketMq的组成及各自的作用? 在RocketMq中有四个部分组成,分别是Producer,Consumer,Broker,以及NameServer,类比于生活中的邮局,分别是发信者,收信者,负责暂存&#…

和硕拿下AI Pin代工大单公司 | 百能云芯

和硕公司近日成功中标AI Pin代工大单,AI Pin被认为是继iPhone之后的下一个划时代产品,吸引了全球科技圈的广泛关注。和硕公司对此表示,他们不会只专注于单一客户,而是期望在下半年有更多新品上市,为公司带来丰硕的业绩…

creo草绘3个实例学习笔记

creo草绘3个实例 文章目录 creo草绘3个实例草绘01草绘02草绘03 草绘01 草绘02 草绘03

顺序表的增、删、改、查

小伙伴们好,学完C语言,就要开始学数据结构了,数据结构也是非常重要的,今天我们主要来学习在数据结构中最常用的增删改查操作。话不多说,一起来学习吧 1.数据结构相关概念 1.什么是数据结构? 数据结构是由…

Spring Boot 学习之——@SpringBootApplication注解(自动注解原理)

SpringBootApplication注解 springboot是基于spring的新型的轻量级框架,最厉害的地方当属**自动配置。**那我们就可以根据启动流程和相关原理来看看,如何实现传奇的自动配置 SpringBootApplication//标注在某个类上,表示这个类是SpringBoot…

Supplier 惰性调用和 Future#get 同步等待调用结合

📖一、背景介绍 关于任务异步执行,两个点不可避免:异步结果和异步回调。 而在我的工程中有这样一段代码:使用 CompletableFuture 进行封装,可以异步执行,异步回调,通过 get() 等待异步任务的结…

JUC-CAS

1. CAS概述 CAS(Compare ans swap/set) 比较并交换,实现并发的一种底层技术。它将预期的值和内存中的值比较,如果相同,就更新内存中的值。如果不匹配,一直重试(自旋)。Java.util.concurrent.atomic包下的原…

【GitHub项目推荐--一个简单的绘图应用程序(Rust + GTK4)】【转载】

一个用 Rust 和 GTK4 编写的简单的绘图应用程序来创建手写笔记。 Rnote 旨在成为一个简单但实用的笔记应用程序,用于手绘或注释图片或文档。它最终能够导入/导出各种媒体文件格式。而且输出的作品是基于矢量的,这使其在编辑和更改内容时非常灵活。 地址…

微信小程序之全局配置-window和tabBar

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

解密POM:提升自动化脚本稳定性和开发效率的正确姿势!

Page Objects是selenium的一种测试设计模式,主要将每个页面看作是一个class。class的内容主要包括属性和方法,属性不难理解,就是这个页面中的元素对象,比如输入用户名的输入框,输入登陆密码的输入框、登陆按钮、这个页…

数据库设计问题

问题: 某学校要设计一个数据库,学校的业务规则概括如下: 学校内班级若干,每个班级内又有学生若干。学校开设课程若干,只有某些特定的班级能上指定的课程。学生选修某些课程,但是在自身班级下的课程是必修。学校定期组…