雨水的早晨
每天进步一点点,终会质变!致力于通过技术手段提高测试团队的工作效率,并改善产品交付的可靠性。
展开
-
我的Fiddler书籍:《Fiddler抓包让数据无处可藏》《玩转Fiddler》
今年的目标是个体崛起,打造个人品牌 1、由于工作的原因呢,要经常使用Fiddler抓包,修改数据,模拟各种复杂的数据场景,对Fiddler的脚本进行二次开发来满足工作需求,提高工作效率。 2、将这些技术干活写成博客和大家分享,久而久之就形成了一系列的教程。 3、我的Fiddler书籍:《Fiddler抓包让数据无处可藏》《玩转Fiddler》 4、希望能...原创 2018-06-01 15:29:41 · 7993 阅读 · 5 评论 -
什么是Fiddler ?
Fiddler 是一种流行的抓包调试工具,它功能强大,界面友好,简单易用,无论对开发人员或者测试人员来说,都是非常有用的工具。 本专栏适合想要学习和掌握Fiddler的读者阅读。通过本书,您将学会如何利用Fiddler进行抓包,掌握如何调试HTTP数据流,篡改数据,模拟各种复杂的数据业务场景。 ...原创 2019-12-16 15:50:47 · 926 阅读 · 0 评论 -
第一节:移动端如何抓包
1、首先需要在PC端安装Fiddler,设置端口 打开Fiddler,然后点击菜单栏的Tools > Fiddler Options,打开“Fiddler Options”对话框。 在打开的对话框中切换到“Connections”选项卡。 在“Connections”选项卡中可以看到“Fiddler listens on port:”,后面的输入框中有8888。可以需要根据你自己的要求修改为...原创 2019-12-16 15:53:25 · 1006 阅读 · 0 评论 -
第二节:设置断点
如何模拟设置断点? 需求: 在项目的实践过程中,经常遇到一个点击事件,触发两个并行的请求,比如A、B两个请求,哪个请求响应的比较快,则展示谁的数据。 在测试的时候,我们要测试三个场景: 如果完全依赖真实的网络,很难能够模拟去上述的场景,因为我们无法控制哪一个响应先返回,会很被动。Fiddler有模拟断点的功能来帮助我们: 操作步骤: 1、打开Fiddler,Rules->Automatic...原创 2019-12-16 16:00:00 · 376 阅读 · 0 评论 -
第三节:模拟弱网环境
如何模拟弱网环境? 移动端测试,最离不开的就是网络,现在的网络有2G、3G、4G、甚者逆天5G,当然我们用的更多还是Wifi。在测试的时候,我们要考虑网络的各种情况,网络稳定流畅,弱网环境,网络之间的切换,断网再连接等等。 今天我们就来讲讲,如何模拟弱网环境。 360WIFI模拟弱网 因为我是PC机,插入无限网卡,就能够通过360Wifi发射热点。 1、点击已连接的手机 2、选择要进行限速的设备,...原创 2019-12-16 16:04:37 · 1359 阅读 · 0 评论 -
第四节:修改REQUEST的HEADER和BODY
修改session显示样式 有时候需要将自己关注的接口标注为特殊的颜色,方便自己的查找。进行如下设置: 修改session的显示样式(颜色等) oSession["ui-color"] = "red"; 修改request的header和body 在修改数据之前,需要先明白在哪里修改这些参数的数据,需要知道如下的这个函数: static function OnBeforeRequest(oSes...原创 2019-12-16 16:14:20 · 763 阅读 · 0 评论 -
第五节:修改RESPONSE的数据
修改response的数据(一) 在项目中也经常也会碰到根据接口返回的数据不同而展示不同的效果。如果单个单个去真实的造数据会比较麻烦,况且有时候造数据也是一件很麻烦甚至无从下手的事情。 Fiddler可以修改response的数据,可以很轻松方便的解决我们造数据的苦恼。 修改response的数据 在修改数据之前,需要先明白在哪里修改这些数据,需要知道如下的函数: static functio...原创 2019-12-16 16:23:51 · 977 阅读 · 0 评论 -
第六节:打断点修改REQUEST数据
在上一节课中已经讲了如何打断点来修改response的数据,其实打断点修改Request的方法和修改Response的方法一致,只不过有以下几点不同: 打断点的方式 打断点的方式不一样,Rules->Automatic Breakpoints -> Before Requests 修改的位置: response 是在右下角的Raw的页签中,Request 是在右上角的Raw中: ok...原创 2019-12-16 16:47:04 · 190 阅读 · 0 评论 -
第七节:本地文件替换服务器文件
今天我们来分享:Fiddler工具本地文件替换服务器文件 从本质上讲,替换了服务器文件也可以理解为修改了response的响应体。 替换文件 需求: 用一个本地的文件替换一个接口的返回数据。 步骤: 1、首先应该知道该结果返回的数据内容及格式。选择接口,右键,save -> response -> response Body ,保存(例如:A.txt)了响应体。 2、文件用Notep...原创 2019-12-16 16:55:25 · 609 阅读 · 0 评论 -
第八节:修改HOST地址
今天我们来分享,如何修改host地址,其实修改的原理在之前的教程的已经分享过,该教程是对原理的具体实践 需求:将原来的请求中的host地址dispatcher.360in.com(A),调整为dispatchertest.camera360.com(B) 步骤: 1、首先来打开编辑CustomRules.js文档 2、搜索关键字,OnBeforeRequest,找到该函数 3、在该函数中添加...原创 2019-12-16 16:58:45 · 567 阅读 · 0 评论 -
第9节:一个请求是POST方法?OR GET 方法?
如何知道HTTP请求是POST方法还是GET方法呢? post方法 1、击HTTP请求,在右侧切换到Inspectors->Raw,如下图所示: 解析一下: 在第一行可以很清楚的看到POST,标明这个HTTP请求是POST方法,之后跟着HTTP请求的地址,下面展示的是请求的headers信息,以及发送的参数信息 get方法 接下来我们来对比一个GET方法,看一看两者有什么不同? 1、同样...原创 2019-12-16 17:23:40 · 299 阅读 · 0 评论 -
第10节:FIDDLER模拟POST请求
在进行接口测试时,会模拟post请求,发送不同的请求参数,返回不同的结果,今天我们就来分享一下,怎么用Fiddler工具模拟post请求: 模拟post请求 1、打开Fiddler工具,在右侧点击“composer”的选项: 2、进入到了composer 的选项之后,在parsed中进行根据http发送的请求进行选择,我们是模拟post请求,故选择post: 3、添加post的url地址,以及...原创 2019-12-16 17:28:41 · 286 阅读 · 0 评论 -
第11节:FIDDLER模拟GET请求
在进行接口测试时,有时需要模拟get请求,今天我们就来分享一下,怎么用Fiddler工具模拟get请求: 模拟get请求 1、打开Fiddler工具,在右侧点击“composer”的选项: 2、进入到了composer 的选项之后,在parsed中选择get请求,之后填写get的url地址及相关的参数,再选择http协议的版本,最后点击execute按钮。 3、即可模拟get请求了! ...原创 2019-12-16 17:31:35 · 392 阅读 · 0 评论 -
第12节:通过命令设置断点
在之前的教程中,有讲到通过Rules->Automatic Breakpoints ->点击 Before Requests 或者 after Response 设置断点,但是该方法会阻止所有的请求,不太合适。 今天我们就来分享如何通过命令对特定的请求设置断点: 首先我们需要命令行,命令行位于状态栏的上方,如下图所示: 命令 help:会带你到命令行的帮助页 ?sometext:高亮...原创 2019-12-16 17:35:20 · 493 阅读 · 0 评论 -
第13节:抓取HTTPS请求
Fiddler抓取HTTPS设置 注意以下操作的前提是,手机已经能够连上Fiddler,这部分的配置过程简单就不赘述了,可参考:手机如何连接Fiddler 。 如何继续配置让Fiddler抓取到HTTPS协议呢? (一)给fiddler安装certmaker插件 由于默认的证书不符合Android和iOS的证书要求,所以,需要下载 certmaker插件,双击安装后,重启fiddler。注意这一步...原创 2019-12-16 18:15:52 · 2063 阅读 · 0 评论 -
第14节:AUTORESPONDER使用的小技巧
经常会使用AutoResponder功能来替换服务器返回的数据,每次都是使用find a file… 选项,就是提前在本地已经创建好一个文档,之后选择。 今天就是我们就来分享另外一个功能,create new response… ,不用提前准备好文档,直接在提供的编辑器中填写内容就可以。 步骤: 1、选中想要拦截的请求 2、然后在 Request 面板选择 AutoResponder 3、再选择...原创 2019-12-16 18:19:59 · 296 阅读 · 0 评论 -
第15节:深入研究AUTORESPONDER
之前的课程(本地文件替换服务器文件) 中有讲到在AutoResponder中需要勾选两个选项,如下图所示: 但是这些选项的作用分别是什么,就没有仔细的深究了,今天我们就来详细的讲解一下: Enable rules 复选框的含义是:控制是否激活AutoResponder选项卡,如果没有选中该选项,选项卡上的其他选项就不可选。也就是说,不勾选此项,AutoResponder是不起作用的。 Unmat...原创 2019-12-16 18:23:52 · 195 阅读 · 0 评论 -
第16节:编码小工具TEXTWIZAR
编码小工具TextWizar Fiddler中提供的编码小工具TextWizard,如何使用呢? 1、点击TextWizard,当鼠标放上去时,有解释:launch the textwizard to encode/decode text ,顾名思义:编码/解码文本的 2、弹出TextWizard窗体,在1区域填写要加码或者解码的文本,在Transform选中选择要转换的方式,就会在区域2中显示...原创 2019-12-17 14:47:54 · 421 阅读 · 0 评论 -
第17节:COMPOSER使用的小技巧
Composer使用的小技巧 我们会使用Composer功能来模拟发送POST、GET请求,最大的难点就是填写发送的数据,尤其是post方法,要填写的数据比较多,刚打开composer面板时,还是一片空白,也没有参照,稍不留神就会填写错误,导致接口请求不到数据,或者请求错误。 今天就来教大家一招,怎么根据已有的接口来【预填写】一部分信息,可以在现有的基础上进行调整修改,有模板做参照,难度会降低许...原创 2019-12-17 14:48:47 · 198 阅读 · 0 评论 -
第18节:FIDDLER中如何过滤会话
Fiddler中如何过滤会话 在抓包时,会捕捉到很多的会话,但是我们只关心特定的接口会话,这个时候我们可以使用过滤功能,来帮助我们从一大堆会话中筛选去我们关心的会话: 进行如下的设置,如图所示: 1、捕捉到 一堆的会话,但仅仅需要查看api.altamob.com hostname的会话: 2、进行如下设置 3、Actions—选择Run Filterset now 4、OK,只展示api....原创 2019-12-17 14:53:17 · 263 阅读 · 0 评论 -
FIDDLER可以用来干啥?!
Fiddler的功能,完全可以用一张图来概括总结,真的是很精辟啊!所以开篇就和大家来分享一下:原创 2019-12-17 15:00:55 · 2556 阅读 · 0 评论 -
第19节:实践出真知
一、打断点和AutoResponder返回404/502等状态码的不同 之前一直以为这两种方式没有区别,都是阻断了请求,改变了返回结果。但是今天在测一个问题时,却恍然间明白了两者的不同。 1、打断点,是阻塞了请求,一直没有结果返回,请求将在线程中一直存在,直到超时被踢出来。 2、AutoResponder返回404/502,这种情况是有结果返回的,代表请求也结束了,不会在线程中一直存在。 线程,细...原创 2019-12-17 15:06:47 · 246 阅读 · 0 评论 -
第20节:芝麻开花节节高
一、自定义添加一列展示请求方法 class Handlers { *** //自定义添加一列展示请求方法【post/get/connect】,display order 可以手动的任意拖动 public static BindUIColumn("Method", 60) functionFillMethodColumn(oS: Session): String {...原创 2019-12-17 15:27:15 · 290 阅读 · 0 评论 -
第21节:鲤鱼跃龙门
讲fiddler熟悉到一定程度,你就可以随心所欲的二次开发了,玩转Fiddler从这里开始: 一、如何显示请求花费的时间 背景:在项目中,客户端会根据服务端响应的时间来决定走哪条业务分支,之前是通过开发人员打印的log日志来验证服务端消耗的时间,比较麻烦。就想着Fiddler能不能获得一个请求花费的时间呢,还真的就找到了一个方法,今天就和大家分享一下: 需求: Fiddler显示请求花费的时间 ...原创 2019-12-17 15:34:11 · 310 阅读 · 0 评论 -
第22节:百尺竿头更进一步
百尺竿头更进一步 学会了使用Fiddler工具,就要学以致用,让它对我们的工作发挥到最大的作用,最高的目标是发挥得淋漓尽致。 一、显示请求服务器的IP地址(上) 情况描述: 我们的sdk(项目)用一些get方法向服务器发送了不同的操作轨迹日志,在进行测试的时候,也需要在服务端的日子记录中找到对应的操作日志,因为服务器有好多台,并不确定会把请求分配到哪一台服务器上,所以就没有办法,只有一台服务器一台...原创 2019-12-17 15:43:28 · 238 阅读 · 0 评论