做app测试,你是否有过这样的经历?
1.后端开发同事在调试解决bug时 ,总找你拿着手机点点点,然后他在后台看数据是否异常。(一个上午,一不小心过去了)
2.前端开发同事在调试解决bug时,也找你过来帮忙造几个数据,于是你辛辛苦苦造了个数据,他点一下,数据用完了,bug没解决。于是乎又找你造数据。(一个下午,又一不小心过去了)
3.你曾经是否遇到过这种情况,当你发现一个bug提交给前端开发时,他说是后端返回数据的问题。于是你找到后端开发,他说是前端数据提交的问题,让你找前端开发。(一个晚上过去了,bug没解决。。。)
这时候要有fiddler就好了!!!
fiddler下载链接:https://www.telerik.com/fiddler
Fiddler工具简介
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据。
你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法
你越使用Fiddler,就越能帮助你了解HTTP协议。
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
Fiddler配置
打开Fiddler, Tools-> Fiddler Options (配置完后记得要重启Fiddler) 选中“Capture HTTPS CONNECTS", Fiddler就可以截获HTTPS请求。
![b31ca53a75c3350d23969136940494a3.png](https://img-blog.csdnimg.cn/img_convert/b31ca53a75c3350d23969136940494a3.png)
2.选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来。
![80b410f0ff35e32d0f8b6081c5c6a6ed.png](https://img-blog.csdnimg.cn/img_convert/80b410f0ff35e32d0f8b6081c5c6a6ed.png)
Android手机设置代理
1.首先要保证电脑和手机在同一局域网
2.查看电脑ipv4地址.打开cmd窗口输入:ipconfig
![9ae95d9d53807ba7f85a94b2270c43a2.png](https://img-blog.csdnimg.cn/img_convert/9ae95d9d53807ba7f85a94b2270c43a2.png)
3.进入手机的设置->点击进入WLAN设置->选择连接到的无线网,点右边的箭头(有的手机是长按弹出选项框)
4.代理右边这一行----
选择:手动
选择修改网络配置:1)配置主机名:与主机电脑IP地址保持一致 ;2)端口号:8888
HTTPS请求手机上安装证书
使用手机的浏览器打开:http://192.168.0.xx:8888 点"FiddlerRoot certificate" 然后安装证书
注意:测试完后,要删除wifi设置的代理,要不然关闭电脑后,手机没法上网。
IOS手机设置代理
IPhone上配置Fiddler为代理
打开IPhone, 找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口号8888
![aecfcb637a630a7002b36c0289a2e654.png](https://img-blog.csdnimg.cn/img_convert/aecfcb637a630a7002b36c0289a2e654.png)
![995934f611505e663da6e7162f26d345.png](https://img-blog.csdnimg.cn/img_convert/995934f611505e663da6e7162f26d345.png)
IPhone上安装Fiddler证书
确定Fiddler所在的PC机的IP地址
打开IPhone 的Safari, 访问 http://IP:8888, 点"FiddlerRoot certificate" 然后安装证书
打开fiddler主页面就是抓包信息了
![f5b6bcd68314377802072c040ad95767.png](https://img-blog.csdnimg.cn/img_convert/f5b6bcd68314377802072c040ad95767.png)
![3477a4c71a355aa70b682881a6317fed.png](https://img-blog.csdnimg.cn/img_convert/3477a4c71a355aa70b682881a6317fed.png)
Fiddler主要功能及实践
1、分析http请求/响应数据
2、设置断点,调试线上错误
3、设置档板服务器,自动返回各种响应
4、过滤会话,看自己想看的
实例1:分析请求和响应数据
分析http协议请求和响应内容
查看登陆请求是否加密。
中断请求响应的图示
![57c04a83713b431d0c357384caf90b48.png](https://img-blog.csdnimg.cn/img_convert/57c04a83713b431d0c357384caf90b48.png)
实例2: Fiddler中设置断点修改请求request
看个实例,模拟网站的登录, 在IE中打开某网站的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码,这样就能成功登录。
1. 用IE 打开登录界面
2. 打开Fiddler, 在命令行中输入bpu URL
3. 输入错误的用户名和密码 点击登录
4. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示
5. 结果是正确地登录了
![66b5e71358ac821ba93a47916b4e0856.png](https://img-blog.csdnimg.cn/img_convert/66b5e71358ac821ba93a47916b4e0856.png)
设置断点修改Response
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->After Response (这种方法会中断所有的会话)
如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpafter http://www.baidu.com (这种方法只会中www.baidu.com)
如何消除命令呢? 在命令行中输入命令 bpafter
实例3:创建AutoResponder规则 实现mock服务器
Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。
看个实例. 1. 打开首页,把的logo图片保存到本地,并且对图片做些修改。
2. 打开Fiddler 找到logo图片的会话, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif, 把这个会话拖到AutoResponer Tab下
3. 选择Enable automatic reaponses 和Unmatched requests passthrough
4. 在下面的Rule Editor 下面选择 Find a file... 选择本地保存的图片. 最后点击Save 保存下。
5. 再首页, 你会看到首页的图片用的是本地的。
![57ad8927757bbd7c05232a512439c1bb.png](https://img-blog.csdnimg.cn/img_convert/57ad8927757bbd7c05232a512439c1bb.png)
实例4解码
![ba9ef0e88d5bd3ef7d9b519d9b188c9a.png](https://img-blog.csdnimg.cn/img_convert/ba9ef0e88d5bd3ef7d9b519d9b188c9a.png)
![a4df9a49989b37f46669a1a3b4c74d40.png](https://img-blog.csdnimg.cn/img_convert/a4df9a49989b37f46669a1a3b4c74d40.png)
实例5模拟低速网路环境,进行弱网测试
启用方法如:Rules → Performances → Simulate Modem Speeds
![024347773addff342b1f9900eb8378b1.png](https://img-blog.csdnimg.cn/img_convert/024347773addff342b1f9900eb8378b1.png)
找m_SimulateModem这个字,你会找到下面这段:这就是他模拟网路速度的原理,每上传/下载1KB 要delay 多久。。。
![bbf311f9684afdcfeeb472065af4f8ac.png](https://img-blog.csdnimg.cn/img_convert/bbf311f9684afdcfeeb472065af4f8ac.png)
如果你习惯用kbps 去算的话,那么我们的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。请注意,当你存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选喔~