目录

1、抓本地包:

2、按URL过滤:

3、拦截脚本:

4、FiddlerScript:

4.1、OnBeforeResponse:

4.2、文件操作:

4.3、添加菜单按钮

4.4、csv文件的处理

4.5、列表操作

4.6、JSON操作

4.7、JScript(C#)

4.7.1、object[]转byte[]


1、抓本地包:

在IP地址后面加个点:127.0.0.1.

或者直接用外部地址:192.168.X.X,就不需要加点号了

2、按URL过滤:

3、拦截脚本:

4、FiddlerScript:

JScript.Net语法:http://doc.51windows.net/jscript5/?url=/jscript5/dir.htm

C#语法:在脚本中可以直接使用C#语法,只是定义变量是采用  var varName:varType的方式,直接用C#代码需要import包

4.1、OnBeforeResponse:

可以对响应体内容进行修改,这里响应体内是拦截的是Java后台用GZip压缩的数据,这里处理后返回原数据:

    static function OnBeforeResponse(oSession: Session) {if (m_Hide304s && oSession.responseCode == 304) {oSession["ui-hide"] = "true";}if (oSession.fullUrl.Contains("YSSUCOBRIDGE")) {var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var respStr = oSession.GetResponseBodyAsString();var respByte: byte[] = Convert.FromBase64String(respStr);var depressedByte: byte[] = Utilities.GzipExpand(respByte);var depressStr = Convert.ToBase64String(depressedByte);var e = depressStr;var t = "";var n, r, i;var s, o, u, a;var f = 0;e = e.replace(/[^A-Za-z0-9\+\/\=]/g, "");while (f < e.length) {s = _keyStr.indexOf(e.charAt(f++));o = _keyStr.indexOf(e.charAt(f++));u = _keyStr.indexOf(e.charAt(f++));a = _keyStr.indexOf(e.charAt(f++));n = s << 2 | o >> 4;r = (o & 15) << 4 | u >> 2;i = (u & 3) << 6 | a;t = t + String.fromCharCode(n);if (u != 64) {t = t + String.fromCharCode(r)}if (a != 64) {t = t + String.fromCharCode(i)}}depressStr = utf8_decode(t);oSession.utilSetResponseBody(depressStr);}}static function utf8_decode(e: String): String {var t = "";var n = 0;var r = 0;var c1 = 0;var c2 = 0;var c3 = 0;while (n < e.length) {r = e.charCodeAt(n);if (r < 128) {t += String.fromCharCode(r);n++} else if (r > 191 && r < 224) {c2 = e.charCodeAt(n + 1);t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2} else {c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);n += 3}}return t;}

4.2、文件操作:

其中depressStr为每个请求写入文件的内容:

var fso = new ActiveXObject("Scripting.FileSystemObject");var a = fso.CreateTextFile("C:\\Users\\Administrator\\Desktop\\output.xls", true);a.WriteLine("input");for (var i:int = 0; i < reqArr.length; i++) {try {if (String.IsNullOrWhiteSpace(reqArr[i])) {continue;}a.WriteLine(reqArr[i]);} catch (ex:Exception) {}}a.Close();reqArr = new Array();FiddlerObject.alert("保存成功");

4.3、添加菜单按钮

https://www.cnblogs.com/zhm450/p/6770595.html?utm_source=itdadao&utm_medium=referral

https://www.cnblogs.com/weekend001/p/3475980.html

 public static ToolsAction("FAST Print")function FASTPrint(){var str = "";for (var n:int = 0; n < reqArr.length; n++) {str += reqArr[n] + "\r\n";}FiddlerObject.alert(str);}public static ToolsAction("FAST Clear")function FASTClear(){reqArr = new Array();}public static ToolsAction("FAST Save")function FASTSave(){var fso = new ActiveXObject("Scripting.FileSystemObject");var a = fso.CreateTextFile("C:\\Users\\Administrator\\Desktop\\output.xls", true);a.WriteLine("input");for (var i:int = 0; i < reqArr.length; i++) {try {if (String.IsNullOrWhiteSpace(reqArr[i])) {continue;}a.WriteLine(reqArr[i]);} catch (ex:Exception) {}}a.Close();reqArr = new Array();FiddlerObject.alert("保存成功");}

4.4、csv文件的处理

如果想要将结果数据保存到csv文件中,供Jmeter使用,这里可能出现的问题是,csv文件是采用逗号分隔,如果需要写入文件中的数据有逗号,可能需要采用以下方式处理:

如果字段中有逗号(,),该字段使用双引号(")括起来;

如果该字段中有双引号,该双引号前要再加一个双引号,然后把该字段使用双引号括起来。

4.5、列表操作

var reqHeaderArr = new Array();
reqArr[reqArr.length] = "XXX";    这里注意length是小写

4.6、JSON操作

var sInput = '{}';
var oJSON = Fiddler.WebFormats.JSON.JsonDecode(sInput);
oJSON.JSONObject["USER"] = oSession.oRequest.headers["USER"];
oJSON.JSONObject["POST"] = oSession.oRequest.headers["POST"];
var result = Fiddler.WebFormats.JSON.JsonEncode(oJSON.JSONObject);

4.7、JScript(C#)

可以像C#一样import System相关包,但是JScript里面不能用List只能用ArrayList,备一些代码以后可能用得到

4.7.1、object[]转byte[]

object[] objBytes = new object[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
byte[] bytes = new byte[objBytes.Length];
for (int i = 0; i < objBytes.Length; i++)
{bytes[i] = Convert.ToByte(objBytes[i]);
}

Fiddler 基本使用及自动化测试相关推荐

  1. WEB 自动化测试工具 Selenium 简介及其应用

    2019独角兽企业重金招聘Python工程师标准>>> 最近我们要对站点的指定 url 测试其页面请求完整性,并分析每个请求参数是否正常.如果不使用自动化测试工具,你也可以人肉点击. ...

  2. 软件测试工程师晋升之路

    软件测试工程师晋升之路 发展之路 测试工程师 -> 自动化测试工程师 -> 测试开发工程师 -> 测试架构师 测试种类 功能测试 界面测试 性能测试 负载测试 自动化测试 强度测试 ...

  3. 软件测试自学笔记01:入门综述

    一.体系 操作系统基础 软件开发知识 软件测试理论和实战 自动化测试工具 项目实训 二.测试工具 功能自动化测试:QTP/UFT, Selenium 性能自动化测试:Loadrunner, Jmete ...

  4. 什么是接口?为什么要使用抓包工具?Fiddler实现截包与篡改、接口自动化测试

    什么是接口? 接口是提供系统服务的一种渠道,主要用于数据的交互. 数据包进行交互. (从本地的外网IP地址,向百度的搜索引擎发送了一条搜索的请求,经由打包,变成一个数据包,传递到百度服务端,服务端经过 ...

  5. 使用Fiddler/Charles+Jmeter进行接口自动化测试和接口性能测试(关联接口测试、接口自动化测试、脚本录制、软件测试、性能测试、测试工具)

    目录 1.Fiddler篇,脚本录制,接口自动化测试,性能测试 2.Charles篇,脚本录制,接口自动化测试,性能测试 背景:有时候不是说我们不懂一个一个接口进行拼装编辑,只是为了我们能更好更快的进 ...

  6. 老大说要自动化测试,我是怎么做的可以看看

    刚来公司两个月,老大说我们要把测试自动化做起来. 内心OS:接口自动化好做,把之前公司做过的的搬过来改一改就好了. 我:那么我们就做接口自动化吧! 老大:为啥选接口自动化而不是UI自动化呢? 我:测试 ...

  7. 分步骤学习自动化测试

    软件自动化测试的学习步骤   大概步骤如下:   1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Java ...

  8. python自动化测试视频百度云-Python接口自动化测试视频教程下载

    Python接口自动化测试视频教程下载 课程介绍: 此套Python接口自动化测试视频教程适合入门接口测试和学习python+requests自动化的学员学习,教程对http协议.fiddler抓包与 ...

  9. python自动化测试视频百度云-Python接口自动化测试 PDF 超清版

    给大家带来的一篇关于Python自动化相关的电子书资源,介绍了关于Python.接口自动化.测试方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小61.2 MB,王浩然编写,目前豆瓣.亚马 ...

最新文章

  1. Linux命令中的Z原来是这个意思
  2. java中xpath_java-xpath学习
  3. Double Free浅析
  4. docker安装jira心得
  5. iPhone 14新配色曝光:比土豪还土豪 颜色更深
  6. 使用Maven开发Hadoop
  7. 远程连接windows系统提示:其他用户要远程登录,需要通过远程桌面服务进行登录的权限......
  8. 天津检验检疫局完成核心业务容灾备份系统建设
  9. 关于QT中的音频通信问题
  10. matlab complex
  11. 【Spring-tx】关于spring事务的思考
  12. 【PyCharm 使用指南】之汉化插件(官方提供)
  13. 获取JSON文本(复嵌对象)转换指定JSON数据并Ajax实现数据初始可视化【附上echarts地图官方数据形式json文件数据】
  14. 中国首位00后CEO惹事了,被指抄袭开源项目,素材图都不换
  15. 桌球java_java实现一个桌球小游戏
  16. python后端需要什么基础_学习Python需要哪些基础知识?_后端开发
  17. Python使用 Pyvisa库 控制 NI 设备Fluke(详细)
  18. Sniffing and sending packets is not available: winpcap is not installed
  19. Excel批量合并相同表头的表格
  20. Centos 7 无法启动,Entering emergency mode问题解决

热门文章

  1. 如何设置网页页面高度100%
  2. Android评分栏示例
  3. Windows WSL安装GNU Radio
  4. 如何让安卓vivo IQOO手机连接adb
  5. html文件中未定义属性名错误,错误:无法读取未定义的属性已检查
  6. Docker hub镜像加速
  7. linux-ubuntu下使用linuxdeployqt+appimagetool将qt程序打包成xxx.AppImage文件
  8. springboot中maven文件pom.xml的<resource>下的<includes>和<excludes>
  9. 赛金得PMO建设的实践——《PMO论文集(2019)》(电子版)
  10. SpringBoot搭建SSM框架项目,支持JSP页面