腾讯优测是专业的移动云测试平台,提供全面兼容性测试,远程真机租用,漏洞分析等多维度的测试服务,旗下优分享提供大量的移动研发及测试相关的干货!

一、fiddler原理简介

fiddler是目前最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置 CGI 请求的断点,甚至修改输入输出数据。fiddler是一个客户端桌面工具,不仅能监听浏览器对网页的请求和对浏览器的响应(http和https请求),而且可以监听其他程序(比如java桌面应用)的http请求。fiddler是在web server和web browser之间搭了一层proxy,所有的请求都会经过它,如下图所示:

二、fiddler常用技巧

1、 fiddler链接手机代理

勾选Tools->Fiddler Options…中Connections的Allow remote computers to connect选项,并设置端口号(默认8888,也可以设置为其他端口号)。点击ok按钮后重启fiddler即可生效。

2、fiddler中设置断点修改request

中断所有会话
第一种:
打开Fiddler,点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)
消除:点击Rules-> Automatic Breakpoint ->Disabled
第二种:

消除:再点两次红色框区域即可消除
第三种:F11
消除:Shift+F11
中断指定会话
在命令行中输入命令:bpu http://888.qq.com/v1.0/my/record.shtml?mod=buyrecord(这种方法只会中断http://888.qq.com/v1.0/my/record.shtml?mod=buyrecord请求)

消除:在命令行中输入命令bpu

3、Fiddler中设置断点修改response

中断所有会话
第一种:打开Fiddler,点击Rules->Automatic Breakpoint->After Response(这种方法会中断所有的会话)
消除:点击Rules->Automatic Breakpoint->Disabled
第二种:

消除:再点一次红色框区域即可消除
第三种:Alt+F11
消除:Shift+F11
中断指定会话
在命令行中输入命令:bpafter http://888.qq.com/v1.0/my/record.shtml?mod=buyrecord

消除:在命令行中输入命令bpafter

4、自动重定向AutoResponder到本地文件

场景:测试环境没有足球对阵,此时需要使用IDC的对阵来测试时
第一步:IDC环境用Fiddler查看页面的数据流列表,找到这个文件的session

第二步:将IDC的文件保存到本地
在这个session上右键点击,选择“Save – Response –Response Body…”,将js文件的内容保存到本地。记住存的位置,下面我们会用到这个保存下来的文件。

第三步:切换到beta环境,开启Fiddler的请求自动重定向功能

第四步:创建重定向规则,将目标是这个url的HTTP请求重定向到本地文件
可以通过“Add Rule”按钮手动添加规则,如果这个URL已经出现在我们的session列表中,可以直接拖动过来,根据需要修改url(如下图,由于红框部分的值是变动的,所以在添加规则时,可以去掉红框内容进行匹配)

下图解释:
当URL为:http://tc.w-caipiao.tenpay.com/p/index.php?c=ball&m=getListV2&type=all&lotteryName=gunqiu&ajax=true&cms_where=1367&vb2ctag=4_2061_3_1866&jindou=1
返回200,使用和Session 7一模一样的内容返回

这里,我们需要修改这个规则,当url为
http://tc.w-caipiao.tenpay.com/p/index.php?c=ball&m=getListV2&type=all&lotteryName=gunqiu&ajax=true&cms_where=1367&vb2ctag=4_2061_3_1866&jindou=1时,选择第二步中存在本地的文件作为返回的body内容,这样,当测试环境请求这个url时,body内容将会是第二步本地文件的body内容,就可在测试环境使用IDC的对阵进行测试


保存后规则生效

如下图,请求url底色变灰,说明生效了。

遇到的问题:
a:步骤二中,拷贝出来的文件内容是乱码

解决办法:点击fiddler的Inspectors的Response区域进行转码后再重新保存即可。

b:步骤四中,去掉url后面变量值后,匹配失败,无法访问本地文件

解决办法:将规则中的EXACT:去掉即可,去掉之后匹配成功。

拓展:
前缀为“EXACT:”表示完全匹配(大小写敏感)
无前缀表示基本搜索,表示搜索到字符串就匹配
前缀为“REGEX:”表示使用正则表达式匹配

5、过滤会话

当遇到请求较多,看的眼花缭乱时,可以启用fiddler强大的过滤机制,操作方法如下:

6、自定义列

如:需要增加远程IP、referer、ReturnedCookie列
通过Rules->Customize Rules 或快捷键Ctrl+R

在rule规则脚本中搜索static function Main()函数,添加3列:远程IP、referer、ReturnedCookie

7.fiddler模拟限速

原理:Fiddler的模拟限速是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和上传速度,从而达到限速的效果。
限速操作:勾选Rules->Performance->Simulate Modem Speeds

限速的代码:Rules->Customize Rules 或快捷键Ctrl+R
通过关键字m_SimulateModem找到以下代码。

注意,修改完存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,要记得再到Rules->Performance->Simulate Modem Speeds勾选才生效。
_________________________________________________________________________________
腾讯优测是专业的移动云测试平台,为应用、游戏、H5混合应用的研发团队提供产品质量检测与问题解决服务。不仅在线上平台提供自动化兼容性测试、云手机远程租用与调试、漏洞分析、自动化测试工具Xtest等多种质量检测工具,更为VIP客户配备了专家团队提供定制化综合测试解决方案。

腾讯优测优分享 | 这些年,我们追过的 fiddler的更多相关文章

  1. 腾讯优测-优社区干货精选 |  那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声

    文/腾讯优测研发工程师 吴宇焕 优测小优有话说: android机型适配的坑自然是不少,不想掉坑快来优测优社区~ 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想 ...

  2. 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(下)

    文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 6.Android APP开发中其它需要提醒的问题 android4.4在UI线程无法进行网络操作. ...

  3. 优测优社区干货精选|老司机乱谈编辑器之神——vim

    文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! *** vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了.本文介绍了学习vim ...

  4. 腾讯优测优分享 | Android适配中的一些特殊情况小结

    腾讯优测是专业的自动化测试平台,提供全面兼容适配测试,远程真机租用等多维度的测试服务! 作为一名"艰苦卓绝"的软件工程师,我在开发路上经常被各种奇葩情况虐的体无完肤...今天就想与 ...

  5. 腾讯优测优分享 | 游戏的UI自动化测试可以这样开展

    腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化 ...

  6. 腾讯优测优分享 | Android性能测试工具化实现

    腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单! 1.Android性能测试介绍 提到Android性能测试,我们总免不了俗地要首先介绍下Android ...

  7. 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿

    腾讯优测是专业的android自动化测试平台,拥有上千款真机,彻底解决android碎片化问题! 这里我要说的不是闪光灯的硬件特征,也不是说底层驱动的原理,我只是跟大家聊一聊在项目中遇到的一些关于闪光 ...

  8. 腾讯优测优分享 | 探索react native首屏渲染最佳实践

    腾讯优测是专业的移动云测试平台,旗下的优分享不定时提供大量移动研发及测试相关的干货~ 此文主要与以下内容相关,希望对大家有帮助. react native给了我们使用javascript开发原生app ...

  9. 【腾讯优测干货分享】安卓专项测试之GPU测试探索

    本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲——腾讯SNG质 ...

随机推荐

  1. 安装 phoneGap

    npm config set registry http://registry.cnpmjs.org 使用最新版本PhoneGap ,决定使用官方提供的方法安装一次. 官方提供方法有些地方没有提到,因 ...

  2. VBA中练习ADO:ActiveX Data Object

    前期绑定,要先添加引用---"Microsoft ActiveX Data Objects 6.1" ADO学习的权威参考可点击:w3school ADO简单理解:是几个Activ ...

  3. 剑指offer一:二维数组中的查找

    题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路: 这是一个顺序二维 ...

  4. js获取url参数 兼容某些带#url

    网上有大把现成的代码,不过有点小小的瑕疵 例如目前最流行的 正则法: function getArgument(_arg) { var reg = new RegExp("(^|&) ...

  5. (转载)U-boot启动完全分析

    1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能 Ø 硬件设备初始化 Ø 加载U-Boot第二阶段代码到RAM空间 Ø 设置好栈 Ø ...

  6. spring bean的初始化

    scope:作用域   singleton  prototype  request session   默认为singleton lazy-init:default=false ,false ,tru ...

  7. JQuery_进阶选择器

    在简单选择器外,还有一些进阶的选择器方便我们更精准的选择元素. 1.群组选择器 可以将相同的样式合并 <script type="text/javascript" src=& ...

  8. Python之路 day2 初识字典

    #Author:ersa ''' key-value 键值对 字典是无序的,不需要下标,有key 字典的查找.修改.添加.判断.删除 ''' info = { 'stu1101': "Ten ...

  9. WPF CAL 计算器

    界面最终结果: 下载地址:https://skydrive.live.com/redir?resid=25C3908AA2038BDB!148&authkey=!ADR71XdB04LipYE

  10. 最短路径——Floyd算法

    如何求一张图中任意两顶点之间的最短路径长度,这里写一种最简单的算法——Floyd算法: #include<stdio.h> #define inf 9999 int main() { ][ ...