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了。。