接口测试之Fiddler弱网测试

2024-01-12

前言

目前市面上的APP功能越来越丰富,移动端测试也越显为重要。因为用户在网速慢的情况下,你的网站(软件)总能出现各种各样的问题!!!请不要忽略这一点!针对在不同的网络情况下,接下来,本篇要讲述的就是在通过fiddler对APP进行模拟弱网测试,用Fiddler进行弱网环境下的测试,这也是测试人员需要掌握的测试技能。

一、准备环境

1.电脑端安装好fiddler抓包工具,下载地址:https://www.telerik.com/download/fiddler(傻瓜式安装即可)

Fiddler

2.准备一台测试手机和测试APP软件(本篇使用小米5S手机和今日头条APP)

二、fiddler模拟限速的原理

通过fiddler来模拟限速,因为fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里 面自定义一些逻辑。Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。

三、配置fiddler

fiddler提供了一个功能,让我们模拟低速网路环境…启用方法如下:

Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度

1.设置端口号

打开Fiddler, Tools-> Options->connections

设置端口

其中:allow remote computers to connect 允许远程计算机连接”为设置的代理可以连接到fiddle上,必须勾选

2.重启fiddler工具

3.设置模拟调制解调器的速度

打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds

设置模拟调制解调器

Rules(规则)解析:

1.Hide Image Requests---隐藏图片请求 2.Hide HTTPS CONNECTs---隐藏HTTPS连接 3.Automatic Breakpoints---自动设置断点 >Before Requests---在请求前设置断点,快捷键F11 >After Response---在响应后设置断点,快捷键Alt + F11 >Disabled---不自动设置断点,快捷键Shit + F11 >Ignore Images---自动设置断点时忽略图片 4.Customize Rules...---自定义规则,快捷键Ctrl + R 5.Require Proxy Authentication---需要代理密码验证 6.Apply GZIP Encoding---应用GZIP压缩 7.Remove All Encoding---移除全部编码 8.Hide 304s---隐藏所以状态未304(无变更)的请求 9.Request Japanese Content---请求日文内容 10.User-Agents---选择用户Web客户端代理类型,包括了目前主流浏览器 11.Performance---性能 >Simulate Modem speeds---模拟调制解调器速度 >Disable Caching---禁止缓存 >Cache Always Fresh---新的缓存

4.设置手机代理

手机代理设置“ip地址为本机电脑的ip,端口号为之前设置的端口号(确保端口号不被占用)

本机IP地址

5.使手机和PC在同一局域网。在手机连接wifi时,选择显示高级选项,代理选择手动。这里我的手机是华为,其他品牌手机视情况而定。在服务器主机名中填入,你PC的ip地址,服务器端口填你之前设置好的8888。

设置手机端IP地址

6.手机浏览器中输入,你的IP地址和端口号。例:10.0.0.153:8888。点击图中的位置安装证书。根据自己的设置安装完证书

证书

四、Fiddler弱网的原理

1.手动设置设置上行,下行速率,模拟网路速度的原理,每上传/下载1KB 要delay 多久…

自定义规则

网络取值的算法: 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。

在Fiddler ScriptEditor中搜索关键字:m_SimulateModem

搜索关键字

代码解析:

>首先来判断m_SimulateModem是否为true,也就是是否设置了弱网模式。 >如果为弱网模式。则分析代码oSession[“request-trickle-delay”] = “300”; 注释的也很明白,Delay sends by 300ms per KB uploaded.上传1KB需要300ms,转化一下上传速度:1Kb/0.3s = 10/3(KB/s) >如果你想设置上传的速度为50KB/s,你则需要设置Delay 时间为 20ms >同样的方法,也可以限制上传的速度,调整oSession[“response-trickle-delay”]即可

当修改好后,点击左上角File-->Save进行保存即可

保存修改

需要注意的一点是:当你存档之后,原本已经勾选的SimulateModem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选喔!

2.设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作

选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化。

运行结果分析1

不同请求耗时多少的图形表,获取那种资源耗时最大,进而进行优化

运行结果分析2

总结:

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

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

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

接口测试之Fiddler弱网测试 的相关文章

  • 低代码-详情页组件设计

    效果图 详情页数据结构定义 layout 按钮数据 buttonLayout headButton 页头按钮 footButton 页脚按钮 详情页表单配置 config 配置组件列表 detailLayout 默认行为 进表单初始化 只展
  • 低代码配置-属性配置面板设计

    模块设计 tab项切换 组件基础属性 组件数据属性 组件事件属性 表单属性 模块输出函数设计 tab切换函数 列表表单属性 数据来源 调用接口时一次赋予 无需使用selectItem 如需使用 归入基础属性 列表标题 是否展示筛选区域
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • 2024拒绝行业内卷!八年软件测试20K*16薪行业心得 想入行必看

    目前工作做软件测试工作8年 属于高级测试员那个级别吧 现在看到各行各业的人都在转行学习软件测试 想给大家一些学习建议和忠告 很多粉丝都跟我说今年行情很差 找不到工资 真的找不到工作了吗 我们常在网上看到的 程序员饱和 程序员过剩 其实一般是
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过 send 方法来向服务器发送数据 并通过 onn
  • vue实现 marquee(走马灯)

    样式 代码 div class marquee prompt div class list prompt span class prompt item span div div data return listPrompt xxx xxxx
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 一文从0到1手把手教学UI自动化测试之数据驱动!

    在UI的自动化测试中 我们需要把测试使用到的数据分离到文件中 如果单纯的写在我们的测试模块里面 不是一个好的设计 所以不管是什么类型的自动化测试 都是需要把数据分离出来的 当然分离到具体的文件里面 文件的形式其实有很多的 这里主要说明JSO
  • Vue中下载不同文件常用的方式

    1 使用window open方法下载文件
  • 【前端】canvas图片加文字

    注释标记了操作步骤 import React Component createRef from react class CertifyImgRender extends Component bgRef createRef
  • 这个 ASP.Net 和 Fiddler 示例有什么问题?

    我正在使用 Visual Studio 2012 RC 我使用默认路由并具有以下 Web API 控制器 public class FooController ApiController GET api foo public IEnumer
  • 如何删除fiddler安装的根CA证书

    Fiddler 有助于添加唯一的根 CA 证书来拦截 HTTPS 流量 添加此证书后 如何删除它 两种方式之一 1 禁用 HTTPS 解密并单击标题为 删除拦截证书 的按钮 2 打开 CertMgr msc 打开个人和受信任存储 然后使用根
  • 更改Fiddler根证书以成功解密HTTPS

    有没有办法更改Fiddler的根证书 当客户端应用程序使用证书固定并且我可以访问密钥库 其证书受到客户端应用程序信任 时 我希望使用它 我想你是在问 我可以更改 Fiddler 用于特定站点的证书吗 而不是root证书 用于所有站点 是的
  • 为什么运行我的 Java 应用程序时 proxyHost/proxyPort 不起作用?

    我有一个与一些 REST 服务通信的 java 应用程序 我想使用 Fiddler 查看 HTTP 流量 Fiddler 充当 localhost 8888 上的代理 因此以下 Java VM 选项应该配置 java 以使用此代理 Dhtt
  • Fiddler 测试 API Post 传递 [Frombody] 类

    我有一个非常简单的 C APIController 名为 TestController 其 API 方法如下 HttpPost public string HelloWorld FromBody Testing t return t Nam
  • fiddler2无法生成证书

    我正在使用 Fiddler2 或尝试 捕获访问 https Web 服务的 Windows 桌面小工具的 SSL 流量 它曾经可以工作 然后几天前就停止了 总是出现以下错误 Unable to Generate Certificate Cr

随机推荐