右侧还有参数提示:

默认就是这个编辑器,不是的话编辑器修改位置:Tools->Options->tools->FiddlerScriptEditor:安装地址\Fiddler\ScriptEditor\FSE2.exe

1、fiddler脚本采用的是JScript.NET语言,常用的调试方法:

  • FiddlerObject.alert(信息值) 弹窗提示
  • FiddlerObject.log(信息值) log列表中显示(log真好使)
  • 2、最主要的三个功能函数如下,顶部可直接go快速定位该三个函数:

    1)、OnBeforeRequest 类似bpu快捷方式,在请求前触发的修改,比如设置cookie等

    2)、OnBeforeResponse 类似bpafter快捷方式,在请求后触发的修改,比如修改返回值,获取返回信息等

    3)、OnExecAction 即fiddler左下角命令行中常用指令的配置处,常用的比如bpu、bpafter、urlreplace等,可以自定义,很强大

    3、业务涉及的具体实现:

    因为谷歌浏览器升级到95版本以后SameSiteByDefaultCookies的限制,跨域后不允许设置cookie,set-cookie会失效,但是测试业务时又需要用到,浏览器降级可以解决,但是不想降级。于是希望用fiddler实现获取上一个接口返回的set-cookie值,强行种到后续请求中去

    具体实现:

    1)、首先main函数中定义全局变量:

    2)、OnBeforeResponse函数中获取目标请求返回值中的set-cookie,赋值到全局变量中,具体见上面OnBeforeResponse的图

    3)、OnBeforeRequest函数中将全局变量的值给目标请求设置cookie,具体见上面OnBeforeRequest的图

    保存,搞定。