接口测试工具--Fiddler 的使用
1. Fiddler 简介
Fiddler是介于浏览器客户端和服务器之间的端口监听服务。如下图所示:他类似于中间的代理服务器,当使用fiddler时,请求直接发送到fiddler代理网桥,fiddler将请求转发给服务器,同样,服务器的响应也发送给fiddler,fiddler将请求转发给浏览器。对于客户端浏览器,Fiddler 客户端就是是web服务器,对于web服务器,Fiddler模拟web浏览器。在这个过程中,Fiddler截取和记录所有传入的和传出的消息。
Fiddler sits between HTTP client nd server nd listened on port. s the finger below, it cts s €œmn-in-the-middle€ proxy, when using fiddler, the requests is being sent directly to Fiddler proxy bridge, Fiddler will forwrd the request to rel server, Likewise, the response from server is lso sent to the fiddler, fiddler will forwrd it to the browser. To the client browser, Fiddler clims to be the web server, nd to the web server, Fiddler mimics the web browser. In this process, Fiddler intercepts nd records ll the incoming nd outgoing messges.
功能:
- 针对特定的请求过滤
- 分析请求和响应的数据、
- 设置断点、调试、修改请求的数据,
- 修改服务器返回的数据
下载地址:https://www.telerik.com/fiddler
注意:在安装过程中可能会要求关闭全部浏览器
2. 首次使用
界面如下:
2.1 检查会话
fiddler界面中显示了捕获到的所有HTTP和HTTPS会话,这些消息包括如下关键信息:
# – An ID# of the request generated by Fiddler for your convenience
Result – The Result code from the HTTP Response
Protocol – The Protocol (HTTP/HTTPS/FTP) used by this session
Host – The hostname of the server to which the request was sent
URL – The path and file requested from the server
Body – The number of bytes in the Response body
Caching – Values from the Response’s Expires or Cache-Control headers
Process – The local Windows Process from which the traffic originated
Content-Type – The Content-Type header from the Response
Custom – A text field you can set via scripting
Comments – A text field you can set from scripting or the session’s context menu
每种类型的项目在左边都有一个自己的图标,下面是所有图标的列表。
2.2 Check Fiddler Inspectors
Request Inspectors
[RW] Headers Shows request headers and status.
[RW] TextView Shows the request body in a text box.
[RW] HexView ”Shows the request body in a hexadecimal view.
[RO] XML Shows the request body as an XML DOM in a tree view.
Response Inspectors
[RW] Transformer Removes GZip, DEFLATE, and CHUNKED encodings for easier debugging.
[RW] Headers Shows response headers and status.
[RW] TextView Shows the response body in a text box.
[RW] HexView Shows the response body in a hexadecimal view.
[RO] ImageView Shows the response body as an Image. Supports all .NET image formats.
[RO] XML Shows the response body as an XML DOM in a tree view.
[RO] Privacy Explains the P3P statement in the response headers, if present.
2.3 Check sttistics of the request
- Sttistics--显示所选HTTP会话的性能统计数据
- Inspectors--
- utoResponder---自动回复
- FiddlerScript-------Fiddler 脚本
- Log-----log日志
- Filters--过滤器
- Timeline--时间表
- Composer 设计改动报文
3.其他
3.1. 抓取https请求
点击 Fiddler->Tools -> Options,在 HTTPS 面板选中。做如下所示操作,并安装(需重启Fiddler生效)。
3.2. 抓取手机请求
如果想要捕获手机上的通信数据,就需要手机连接上Fiddler代理,而Fiddler默认是不允许其他设备进行连接的
a. 首先安装fiddler的电脑,跟手机需在同一局域网内
b. 点击 Fiddler->Tools -> Options,在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接(需重启Fiddler生效)。
c. 手机上配置代理,并安装Fiddler的安装证书
3.3. 需代码处理部分
Rules -> Customize Rules 打开Fiddler ScriptEditor,这里可以通过修改脚本中某些方法( OnBeforeRequest(oSession: Session)),来改变请求报文,或者返回报文中信息
注意:代码调整之后,一定要重启Fiddler重新加载CustomRules.js。
如何解决Fiddler 修改返回内容 OnBeforeResponse 无效的问题?
问题关键点是:必须在OnBeforeResponse前,设置oSession.bBufferResponse = true;
顾名思义,开启了缓存模式来处理返回内容,才能最终反馈到浏览器上,否则,保持原有的流式模式的话,就会出现修改和返回同时进行,浏览器得到的还是原版的数据。
建议在OnPeektResponseHeders中根据需要,设置bBufferResponse 。
添加的代码如下: sttic function OnPeektResponseHeders(oSession: Session) {
if (oSession.uriContins("flow/intercept")){
oSession.bBufferResponse = true; //需要在返回头这里设置buffer处理,否则,后续无法在onBeforeResponse中修改body(修改的动作不会阻塞原来的返回)
}
}
3.4 Fiddler中的Tool
编码小工具TextWizrd,如何使用呢?
1、点击TextWizrd,当鼠标放上去时,有解释:lunch the textwizrd to encode/decode text ,顾名思义:编码/解码文本的
4.参考资料
Fiddler tutoril – How to use Fiddler
接口测试工具--Fiddler 的使用的更多相关文章
- 玩转接口测试工具fiddler 教程系列1
我们在做web测试的时候,很多时候需要查看接口发送的数据返回的数据是否正常,这样可以排除是客户端的问题还是服务器的问题,举个例子来说,如果我们发现页面上面数据少了, 通过fiddler查看数据返回就少 ...
- 接口测试工具-fiddler的运用
本篇主要介绍一下fiddler的基本运用,包括查看接口请求方式,状态响应码,如何进行接口测试等 一.Fiddler的优点 独立的可以直接抓http请求 小巧.功能完善 快捷.启动就行 代理方便 二.什 ...
- 接口测试工具-fiddler
1.fiddler拦截修改数据 命令介绍: bpu在请求开始时中断,bpafter在响应到达时中断,bps在特定http状态码时中断,bpv/bpm在特定请求method时中断. 提示:命令输入区域输 ...
- python接口自动化(四)--接口测试工具介绍(详解)
简介 “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识.那么接下来让我们看看接口测试的工具有哪些. 目前,市场上有很多支持接口测试的工具.利用工具进行接口测试,能够提供 ...
- 接口测试Jmeter+Fiddler组合
接口测试Jmeter+Fiddler组合 在使用完Jmeter在做接口测试之后,个人感觉Jmeter比loadrunner好用,原因是界面操作更加直观,不必像loadrunner在写接口请求函数的时候 ...
- Python接口测试实战1(下)- 接口测试工具的使用
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- postman接口测试工具的常规使用
目录 postman接口测试工具简介与安装 postman发送get请求 JSON数据详解 postman发送post请求 postman中post请求传参说明 postman设置请求的header ...
- 接口测试基础--Fiddler、Postman、Python实现对接口的测试
写在前面:本文主要的章节规划: 1.什么是接口测试 另外,有的时候会直接调用别的公司的接口,比如银行的.淘宝的.支付宝的,此时也需要做接口测试以及验证数据: 做接口测试的好处: 其中, ...
- C#进阶系列——WebApi 接口测试工具:WebApiTestClient
前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗.由于接口个数有点多,每 ...
随机推荐
- AT2663 Namori Grundy
题目描述: luogu 题解: 好多细节,比如说每个点有且仅有一条入边. 所以说这个图一定是一个基环外向树. 考虑只是一个环的情况,我们可以发现,当环长为偶数时我们可以$01$交替染色,但环长为奇数时 ...
- bash实现自动补全
yum install -y bash-completion source /usr/share/bash-completion/bash_completion 执行后yum拥有选项自动补全功能 对于 ...
- Linux基础测试
目 录 第1章 文件及目录课后作业 1 第2章 Linux打包与压缩习题 1 第3章 Linux系统VIM编辑器习题 1 文件及目录课后作业 从/proc/meminfo中过滤出 ...
- 06 PhantomJS浏览器
PhantomtomJS PhantomJS是一款无界面浏览器,其自动化操作流程和谷歌浏览器是一致的.由于是无界面的,为了能够展示自动化操作流程,PhantomJS为用户提供了一个截屏的功能,使用sa ...
- 单机安装hadoop集群
一 .安装前准备 1.VMware虚拟内容 2.Linux系统 (CentOS-6.9-min) 镜像文件http://vault.centos.org/ 3.jdk 1.8 rpm或bin文件 ht ...
- ul标签中,li标签的移除、属性值获取
- xtu summer individual 3 C.Infinite Maze
B. Infinite Maze time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- zoj 1109 Language of FatMouse(map)
Language of FatMouse Time Limit: 10 Seconds Memory Limit: 32768 KB We all know that FatMouse do ...
- Eclipse安装插件长时间停留在calculating requirements and dependencies
如果安装插件的时候,Eclipse花费了很长的时间calculating requirements and dependencies(计算需求和依赖性 ) 这个问题通常就是在点击安装之后显示" ...
- msp430项目编程30
msp430中项目---电压检测系统 1.SVS工作原理 2.电路工作原理 3.代码(显示部分) 4.代码(功能实现) 5.项目总结