FiddlerScript-常用总结

没有用过Fiddler的人应该对FiddlerScript没啥感触,我是真心觉得FiddlerScript对测试有一定的帮助哈。

在web前端开发过程中,Fiddler是最常用的一款调试工具,那对于测试来说,对测试来说也是一大利器。在大多数情况下,通过Fiddler的菜单就可以满足我们基本的使用,但是涉及比较复杂的场景,通过fiddler基本菜单无法满足。这时候就可以利用FiddlerScript,

1通过断点可以修改http请求和相应的数据,不过不可以更改http头部,url,http相应码等等,所以这时候FiddlerScript就可以爬上用场了。

2因为设置断点更改http请求数据,手动查找参数,输入,点击重新启动按钮,这一系列的动作就耗费一定的时间,有时候前段判断响应的时间比较短,还没来得及修改完,响应时间超时,那么更改无效,所以这时候FiddlerScript实现自动修改就爬上用场了。

下面介绍贴上我常用的FiddlerScript  ,OnBeforeRequest部分

//更改http头文件,两种方式都可以
 if (oSession.uriContains("172.16.0.62")) {
     oSession.oRequest.headers["lat"]="22.547";
 //oSession.oRequest["lon"] = "114.125";
 }
 //移除某个头文件
 if (oSession.uriContains("objectId=1")) {
     oSession.oRequest.headers.Remove["lat"];
 }
 //增加头文件
 if (oSession.uriContains("172.16.0.61")) {
     oSession.oRequest.headers.Add("lat","22.548")
 }
 //host 是要写完整
 if (oSession.host == "hstoa.wisdom-gps.com:8888") {      
 }

if (oSession.uriContains("172.16.0.61")) {
     oSession["ui-color"] = "winered";
 }

//修改get请求url
 if (oSession.uriContains("C_Account/LogOn")){
     var geturl = oSession.url
     geturl=geturl.Replace("111111","222222");
     oSession.url = geturl;
 }

//修改post请求的boby
 var strBody=oSession.GetRequestBodyAsString();
 // 用正则表达式或者replace方法去修改string
 strBody=strBody.replace("1111","2222");
 // 弹个对话框检查下修改后的body               
 FiddlerObject.alert(strBody);
 // 将修改后的body,重新写回Request中
 oSession.utilSetRequestBody(strBody);

//将请求URI中http协议替换成https协议
 oSession.fullUrl = "https" + oSession.fullUrl.Substring(oSession.fullUrl.IndexOf(‘:‘));

常用的OnBeforeResponse部分:

//增加响应头
 if (oSession.uriContains("C_Account/LogOn")) {
     oSession.oResponse.headers.Add("test1","11111")
 }
 //修改响应头
 if (oSession.uriContains("C_Account/LogOn")) {
     oSession.oResponse.headers["Date"] = "Wed, 27 Oct 2016 03:11:15 GMT";
 }
 //移除响应头
 if (oSession.uriContains("C_Account/LogOn")) {
     oSession.oResponse.headers.Remove["Date"] ;
 }
 //修改http状态码
 if (oSession.uriContains("C_Account/LogOn")) {
     oSession.responseCode = "404"
 }
 //修改响应boby,如修改Result值1更改为2
 if (oSession.uriContains("C_Account/LogOn")) {
     var bobystr = oSession.GetResponseBodyAsString();
     bobystr = bobystr.Replace("\"Result\":1","\"Result\":2");
     oSession.utilSetResponseBody(bobystr);
 }
 //响应状态标识颜色
 if (oSession.uriContains("C_Account/LogOn")) {
     var reponseboby = oSession.GetResponseBodyAsString()
     if (reponseboby.Contains("\"Result\":0")) {
     oSession["ui-color"] = "blue";
     }
 }

时间: 2024-10-25 02:02:36

FiddlerScript-常用总结的相关文章

Day5 - 常用模块学习

本节大纲: 模块介绍(模块导入方法) time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,用一堆代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又

Linux centos下让alias自定义永久生效(+常用的别名)

alias可以简化一些复杂的命令串,使一个单词或简化后的命令即可实现复杂(通常是带很多参数的长串)命令. 基本用法: alias 简化命令='实际的长串命令'    //实际长串命令通常为'原命令 -/选项参数' eg. alias ll='ls -a' 获取别名: alias        //即可查看当前设定的所有alias别名 取消别名: unalias 简化命令 eg. unalias ll            //取消ll的别名 永久生效: 直接使用alias命令定义的别名,重启后就

linux常用命令--netstat

简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接等等. 常用参数 -a (all)显示所有选项,提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字.-l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名-r 显示路由信息,路由

sql常用格式化函数及字符串函数

一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') //2017-09-18 22:41:50 YYYY:年(4和更多位) MM:月份号(01-12) DD:一个月里的日(01-31) HH24:一天的小时数(00-23) MI:分钟(00-59) SS:秒(00-59) 2.字符串转日期 select to_date('2017-09-18','YYYY-MM-DD') //2017-09-

Linux常用命令(echo、date、ls、cd、history、cat)

一.linux常用命令有很多今天我们来总结一下常用的入门命令: 1.linux下关机命令:poweroff.init 0.halt.shutdown -h now 2.linux下重启命令:reboot.init 6.shutdown -r now 3.shutdown命令: 格式:shutdown  options TIME 其中options有以下几个: -r:执行重启 -c:取消shutdown命令 -h:执行关机 其中TIME有以下几个: now:表示现在 +m:相对时间表示法,从命令提

Linux常用命令

常用指令 ls     显示文件或目录 -l  列出文件详细信息l(list) -a  列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir  创建目录 -p  创建目录,若无父目录,则创建p(parent) cd     切换目录 touch  创建空文件 echo   创建带有内容的文件. cat    查看文件内容 cp     拷贝 mv     移动或重命名 rm     删除文件 -r  递归删除,可删除子目录及文件 -f  强制删除 find   在文件系统中搜索某文件

用xshell操作linux系统的常用命令

(1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目

git入门(4)团队中git保管代码常用操作

在团队中协作代码时候,一定要熟练使用以下git命令,不至于把代码库弄乱, PS:一定要提交自己代码(git push)时候,先进行更新本地代码库(git pull),不然提交异常 git常用命令 1·.clone相应项目 git clone ... 举个栗子(只是个栗子) git clone https://github.com/saucxs/watermark.git 2.新建分支并且切换到这个分支 git checkout -b 分支名(英文名) git chenckout -b dialy

第2天:HTML常用标签

今天学完主要对所学知识点进行了整理. 一.超链接ahref:www.baidu.com(跳转页面):id名(锚点跳到相应div位置):01.rar(压缩包) target:_blank(新窗口打开):_self(当前窗口打开)二.文件路径绝对路径:(1)线上:线上绝对路径(2)线下:完整路径 相对路径:src=../img/bg.jpg(../是上一级目录) 三.HTML常用标签section :版块 用于划分页面上的不同区域,或者划分文章里不同的节 header :页面头部或者版块(secti

SIPP常用脚本之register注册(一)

SIPP,VOIP并发测试.性能测试的神器. 本文记录一下常用的脚本文件. 一.reg.xml 此文件是sipp的执行的脚本流程. <!-- --> <!-- You should have received a copy of the GNU General Public License --> <!-- along with this program; if not, write to the --> <!-- Free Software Foundation