一、安装Fiddler

网上说要先安装.NET Framwork4,应该是由于本机已装,所以在安装Fiddler时并没有相关提示。

Fiddler安装包:https://www.telerik.com/download/fiddler/fiddler4

二、Fiddler通过代理连上手机

首先电脑和手机要使用同一个无线网。

1. Fiddler工具->选项卡,General

选项卡Connections

注意:fiddler监听端口设置为:8888

2. 需要安装fiddler证书

使用手机浏览器访问http://[电脑IP地址]:[fiddler设置的端口号],即可以下载fiddler的证书并安装。

查看电脑IP的方法:直接在cmd下ipconfig,或者鼠标滑过fiddler的online也可以看到IP地址。

3. 打开手机设置WLAN

长按wifi名称,选择“管理网络设置”,勾选【显示高级设置】,代理设置选择【手动】,输入电脑的IP地址和端口端口为fiddler中设置的8888

4. 手机打开浏览器网页,或者要测试的APP,fiddler软件里会获取相关的地址

5. 修改参数模拟网速

利用fiddler通过代理连接上手机之后,进入Fiddler->Rules->Customize Rules,点击弹出的CustomRules.js文件,找到m_SimulateModem,也就是下面的这段:

修改代码如下:

6. 确定设定的参数

设置完之后,再勾选Rules -> Performances -> Simulate Modem Speeds

7. 注意停掉PC与手机上面上网的应用

把PC与手机上面上网的进程杀掉,如果上网的应用太多了,那网速肯定也会受到影响,这样出来的报告,就会不准确。

8. 进行抓包

点击抓包数据中的一条记录,在右侧的statistics中就会显示当前界面相应数据。bytes Sent 是指发送的请求数,Bytes Received:返回的数据量,Overall Elapsed:总耗时。

三.Fiddler工具使用说明

  1. Fiddler开始工作了,抓到的数据包就会显示在列表里面,以下总结这些是什么意思:

#:抓取HTTP Request的顺序,从1开始,以此递增

Result:HTTP状态码

Protocol:请求使用的协议,如HTTP/HTTPS/FTP等

Host:请求地址的主机名

URL:请求资源的位置

Body:该请求的大小

Caching:请求的缓存过期时间或者缓存控制值

Content-Type:请求响应的类型

Process:发送此请求的进程,进程ID

Comments:允许用户为此回话添加备注

Custom:允许用户设置自定义值。

2. Fiddler的统计选项卡中显示了当前Session的基本信息,在选项卡的最上方显示的是文本信息,最下方是个饼图。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

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

如下所示:

饼图如下:

统计选项卡的一些信息含义如下解释:

Request Count: 选中的session数;

Unique Hosts: 流量流向的独立目标主机数。如果所有选中的流量都发送到相同的服务器上,则不会显示该字段。

Bytes sent:  HTTP请求头和请求体中向外发送的字节总数。后面括号中分别给出了头和body各自的字节数。

Bytes received: HTTP请求头和请求体中接收到的所有字节数。在全部计数后面的括号中给出了请求头和请求体各自的字节数。

Requests started at: Fiddler接收到的第一个请求的第一个字节的时间点。

Responses completed at: Fiddler发送到客户端的最后一个响应的最后一个字节的时间点。

Sequence(clock) duration:  第一个请求开始到最后一个响应结束之间的 “时钟时间”。

Aggregate session duration: 所有选中的session从请求到响应之间的时间的和。

DNS Lookup time: 所有选中的session解析DNS所花费的时间的总和。

TCP/IP Connect duration: 所有选中session建立TCP/IP连接所花费的时间总和。

HTTPS Handshake duration: 所有选中session在HTTPS握手上所花费的时间总和。

Response Codes: 选中session中各个HTTP响应码的计数。

Response Bytes by content-type: 选中session中响应的各个Content-Type的字节数。

Estimated Performance: 选中的流量在不同语种(local)地区和连接方式下所需时间的初步估计。

四、实际操作Fiddler遇到的问题及解决办法

问题:由于办公区域路由改造,获取IP地址从自动改成固定IP,使得Fiddler连接手机的时候,手机连不上网络,无法获取APP请求。

办法:1.将固定IP改为“自动获取IP地址”

2.查看电脑IP地址,CMD->IP config

3.手机的代理输入刚才查看到的电脑IP。这样可以解决fiddler连接手机抓取不到手机app的问题了!

注意:需要检查代理服务器设置为不使用代理。打开Internet选项——连接——局域网设置,取消代理服务器的勾选。

按照以上的设置,基本可以实现弱网环境下的app测试了~

使用Fiddler进行APP弱网测试的更多相关文章

  1. APP弱网测试

    APP弱网测试   App弱网测试方法,常用工具有使用fiddler进行网络模拟,也可以使用Network Emulator Toolkit控制模拟网络,相对来说Network Emulator To ...

  2. APP弱网测试工具(QNET)

    QNET介绍官网链接:https://wetest.qq.com/product/qnet 目前在测试移动设备上进行弱网络专项测试的方案主要有两种: 通过Android设备连接到PC上进行弱网络测试, ...

  3. 07- 移动端app弱网测试与fiddle弱网测试

    从下面几个点了解弱网测试: 什么样的网络属于弱网. 低于2g速率的时候都属于弱网,也可以将3g划分为弱网,一般WiFi不纳入弱网范畴. 为什么要进行弱网测试 ①按照移动特定,各种网络连接协议不同,导致 ...

  4. App弱网测试与常用模拟工具

    iOS平台,通过自带的开发者选项 >Network Link Conditioner, 即可简单的模拟各种速度的网络情况: 通过抓包工具,设置延迟,进行模拟不同的网络情况,比如常用的fiddle ...

  5. Android APP弱网测试问题和解决分析

    最近做了一次移动APP的弱网和中断测试,接下来分享一下遇到的一些问题: 1.现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致. 原因 ...

  6. App弱网测试方式

    硬件设备:网络损伤仪 网络损伤模拟仪的状况包括真实广域网中存在的:有限的带宽.时延.丢包.抖动.乱序.重复报文.竞争流量.拥塞.误码等等.这些状况对网络应用来说可能会降低应用的性能,甚至有时是致命的. ...

  7. fiddler----APP弱网测试

    转自:http://www.51testing.com/html/01/n-3727001.html APP弱网模拟测试 移动端测试区别于PC端测试的一点就是网络的多变性:不同的网络环境和网络制式的差 ...

  8. [原创]App弱网测试方法介绍

    [原创]App弱网测试方法介绍 1 什么是弱网? 弱网就是在非正常网络状态下,用户在访问网络时遭遇到网络延迟或是丢包,造成使用产品时用户体验不佳或反感的场景. 2   为什么要进行弱网测试 简而方之, ...

  9. APP手工项目02-用例编写-测试报告-fiddler弱网测试

    回顾 APP专项测试(兼容性,安装,卸载,升级,交叉事件,PUSH消息,性能,其他类型) 项目环境(开发环境,测试环境,准生产环境,生产环境) APP内测发布平台(蒲公英,fir.im)支持apk,i ...

随机推荐

  1. September 03rd 2017 Week 36th Sunday

    What does it profit a man if he gains the whole world and loses his own soul? 失去灵魂,赢得世界又如何? It matte ...

  2. 安装64位php开发环境

    最近听说PHP5.4速度很快,所以想建立一个本地环境测试下.我打算用本地windows xp sp3下安装PHP5.4.8.Apache2.4.3和Mysql5.5.28. 首先去下载PHP.Apac ...

  3. Jenkins 配合 GitLab 实现分支的自动合并、自动创建 Tag

    Jenkins 配合 GitLab 实现分支的自动合并.自动创建 Tag 背景 GitFlow工作流简介 Gitflow工作流定义了一个围绕项目发布的严格分支模型,它会相对复杂一点,但提供了用于一个健 ...

  4. 深入 Java 调试体系: 第 1 部分,初探JPDA 体系

    JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程 ...

  5. php5.5.* mysqlnd驱动安装

    1.什么是mysqlnd驱动? PHP手册上的描述: MySQL Native Driver is a replacement for the MySQL Client Library (libmys ...

  6. BZOJ2425:[HAOI2010]计数(数位DP)

    Description 你有一组非零数字(不一定唯一),你可以在其中插入任意个0,这样就可以产生无限个数.比如说给定{1,2},那么可以生成数字12,21,102,120,201,210,1002,1 ...

  7. Node.js 连接 MongoDB-7

    先安装模块: npm install --save mongodb 当然,首先你要打开mongodb服务端: mongod --bind_ip 127.0.0.1 创建数据库 要在 MongoDB 中 ...

  8. select、poll 和epoll区别

    阻塞 I/O(blocking IO) 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据(对于网络IO来说,很多时候数据在一开始还没有到达.比如,还没有收到 ...

  9. JSONP - 从理论到实践

    同源策略 ajax之所以需要“跨域”,罪魁祸首就是浏览器的同源策略.即,一个页面的ajax只能获取这个页面相同源或者相同域的数据. 如何叫“同源”或者“同域”呢?——协议.域名.端口号都必须相同.例如 ...

  10. P3183 [HAOI2016]食物链

    题目描述 如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数.物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3.... ...