使用 Fiddler2 进行接口测试的方法
一 前言
部分业务需要进行接口测试,而接口测试的覆盖度稍有不全,可能就会造成包括启动崩溃在内的严重问题。目前本人所在的团队中业务大量使用了本地代码中直接 mock 数据进行测试,此种方法虽然可以测试到部分展现异常,
但是对数据解析部分的测试是无能为力的,因此有没有办法直接模拟整套接口流程,充分测试接口的健壮性呢?
带着这个疑问,在 google 一通后,发现 fiddler2 可以方便的对接口进行拦截,随心所欲构造测试数据,从而对接口进行完整充分的测试。
二 Fiddler2 测试接口使用方法
2.1 Fiddler2 AutoResponder
开启 Fiddler2 中 AutoResponder 功能可以方便对接口进行拦截。具体原理简要描述见如下流程图:

完整测试截图如下(以信息流短内容接口测试为例):
1. 设置规则,对接口进行拦截。开启 Enable rules,添加规则,在下部分的 Rule Editor 中填入需要拦截的接口地址,然后可以任意指定返回结果,可以是各种状态码或者是自定义 json 文件。
以上述例子为例,http://test.cn/api/v1/channel 为接口地址,这里设置了规则对其进行拦截,然后指定了自定义的 json 文件(位于桌面 4_.txt),改 json 数据可以随意更改供测试接口的健壮性。

2. 手机设置连接 fiddler2 代理,然后访问接口。
3. Fiddler2 检测到对接口的访问,就以设置好的规则返回我们定义好的各种数据。
总结
通过 fidder2 代理的方法,我们可以直接对整个接口进行拦截,整个测试流程和生产环境保持一致,既可以测试到数据解析部分,又可以方便测试到展现部分,成本非常小。
在信息流进行接口测试的过程中,感觉非常方便,因此在这里向大家进行推广!
使用 Fiddler2 进行接口测试的方法的更多相关文章
- python3 接口测试 一般方法
第一步: 导入相关包 import http.client 第二步: 将ip和端口号,使用如下命令,赋值给变量. conn = http.client.HTTPConnection("124 ...
- python2 接口测试一般方法.
接口测试方法: 1. import requests 2. 创建一个url变量,并经访问的地址赋值给它.(包括端口后面的 接口的部分) 例如: url = "http://124.193.9 ...
- postman如何绕过登录账户和密码验证,进行接口测试的方法
实测于:2019.01.08 参考原文:https://yq.aliyun.com/ziliao/403942 一.获取登录后的cookie数据 1.打开浏览器: 2.启用开发者模式(F12键): 3 ...
- RobotFrameWork http/https oauth接口测试 (二)
在RobotFrameWork http/https oauth接口测试 (一)中,大致介绍了相关的概念,终于可以步入正题了~~~ 先介绍下项目背景: 公司的项目采用的授权模式是第三种resource ...
- python之unittest框架实现接口测试实例
python之unittest框架实现接口测试实例 接口测试的方法有很多种,具体到工具有postman,jmeter,fiddler等,但是工具的局限性是测试数据的组织较差,接口的返回工具的判断有限, ...
- 苹果强制使用HTTPS传输了怎么办?——关于HTTPS,APP开发者必须知道的事
WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<htt ...
- 使用Jmeter进行http接口性能测试
在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具. 但是Postman只能模拟单客户端的单次请求,而对 ...
- API 自动化框架
API 自动化框架 个人认为接口自动化测试使用python语言编写更加简单,但所有接口自动化项目代码的思维都是一样的 1.项目包结构 1.case:存放用例数据的包,将所有用例数据以配置文件形式传入 ...
- Linux下常用系统分析工具总结(转)
1.1 top top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具. Top常用的可选参数和其对应的含义如下: (1)-c:显示完整的命令: (2)- ...
随机推荐
- <li>高度自适应
使用ul和li代替表格进行排版的时候,会发现li无法自适应高度. 只需要将li的overflow置为auto就可以了,因为li默认的overflow是visible,会将内部元素显示在li之外. ...
- Xcode5 运行程序 提示IOS 模拟器未能安装此应用程序
更新了Xcode5,结果模拟器各种不配合,首先遇到的问题就是提示“IOS 模拟器未能安装此应用程序” 上网查了一下,网友给出的解决办法“删除~/Library/Application Support/ ...
- ubuntu auto install update
sudo apt-get update sudo apt-get dist-upgrade 32bit mode sudo dpkg --add-architecture i386
- zlhome.com Deal
using AnfleCrawler.Common; using System; using System.Collections.Generic; using System.Linq; using ...
- Objective-C学习笔记-第一天(1)
.h头文件,用于声明一些公开的属性.方法.头文件一般不会放太多的东西,没必要暴露太多接口,私有和封装. .m主文件,用于实现.h文件中的方法,以及一些其它的方法. -(返回值)方法名参数1名称:(参数 ...
- JS 功能弹框封装
// 功能提示弹框 function messageBox ( option ) { var html = ''; html += '<div class="message-box-h ...
- Python学习路程day13
JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. ...
- C++ iostream的线程安全性问题
标准C里面的printf, fprintf之类的,会给FILE指针上锁(在unix平台上就是记录锁,按照msdn的说法windows上也有类似的锁),所以单次函数调用总是线程安全的: 要注意,这里只对 ...
- Sublime Text 3安装与使用
本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html)的笔 ...
- IOS 取消表格单元格 TableViewCell 去掉高亮状态 点击Cell取消选择状态
以下是两种实现效果 1. 自定义cell 继承UITableViewCell 重写 -(void)setSelected:(BOOL)selected animated:(BOOL)animated ...