编辑fiddler脚本推荐使用默认的fiddler脚本编辑器,虽然没有代码补全,但是有错误提示
右侧还有参数提示:
默认就是这个编辑器,不是的话编辑器修改位置: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的图
保存,搞定。