fiddler自动保存mysql_接口测试 Fiddler 自动保存会话 (请求)

为什么要保存请求?

做这件事最重要的目的之一就是,最近我需要实现一个简单的验证服务器接口正确性的这么一个测试工具(脚本),顺便把这(保存会话)记录下来分享给大家。

有时间我会把我初步的想法整理好分享出来,大家一起来探讨它的可行性,它不一定适用你们的业务,但是非常适合我项目的业务。虽然它也可能难产,但是我想尽力去做、去完成,也算巩固一下自己的知识,应用到项目中去。

保存单个请求

选中某个请求,右键就能看到菜单中的Save

44252326cfde86fcb2a5e7d57acb7a90.png

Selected Sessions

in ArchiveZIP 保存为saz文件,其实就是一个zip格式文件

as Text 以txt文件形式保存整个会话包括Headers/Request/Response

as Text (Headers only) 仅保存头部

Request 保存请求信息

Response 保存响应体,即服务器返回的数据

and Open as Local File 保存Response信息,并打开文件

打开保存的请求文件

POST类型

50c574ef9b3fc11c08f9c11fe510dd5e.png

GET类型

93d6777293309f44c04f34eb8026a308.png

乱码的解决方法

相信细心的你也注意到了,前面POST类型的请求,Response body是乱码,这并不是我们希望看到的。那样怎么做呢?下面贴张图,你就秒懂了。

5e551073a94f445d0ac44a19dd3eb928.png

没错,就是Response body Fiddler默认采用了GZIP压缩,只要我们勾选None,再导出就不是乱码了

789ad7428599df0eab18bb3bdc76f8be.png

保存所有请求

菜单File >> Save >> All Sessions,文件将以saz的形式保存下来(实际就是一个ZIP文件,也可以加密保存)

SAZ是一种以.SAZ为后缀的文件格式。SAZ是Session Archive Zip的缩写。 SAZ文件用于保存HTTP请求的信息。 在Fiddler软件使用SAZ格式用来保存和读取HTTP请求信息。

_index.htm : 一个可选文件,便于用户直接阅读。这个文件在SAZ文件被加载时不会被处理,仅仅用于手工检查。

raw文件夹:包含所有的记录了网络Sesison信息的文件。

在raw文件夹内,对于每一个网络Sesison,会有三个文件:

sessid#_c.txt:包含客户端请求

sessid#_s.txt : 包含服务器端请求

sessid#_m.txt:包含一些元数据,比如:Session标志位,socket重用信息,等等。

51dbc43f492afc8fbecaa1aee99b4cbc.png

自动保存请求的猜想

过滤掉无关的请求,只关注自己想要的请求

利用Fiddler的Customize Rules实现过滤(也可利用Filters功能实现过滤 >> 简便、快捷),自动保存

js 实现过滤时,如果已经保存过的请求,可以考虑不再保存(可选)

自动保存已实现

2016.07.21 14:20更新

经过一上午的踩坑,终于把自动保存功能实现了,下面分享给大家。

先来看一张自动保存的请求片段

38556a7c9ed25df2fae8400aed407a55.png

重点来了,下面是实现的js代码

操作步骤

Fiddler菜单 >> Rules >> Customize Rules

如果提示没有下载Fiddler ScriptEditor则按提示下载后进入下一步操作

安装好Fiddler ScriptEditor后,就能打开Customize Rules.js文件

编辑Customize Rules.js文件,并保存

重启fiddler

保存Request

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

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

if (oSession.fullUrl.Contains("szhome.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("szhome.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();

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值