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";
}
}
转载于:https://blog.51cto.com/4297765/1866738
FiddlerScript-常用总结相关推荐
- 编辑Fiddler的FiddlerScript脚本,代理请求到本地
前言 博主JAVA开发工程师一枚. 最近两年工作基本上都是前后端分离~ 之前做电商项目,版本开发过程中,App开发同事(安卓/IOS)都会打一个测试包给我们,对自己开发的那部分接口进行自测.然而,Ap ...
- fiddler抓包常用功能
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统, ...
- Kubectl 常用命令, 开发人员常用k8s命令
Kubectl 常用命令: 什么是常用,我用的,就是常用的
- 力扣1002.查找常用字符
力扣 1002. 查找常用字符 本人力扣练习已上传至码云,可互相学习借鉴. 难度-简单 题目: 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表 ...
- spring boot项目 中止运行 最常用的几种方法
spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...
- 作为一个java程序员,常用的linux命令(越攒越多)
本篇记录我在工作中不断遇到的常用的linux命令,并进行总结,时常更新! 1. 升级服务时先停止服务,然后进行替换 linux中杀进程时候,如果你是知道它所占用的端口号的话,可以通过 netstat ...
- 后端怎么防止重复提交?(常用的做法)
后端怎么防止重复提交?(常用的做法) 客户端的抖动,快速操作,网络通信或者服务器响应慢,造成服务器重复处理.防止重复提交,除了从前端控制,后台也需要控制.因为前端的限制不能解决彻底.接口实现,通常要求 ...
- nginx介绍及常用功能
什么是nginx nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务. Apache:重量级的,不支持高并发的服务器.在Apache上运行数以万计的并发访 ...
- docker常用命令详解
docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...
- 常用开源协议介绍以及开源软件规范列表
1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...
最新文章
- Facebook发布Detectron2,下一个万星目标检测新框架
- Spring 中的各种注解,光会用可不够哦!
- 钢材规格解读的软件_万维软件ERP五金建材行业解决方案
- 《java程序员修炼之道》pdf书籍
- Python 内置模块之 re
- php 页面开启错误提示,php开启与关闭错误提示
- 新年计划书...2012-01-01
- 16 张图解带你掌握一致性哈希算法
- 【华为云网络技术分享】HTTP重定向HTTPS配置指南
- 别奢望大数据会为你做这10件事儿!
- c语言程序设计环境软件下载,c语言编程软件
- Eclipse启动出错误:An error has occurred.See the log file。。。。
- quora 分享链接
- java集合(超详细)
- Java架构师必备知识体系
- c++篇 cad.grx 入门,手动配置编译环境
- Android studio编译错误
- 古诺的寡头模型—寡占的斯塔克伯格模型
- 展讯pinmap解析
- 搜狗 workflow异步调度框架--1.基本介绍篇
热门文章
- 汇编语言-014(编写过程的应用、伪指令LEA、ENTER、LEAVE、LOCAL、递归函数、INVOKE、ADDR、PROC伪指令声明过程)
- 按钮旁边加一个提示_地铁站的那些“红色按钮”,你知道是干啥用的吗?乱按可能被拘留...
- 使用宝塔部署node项目_使用宝塔面板进行项目的自动部署WebHook
- LeetCode单链表题目测试代码(只需添加对应题目,本地即可debug)
- ubuntu下搭建nfs服务器
- C语言 二级指针内存模型混合实战
- 进程常用指令 (从创建到回收 包含守护)
- Java未来路在何方?挑战大厂重燃激情!
- RocketMQ消费者是如何获取消息的?转疯了!
- Java中key可以重复的Map集合:IdentityHashMap