Fiddler修改接口下行数据,mock测试
应用场景:在不修改服务器代码的情况下,临时改变接口下行数据值,便于查看界面效果。。
使用工具:Fiddler
使用方法:连接Fiddler,使用代理。
Fiddler配置方法如下:
1、定位到FiddlerScript,OnBeforeResponse()函数下:
2、在OnBeforeResponse()函数里面编写如下脚本:
if (oSession.uriContains("/v3/api/guess/sss")){ //判断,当session的uri地址中包含“XXX”时 var responseJsonString=oSession.GetResponseBodyAsString(); //获取response中的JSON数据,以字符串的形式接收 var responseJSON=Fiddler.WebFormats.JSON.JsonDecode(responseJsonString); //转化为JSON数据,以便于编辑 var data = responseJSON.JSONObject["data"]; //获取“data”中的数据 if(data.Contains("config")){ //如果data中的数据中,包含“config”字段 data["config"]["appleIdentify"]="online"; } var myResponseJSON= Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject); //转换回字符串 oSession.utilSetResponseBody(myResponseJSON); //替换ResponseBody中的JSON数据 }
2.1、多个接口修改 || 连接,完整结构如下:
if (oSession.uriContains("uri1") || oSession.uriContains("uri2")){ var responseJsonString=oSession.GetResponseBodyAsString(); var responseJSON=Fiddler.WebFormats.JSON.JsonDecode(responseJsonString);
var data = responseJSON.JSONObject["data"]; if (data.Contains("...")){ data["..."] = xxx; } ...... var myResponseString= Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
oSession.utilSetResponseBody(myResponseString); }
3、脚本编写完成后,点击保存,通过代理访问就ok了。。