腾讯优测优分享 | 这些年,我们追过的 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质 ...
随机推荐
- 手机测试pc端网页
在这个问题上徘徊了 一个钟头了,终于被我找到方法了,就赶紧记下来,以后好查阅!! 主要问题在防火墙,防火墙阻当了80端口,所以怎么用手机访问都是访问不了的.把防火墙关闭就好了! 贴上httpd-vho ...
- centos BIND服务基础及域主服务器配置
系统信息: Linux localhost.localdomain -.el6.i686 # SMP Tue Dec :: GMT i686 i686 i386 GNU/Linux 因为看的是linu ...
- Scrum Meeting 6-20151208
任务安排 姓名 今日任务 明日任务 困难 董元财 修复app特定情况下崩溃 服务器购买记录接口 无 胡亚坤 聊天界面优化 发布记录和购买记录 无 刘猛 请假(生病了) 完成Scrum Meeting ...
- ThinkPHP 3.2 模板中的Angularjs 的变量{{$first}} 无法被解析
ThinkPHP 3.2 模板中的Angularjs 的变量"{{$first}}" 无法被解析, 模板解析冲突,例如在angularjs 的变量"{{$first}}& ...
- hdu4511小明系列故事——女友的考验(ac自动机+最短路)
链接 预处理出来任意两点的距离,然后可以顺着trie树中的节点走,不能走到不合法的地方,另开一维表示走到了哪里,依次来更新. 注意判断一下起点是不是合法. #include <iostream& ...
- 【转】Hostapd工作流程分析
[转]Hostapd工作流程分析 转自:http://blog.chinaunix.net/uid-30081165-id-5290531.html Hostapd是一个运行在用户态的守护进程,可以通 ...
- 第一个Android程序
MainActivity.java package com.example.crystalball; import android.support.v4.app.Fragment; import an ...
- 使用Settings.settings存储用户的个性化配置
1.在vs中设计要存储的字段,如:zbl,注意范围选择用户 读取: var aa = Properties.Settings.Default.zbl; 写入: Properties.Settings. ...
- WCF初探-20:WCF错误协定
WCF错误协定概述 在所有托管应用程序中,处理错误由 Exception 对象表示. 在基于 SOAP 的应用程序(如 WCF 应用程序)中,服务方法使用 SOAP 错误消息来传递处理错误信息. SO ...
- java中怎么在table上显示数据
连接oracle:String result = ""; // 查询结果字符串 String sql = "select * from test"; // SQ ...