Fiddler-自动保存请求到本地文件夹

背景

尝试搭建移动端自动化测试流程,预想流程为:利用appium模拟用户触发请求–》利用fiddler抓取请求–》验证请求是否符合预期。
网上查阅资料,发现Fiddler的Customize Rules功能,支持用户添加脚本(Java Script)来实现自定义功能。
如何利用Fiddler抓取移动端请求在这里不加赘述,网上资料很多也很全。

第一步:启动fiddler,并打开Fiddler ScriptEditor

点击顶部工作栏中的“Rules–》Customize Rules…”,如下图所示:
在这里插入图片描述

第二步:ctrl+f找到OnBeforeRequest函数,并添加自定义函数功能

在这里插入图片描述
添加完代码保存后,无需重启fiddler。
第一种:保存请求的url到本地的request.log文件中

if (oSession.HostnameIs(“域名”) && oSession.uriContains(“期望字符”)){
var filename = “D:/workspace/…/request.log”;
var curDate = new Date();
var logContent = “[” + curDate.toLocaleString() + "] " + oSession.PathAndQuery + “\r\n”;
var sw : System.IO.StreamWriter;
if (System.IO.File.Exists(filename)){
sw = System.IO.File.AppendText(filename);
sw.Write(logContent);
}
else{
sw = System.IO.File.CreateText(filename);
sw.Write(logContent);
}
sw.Close();
sw.Dispose();
}

保存效果如下图:
在这里插入图片描述
第二种:保存完整的请求到本地request文件夹中

if(oSession.HostnameIs("域名")){
        var url = oSession.url.ToString();
        url= url.Substring(26);//标识截取的起始位置
        url=url.Replace("\\","_");
        url=url.Replace("/","_");
        if(url.Contains("?")){
            var postion = url.IndexOf("?");;
            url = url.Substring(0,postion-1); 
        }
        oSession.SaveSession("D:/workspace/.../request/"+url+".txt",false);

我为了能保存测试过程中所有的请求,在文件名称中添加时间戳:

var now = new Date();
        var ts = now.getTime();
    //  var ts = now.getFullYear()+now.getMonth()+now.getDate()+now.getDay()+now.getHours()+now.getMinutes()+now.getSeconds()+now.getMilliseconds();
    ...
        oSession.SaveSession("D:/workspace/.../request/"+url+ts+".txt",false);

保存效果如下图:

最后,提醒大家Fiddler ScriptEditor是运用Java Script编写,不要用错语言,我一开始研究了好久老是报错,后来发现是语言用错了。
————————————————
版权声明:本文为CSDN博主「zytthappy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zytthappy/article/details/80535400

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值