Fiddler使用 断点 模拟返回 AutoResponder Mock 模拟数据 相关学习记录
断点
测试中有时需要改变发出去的请求信息,需要用到打断点的方法。断点包含两种方式:
before response:在request请求的时候,未到达服务器之前,一般用来修改请求参数
after response:在服务器响应之后,在Fiddler将响应传回给客户端之前。我个人用的很少,一般通过mock方法来辅助测试,不向服务器发起真正的请求。
两种常用的打断点方式:
设置全局断点
全局断点就是中断Fiddler捕获的所有请求,点击rules-> automatic breakpoint ->before requests。设置后,会发现所有的请求都无法发出去,出现了T的符号,这时点Go按钮,就继续下一步。
选中需要修改的请求,右侧打开WebForms,里面的参数都可以修改,修改之后点Run to Completion即可提交,即成功修改请求参数。
打全局断点后是无法正常上网的,需要清除断点:rules-> automatic breakpoint ->disabled
设置单个断点
只针对某条请求打断点,在命令行中输入指令即可。
before response:在命令行里输入bpu 请求地址(回车)。例如:bpu https://m.baidu.com/回车。 只会拦截该请求接口,在右侧可以修改请求的内容。取消该断点的话,在命令行输入bpu回车即可。
after response:命令行里输入bpafter 请求地址(回车),取消时输入bpafter回车即可。
Fiddler 模拟返回
- 1 修改返回内容
 - 2 返回本地内容
 - 3 模拟状态码
 
保存会话
先抓包, 保存. 选中请求右键 . Save > Selected Sessions > in ArchiveZIP
AutoResponder 模拟返回
需要 模拟返回数据时 勾选上方的Enable rules 等三个勾选框和需要mock的请求链接,此时下方列表中启用的rules才生效. 不需要mock的时候将链接前面的勾去掉即可。
单击 Import 选择之前保存的会话文件. 导入后 选中记录,
- 右键 Edit Response 编辑本地内容.
 - 下方可以修改匹配内容, 返回文件. 返回状态码.
 
选中需要mock的请求,点击右侧的Autoresponder,点击add rule,该条请求被加入进来。且可在下方修改匹配规则:
字符匹配
example可匹配 http://www.example.com和http://example.com.cn
完全匹配
以EXACT开头表示完全匹配,如上边的例子
EXACT: http://m.baidu.com/s
正则表达式匹配
以regex: 开头,使用正则表达式来匹配URL
如:regex:(?insx).*\.(css|js|php)$ 表示匹配所有以css,js,php结尾的请求url
编辑rules 下拉列表中选择需要mock的结果后点击save。即可成功拦截该请求,返回你想要的结果。
工作中需要的重定向方式Fiddler基本都能满足。
- 包含各种404、502等网络状态。
 - 支持将该条请求delay,并且可以修改delay的时间(毫秒)。
 - Find a file则可以将请求指向本地文件,可以是json等脚本文件,也可以是MP4、JPG、jar等文件,具体看工作中需要mock的请求类型。
 
Mock之后发起的请求,可以在response中查看是否mock成功。如果mock没有成功,请检查手机代理是否设置生效?匹配规则是否填写正确?勾选框是否已勾选?
以上为在测试移动端APP时使用Fiddler进行抓包的常用方法和遇到的问题,Fiddler很强大,支持很多的功能和场景。
Mock
- 什么是mock   
- mock数据 mock测试就是在测试中, 对于某些不容易构造或不容易获取的对象, 用一个虚拟的对象来创建以便测试的测试方法.
 
 - 单元测试中常见的一种技术, 主要作用是模拟一些在应用中不容易构造或比较复杂的对象, 从而把测试与测试边界意外的对象隔离开.
 - mock作用
- mock对象有助于从测试中消除依赖项, 使测试更单元化.
 - 例如 测试天气预报的功能, 根据不同的天气, 展示不同的图片.
 
 - 如何mock数据
- mock-server, 自定义返回数据.
 
 - 如何搭建mock服务
 
Fiddler使用 断点 模拟返回 AutoResponder Mock 模拟数据 相关学习记录的更多相关文章
- Fiddler抓包12-AutoResponder返回本地数据(mock)
		
前言 mock可以说是面试必问的话题的,我第一次接触mock的时候也是一脸懵逼.虽然fiddler工具用了很久,里面的打断点,设置自动返回数据功能都用过. mock说的通俗一点就是模拟返回数据,只是面 ...
 - dotnet 如何在 Mock 模拟 Func 判断调用次数
		
在 dotnet 程序有很好用的 Mock 框架,可以用来模拟各种接口和抽象类,可以用来测试某个注入接口的被调用次数和被调用时传入参数.本文告诉大家如何在 Mock 里面模拟一个 Func 同时模拟返 ...
 - vue-cli实现异步请求返回mock模拟数据
		
在前后端分离开发的过程中,前端开发过程中,页面的数据显示一般都是写死的静态数据,也就是没有经过接口,直接写死在代码中的,在后端给出接口后,再替换为接口数据,为了减少对接成本,mock就出现了.通过预先 ...
 - Python 的mock模拟测试介绍
		
如何不靠耐心测试 可能我们正在写一个社交软件并且想测试一下"发布到Facebook的功能",但是我们不希望每次运行测试集的时候都发布到Facebook上. Python的unitt ...
 - 【vue】vue +element 搭建项目,mock模拟数据(纯干货)
		
1.安装mockjs依赖 (c)npm install mockjs --save-dev 2.安装axios(Ajax) (c)npm install --save axios 3.项目目录 4.设 ...
 - 深入浅出的webpack4构建工具---比mock模拟数据更简单的方式(二十一)
		
如果想要了解mock模拟数据的话,请看这篇文章(https://www.cnblogs.com/tugenhua0707/p/9813122.html) 在实际应用场景中,总感觉mock数据比较麻烦, ...
 - 深入浅出的webpack4构建工具--webpack4+vue+vuex+mock模拟后台数据(十九)
		
mock的官网文档 mock官网 关于mockjs的优点,官网这样描述它:1)可以前后端分离.2)增加单元测试的真实性(通过随机数据,模拟各种场景).3)开发无侵入(不需要修改既有代码,就可以拦截 A ...
 - 使用electron开发一个h5的客户端应用创建http服务模拟后台接口mock
		
使用electron开发一个h5的客户端应用创建http服务模拟后端接口mock 在上一篇<electron快速开始>里讲述了如何快速的开始一个electron的应用程序,既然electr ...
 - springboot2.0入门(四)----mock模拟测试+单元测试
		
一.本节主要记录模拟测试.单元测试: 二.mock 测试 1.1什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象 ...
 
随机推荐
- JS中indexOf的用法
			
String.IndexOf(Char, [startIndex], [count]):返回指定字符在原字符串中的第一个匹配项的索引.可指定字符开始检索位置和指定长度的字符,若没有找到该字符,则返回 ...
 - Oracle check TBS usage
			
select d.tablespace_name, space||'M' "SUM_SPACE(M")", blocks "SUM_BLOCKS", ...
 - 1.3.1 apache的配置(上)
			
Apache是比较常用的web服务器软件,用来解析HTTP网页.这里需注意,apache本身并不能解析php页面,它是用来配置解析http页面的.当然,作为一款最流行的web服务器软件,apache支 ...
 - JVM之类加载器子系统
			
类加载器子系统 作用 负责从文件系统或网络系统中加载class文件,class文件在开头有特殊的标记(魔术开头CA FE BA BE) ClassLoader只负责加载class文件,至于能否运行,由 ...
 - 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 + 二叉排序树 + 最近公共祖先
			
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 Offer_68_1 题目描述 方法一:迭代法 由于该题的二叉树属于排序二叉树,所以相对较简单. 只需要判断两个结点是否在根节点的左右子树中 ...
 - 记一次Drone无法触发构建的问题
			
问题 好巧不巧,当你晚上准备上线的时候,在下午临近下班的时候CI&CD工具出问题了,提交代码不能触发构建,不能上线了,Drone平台那边也下班了,正好CICD依赖的公司git仓库也出问题了(就 ...
 - 2020年12月-第01阶段-前端基础-表格 table
			
表格 table(会使用) 为了让我们页面显示的更加整齐,我们需要学习三个表(表格.表单.列表) 理解: 能说出表格用来做什么的 表格的基本结构组成 表格作用: 存在即是合理的. 表格的现在还是较为常 ...
 - cve-2018-2893  weblogic -WLS核心组件反序列化
			
漏洞分析 https://www.freebuf.com/column/178103.html https://www.freebuf.com/vuls/177868.html 攻击者可以在未授权的情 ...
 - Intellij IDEA实用插件Lombok
			
使用@Data注解后 可以不用给属性添加get.set方法也可以使用get.set方法,但是必须添加lombok Plugin插件 1 打开设置Setting,选中Plugins,搜索并安装Lombo ...
 - C语言入门--初来乍到
			
Hi,我是fish-studio,这是我写的第一篇博客,接下来我会以萌新的角度来与大家一起学习C语言,我也不是什么大佬,在我写的教程中会尽量详细的把我遇到的问题写出来,也会结合一些网上的文章进行编写, ...