zoukankan      html  css  js  c++  java
  • 使用Fiddler进行APP弱网测试

    一、安装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测试了~

  • 相关阅读:
    Moment.js 超棒Javascript日期处理类库
    java模拟http/https post请求
    Mysql中int和varchar类型
    ssh免密码登录
    Linux优雅退出问题
    Jenkins的权限控制和Rundeck的远程认证
    Jenkins系统+独立部署系统
    Nginx基本介绍
    初窥项目构建
    Rundeck概况
  • 原文地址:https://www.cnblogs.com/wsy0202/p/12404377.html
Copyright © 2011-2022 走看看