• 0
  • 0
分享

一、安装Fiddler

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

Fiddler安装包:telerik.com/download/fi

二、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->CustomizeRules,点击弹出的CustomRules.js文件,找到m_SimulateModem,也就是下面的这段:

修改代码如下:

6、确定设定的参数

设置完之后,再勾选Rules->Performances->SimulateModemSpeeds

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

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

8、进行抓包

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

三、Fiddler工具使用说明

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

#:抓取HTTPRequest的顺序,从1开始,以此递增
Result:HTTP状态码
Protocol:请求使用的协议,如HTTP/HTTPS/FTP等
Host:请求地址的主机名
URL:请求资源的位置
Body:该请求的大小
Caching:请求的缓存过期时间或者缓存控制值
Content-Type:请求响应的类型
Process:发送此请求的进程,进程ID
Comments:允许用户为此回话添加备注
Custom:允许用户设置自定义值。

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

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

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

RequestCount:选中的session数;

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

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

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

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

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

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

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

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

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

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

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

ResponseBytesbycontent-type:选中session中响应的各个Content-Type的字节数。

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

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

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

办法:

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

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

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

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

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


作者:bcbxhome

原文链接:http://blog.itpub.net/69985967/viewspace-2732604/

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1.2.计算机网络1.2.1.计算机通信网的组成计算机网络由通信子网和资源子网组成。其中通信子网负责数据的无差错和有序传递,其处理功能包括差错控制、流量控制、路由选择、网络互连等。其中资源子网:是计算机通信的本地系统环境,包括主机、终端和应用程序等,资源子网的主要功能是用户资源配置、数据的处理和管理、软件和硬件共享以及负载均衡等。计算机通信网就是一个由通信子网承载的、传输和共享资源子网的各类信息的系统。1.2.2.通信协议为了完成计算机之间有序的信息交换,提出了通信协议的概念,其定义是相互通信的双方(或多方)对如何进行信息交换所必须遵守的一整套规则。协议涉及到三个要素,分别为:语法:语法是用户...
            13 15 3379
            分享
          • 软件自动化测试当中最简单也是最常用接口自动化测试,当我们投入到实际工作应用中就会发现,虽然接口测试很有效也很容易推广开来,但是很多时候真正需要测试验证的不仅仅是接口测试的返回,还包括前端页面的重现。所以近下来的学习内容就将进入到 WEB 自动化(即 WEB 端 UI 自动化)。什么是 WEB自动化WEB 自动化测试就是把在网页上的人工操作转化为使用机器、软件、程序来测试产品的过程。也就是把大量需要人工回归用例、人工操作的这些手段由计算机代替执行的一种测试方式。模拟人工执行的一系列操作,同时最终会抓取并判断结果是否符合我们的预期的这样一个过程。换而言之,就是把 “点点点” 通过编程手段实现的一种...
            0 0 869
            分享
          • UUID(Universally Unique Identifier,通用唯一标识符)是一种用于标识信息的128位标识符。Java开发人员倾向于使用 java.util.UUID#randomUUID API来生成UUID编号(类似4c88314f-14ca-4652-8567-4471a0ef917c)。UUID通常用于标识数据记录、会话、文件、对象等,以确保它们在不同上下文中的唯一性。注意,UUID是一种全局唯一性标识符,不保证在不同时间生成的UUID之间是有序的或可比较的,因此不应该依赖于UUID的大小或顺序。在某些情况下,使用这个API可能对应用程序的可用性产生负面影响。下面,我们将通...
            0 0 1083
            分享
          • 上一篇文章介绍了正则表达式的一些高级用法的使用,但是一些 常用的正则表达式我们可能会更长用,为了记录和方便以后查询,特记录一些常用的正则表达式。1.找到所有小数的数字,比如10.2引用名称:aa正则表达式:[0-9]+\.[0-9]+模板:$0$区配数字: -1 调用:${aa_1}:取出第一个满足要求的数字${aa_2}:取出第二个满足要求的数字2、找到所有小数点后的数字引用名称:aa正则表达式:([0-9]+)\.([0-9]+)   必须用括号分组模板:$2$   第二组区配数字: -1 取出所有符合要求的调...
            0 0 1231
            分享
          • 众所周知,事务是一个实体——通常是一组 SQL 语句,或者语句和存储过程调用的组合,应该全部执行或不执行。例如,如果一个事务有 4 个语句 - S1 到 S4 并且例如 - S4 抛出一些错误可能是由于不正确的语法或访问或任何功能问题,那么语句 S1 到 S3 将被回滚并且数据库将到达它的原始状态,好像没有执行任何语句。理解 MySQL TRANSACTION 的最佳示例是同一家银行的 2 个账户之间的汇款。想象一下,如果没有 TRANSACTION,这将如何工作?假设借记成功,但贷记没有发生,可能是因为一些数据库问题。在这种情况下,数据库将处于不一致的状态。因此,在这种情况下,客户的账户会借...
            0 0 1028
            分享
      • 51testing软件测试圈微信