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

一、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. 第 十一 天 Flagmeng 和动画

    1.flagment 的使用,生命周期. 传递数据. 2. 基本动画的使用. 3. 对话框的使用. 4.样式和主题.

  2. 手把手教iOS生成.a包及常见的问题

    我的例子是打包MJRefresh 环境OS10.11.4,  XCode Version 7.3.1 (7D1014) 生成.a如下: 创建新工程: 把下载的 MJRefresh-master加到你的 ...

  3. CSS文本与连接

    CSS文本 CSS文本属性可以定义文本外观,通过文本属性,可以改变文本的颜色.字符间距.对齐文本.装饰文本.对文本缩进等等. 常用的文本属性 属性 描述 color 文本颜色 direction 文本 ...

  4. centos BIND服务基础及域主服务器配置

    系统信息: Linux localhost.localdomain -.el6.i686 # SMP Tue Dec :: GMT i686 i686 i386 GNU/Linux 因为看的是linu ...

  5. canvas滤镜6种效果吗

    昨天写了一个canvas滤镜的取反色效果,今天加一点效果,主要思路都是一样的,改变getImageData.data[]的值,并返回 代码如下: <!DOCTYPE html> <h ...

  6. maven设置

    <localRepository>D:/apps/eclipse/env/maven/repository</localRepository>

  7. Windows Store App 近期访问列表

    Windows 8系统在管理用户的文件时,会将用户近期访问的文件添加到对应应用的近期访问列表中,所有的Windows应用商店应用都有各自的近期访问列表,根据文件的上一次访问时间,可以在列表中对文件进行 ...

  8. java selenium 题目一 如果定位动态变化的id

    题目 HTML 代码如下 <a id="username-1190" class="class1">用户名</a> 因为id是由java ...

  9. Useful blogs

    Unofficial Windows Binaries for Python Extension Packages:http://www.lfd.uci.edu/~gohlke/pythonlibs ...

  10. Windows下Apache的优化

    (1)首选查看apache的工作模式 windows下的查看apache的工作模式命令: httpd -l 如果列出mod_win32.c,则表示是 win32.c 工作方式. 列出的全部内容如下所示 ...