fiddler修改接口响应的几种方式

引子

在做业务功能测试的时候,时常需要模拟某种特殊的业务场景,而这种业务场景在常规业务流程下难以复现,此时需要将这个业务流程按照对应的技术框架做结构拆分,从验证各个拆分部分+关联接口从而验证整个业务是否满足预期。

其中一种是验证某个数据流到客户端的后的响应,这里主要是讲到验证app在获取后端一些特定数据后做出响应的业务过程。

思路:利用fiddler抓包并修改接口响应结果,以模拟出app端业务响应所需条件,然后验证客户端的功能反馈即可。

三种实现方式

1.通过设置Rules-Automatic Breakpoint-After Responses选中,为接口打断点的方式设置响应结果。

图中标红1为比如修改34℃为38℃,2修改完毕点击运行完成

优点:方便对一个接口单步调试

缺点:断点规则同样会阻塞其他接口的执行,目标接口可能需要等待前置接口执行完毕,需要和app端同步进行;修改响应结果的操作时间较长有时会导致在app端的响应失效。

2.通过设置AutoResponder可以批量使接口按照预期的结果执行。

图中标红部分:

1--增加目标接口匹配规则(正则表达式)

2--编辑和保存匹配字符串

3--设置响应结果

3.通过设置FiddlerScript脚本直接设置接口响应过程

static function OnBeforeResponse(oSession: Session) {

//其他默认代码......

if (oSession.fullUrl.Contains("www.sojson.com/open/api/weather/json.shtml?city")){

//对响应结果解码

oSession.utilDecodeResponse();

//设置替换响应结果内容

oSession.utilReplaceInResponse('"date":"17日星期一","high":"高温 34℃"','"date":"17日星期一","high":"高温 38℃"');

}

}

优点:接口执行效率基本没有损耗,更接近真实情况下接口响应过程;只需修改脚本保存就可,适合复杂情况下模拟接口执行过程

缺点:需要对脚本语法和api有一定了解,文档资料较少

script用法参考:http://www.fiddlerbook.com/Fiddler/dev/ScriptSamples.asp


补充:上面第三种修改脚本的方式,比较熟悉fiddler script语法后可以做到更灵活使用。比如可以在手工测试的时候抓取目标接口数据,并以某种格式保存写文件中,然后清洗接口数据再拼装,可作为自动化接口测试的数据来源之一。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,258评论 6 13
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,109评论 25 709
  • 一:LoadRunner常见问题整理1.LR 脚本为空的解决方法:1.去掉ie设置中的第三方支持取消掉2.在系统属...
    0100阅读 4,392评论 0 11
  • 2017.2.22晨起感恩 累计47 感恩大恩上师及诸佛菩萨的护佑和加持 感恩历代宗亲的传承 感恩老妈养育之恩,...
    鹊曾阅读 219评论 0 0