Fiddler保存http请求 常用sprirct

把自己需要的请求保存下来,再用接口测试框架调用,并验证返回结果。

可以做请求录制,自动断言

保存Request

把下面代码贴在OnBeforeRequest()方法末尾

//过滤无关请求,只关注特定请求

if (oSession.fullUrl.Contains("meizu.com"))
{
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
//文件保存路径,可自定义
file = fso.OpenTextFile("D:\\Fiddler Sessions\\Sessions.txt",8 ,true, true);
file.writeLine("Request url: " + oSession.url);
file.writeLine("Request header:" + "\n" + oSession.oRequest.headers);
file.writeLine("Request body: " + oSession.GetRequestBodyAsString());
file.writeLine("\n");
file.close();
}

 

保存Response

把下面代码贴在OnBeforeResponse()方法末尾

//过滤无关请求,只关注特定请求

if (oSession.fullUrl.Contains("meizu.com"))
{
oSession.utilDecodeResponse();//消除保存的请求可能存在乱码的情况
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
//文件保存路径,可自定义
file = fso.OpenTextFile("D:\\Fiddler Sessions\\Sessions.txt",8 ,true, true);
file.writeLine("Response code: " + oSession.responseCode);
file.writeLine("Response body: " + oSession.GetResponseBodyAsString());
file.writeLine("\n");
file.close();
}

 

2.常用设置

1.断点,修改request

2.模拟response

3.filter

4.模拟弱网

5.获取返回大小

6.命令

 

3.Fiddler快捷键

=post

?qq   搜索关键字

bold baidu  加粗

 

4.常用script

(1)修改请求的显示样式

If(oSession.uriContains(“bro”)){

oSession[“ui-color”]=”purple”;

}

(2) 修改请求

if(oSession.uriContains("sogou")){

     oSession.url = "www.sogou.com?c=1";

}

(3)隐藏返回图像的session

if (oSession.oResponse.MIMEType.Contains("image"))

{

oSession["ui-hide"] = "Script hiding images";

}

 

Mock

1、Anproxy:http://anyproxy.io/cn/
AnyProxy 是一个基于 Node.js 的代理服务器。这里主要作用

(1)对https的兼容 (否则就要配置nginx拉)

(2)把需要mock的链接转移给moco,不需要的正常发送http请求

 

2.Moco 一个mockserver

http://blog.csdn.net/sanjay_f/article/details/50204883

java -jar moco-runner-0.10.2-standalone.jar start -p 5566 -c D:\mockserver\mockserver\configs\simple\foo.json
[
    {
        "request" : {
            "uri" : "/v1/public/favorite/default"
            ,
        "queries": {
            "imei": "869011020625742",
             "sn": "80QBCNJ22CW61"
        }
        },
        "response" : {
            "text" : "{\"code\":110000,\"message\":\"1111111111111111\"}"
        }
    }
]

 

Anproxy转接请求:达到不同的链接转到不同的sever处理(真实server和mockserver)

 //mark if use local response
    shouldUseLocalResponse : function(req,reqBody){
    
        if(/aa/.test(req.url)){   //被mock接口判断选择
            req.replaceLocalFile = 0;
            return true;
        }

        if(/bb/.test(req.url)){
            req.replaceLocalFile = 1;
            return true;
        }

            return false;
    },

    dealLocalResponse : function(req,reqBody,callback){
        if(req.replaceLocalFile==0){
             callback(200,'sdds','2222'); //mock数据返回给客户端
           
        }
    }

 

posted @ 2017-01-21 21:41  q55091  阅读(711)  评论(0编辑  收藏  举报