使用 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)- ...
随机推荐
- vs2013 遇到的web性能记录器无法使用问题
诊断和修复Web测试记录栏的问题.自2005年以来VSTS运也出现了各种由客户多年来提出不同的问题.记录Web测试时,这在一定程度经常提到的一个话题是一个残疾或不存在的Web测试记录吧.因为它可以令人 ...
- POI XSSF与HSSF的 使用区别
首次写博客,希望能坚持下去,一点一滴的积累,内容不多也不深,但愿我的分享,能帮助和我一样的新人们解决问题 最近给项目中添加了一个导入excel表格的功能,然而在功能开发结束后测试,发现报错. 报错信息 ...
- 10-20日 && 抽签问题
Ants # include <cstdio> #include <algorithm> ; int L, n, x[MAX_N]; void solve() { ; ; i ...
- 点击含下拉菜单的列表/表单按钮:通过JS创建虚拟按钮并点击
${JsCode} | Get Element Attribute | XPATH=//table[@class='mnubar']//tr//td//span[text()='${MenuArr[0 ...
- JAVA环境安装
CATALINA_HOME D:\apache-tomcat-7.0.52CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarJ ...
- C#代码示例_函数
参数数组 C#允许为函数指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中的最后一个参数,称为参数数组.参数数组可以使用个数不定的参数调用函数,可以使用params关键字定义它们. 参数数组 ...
- HDU 2176
http://acm.hdu.edu.cn/showproblem.php?pid=2176 nim博弈的模型.要输出先手第一次取的情况,考虑角度是留给对手必败态 #include <iostr ...
- 简单的JS多物体的运动---运动和透明度的变化
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- What does "Rxlch" mean in ENCODE?
In ENCODE project, we could see some files are called "...rxlch...", which means "rev ...
- Android 开发之拦截EditText的输入内容,定制输入内容
1.EditText作为一个比较成熟的View,在Android的应用开发中得到极为广泛的使用.在某些特殊情况下,我们可能需要定制EditText的输入内容, 只允许指定功能的输入,例如输入一个”dd ...