腾讯优测优分享 | 这些年,我们追过的 fiddler
腾讯优测是专业的移动云测试平台,提供全面兼容性测试,远程真机租用,漏洞分析等多维度的测试服务,旗下优分享提供大量的移动研发及测试相关的干货!
一、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的更多相关文章
- 腾讯优测-优社区干货精选 | 那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声
文/腾讯优测研发工程师 吴宇焕 优测小优有话说: android机型适配的坑自然是不少,不想掉坑快来优测优社区~ 现在Android手机一般都会带有照相功能,有很多朋友就发现手机照相时快门声音很响,想 ...
- 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(下)
文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 6.Android APP开发中其它需要提醒的问题 android4.4在UI线程无法进行网络操作. ...
- 优测优社区干货精选|老司机乱谈编辑器之神——vim
文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! *** vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了.本文介绍了学习vim ...
- 腾讯优测优分享 | Android适配中的一些特殊情况小结
腾讯优测是专业的自动化测试平台,提供全面兼容适配测试,远程真机租用等多维度的测试服务! 作为一名"艰苦卓绝"的软件工程师,我在开发路上经常被各种奇葩情况虐的体无完肤...今天就想与 ...
- 腾讯优测优分享 | 游戏的UI自动化测试可以这样开展
腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化 ...
- 腾讯优测优分享 | Android性能测试工具化实现
腾讯优测专业的移动云测试平台,自动化测试提供性能测试数据,云真机实时输出性能数据,让测试更简单! 1.Android性能测试介绍 提到Android性能测试,我们总免不了俗地要首先介绍下Android ...
- 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
腾讯优测是专业的android自动化测试平台,拥有上千款真机,彻底解决android碎片化问题! 这里我要说的不是闪光灯的硬件特征,也不是说底层驱动的原理,我只是跟大家聊一聊在项目中遇到的一些关于闪光 ...
- 腾讯优测优分享 | 探索react native首屏渲染最佳实践
腾讯优测是专业的移动云测试平台,旗下的优分享不定时提供大量移动研发及测试相关的干货~ 此文主要与以下内容相关,希望对大家有帮助. react native给了我们使用javascript开发原生app ...
- 【腾讯优测干货分享】安卓专项测试之GPU测试探索
本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲——腾讯SNG质 ...
随机推荐
- 《Effective C#》:区别和认识四个判等函数
.Net有四个判等函数?不少人看到这个标题,会对此感到怀疑.事实上确是如此,.Net提供了ReferenceEquals.静态Equals,具体类型的Equals以及==操作符这四个判等函数.但是这四 ...
- poj1625Censored!(AC自动机+dp)
链接 第一次做这种题目,参考了下题解,相当于把树扯直了做DP,估计这一类题都是这个套路吧. 状态方程dp[i][next] = dp[i][next]+dp[i][j] ;dp[i][j]表示长度为i ...
- Shell重定向文件描述符
#!/bin/bash 最近在看shell,各种困惑,不过解决困惑的感觉还是很不错的.废话少说,linux中使用文件描述符来标识每个文件对象.文件描述符为一个非负整数,可以唯一标识会话中打开 ...
- The import javax.servlet.http.HttpServletRequest cannot be resolved
Error: The import javax.servlet cannot be resolved The import javax.servlet.http.HttpServletRequest ...
- logistic回归模型
一.模型简介 线性回归默认因变量为连续变量,而实际分析中,有时候会遇到因变量为分类变量的情况,例如阴性阳性.性别.血型等.此时如果还使用前面介绍的线性回归模型进行拟合的话,会出现问题,以二分类变量为例 ...
- putty自动登录
如果没有公钥/密钥对,就用 PuTTYgen 创建一个,已经有了就可以忽略这一步.一个公钥/密钥对可以用在不同的服务器上,所以也不需要重复创建,关键要有足够强健的密码和安全的存放. 象先前一样输入帐户 ...
- tslib1.4与Qt4.8.6的交叉编译与移植
最近开始正式接触QT开发,网上看了些移植教程都写的有点乱,博客园的emouse思·睿有一篇写的很好的文章,下面是文章的链接 http://www.cnblogs.com/emouse/archive/ ...
- ASP.NET中的Session怎么正确使用[转]
Session对象用于存储从一个用户开始访问某个特定的aspx的页面起,到用户离开为止,特定的用户会话所需要的信息.用户在应用程序的页面切换时,Session对象的变量不会被清除. 对于一个Web应用 ...
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(二)
一.实现效果 二.实现代码 1.数据模型部分 YYQQGroupModel.h文件 // // YYQQGroupModel.h // 02-QQ好友列表(基本数据的加载) / ...
- Huawei校招机试中的猴子吃桃问题
//============================================================================ // Name : Monkey& ...