Fiddler使用 断点 模拟返回 AutoResponder Mock 模拟数据 相关学习记录

时间:2023-02-18 08:39:30

断点

  测试中有时需要改变发出去的请求信息,需要用到打断点的方法。断点包含两种方式:

    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 模拟数据 相关学习记录的更多相关文章

  1. Fiddler抓包12-AutoResponder返回本地数据(mock)

    前言 mock可以说是面试必问的话题的,我第一次接触mock的时候也是一脸懵逼.虽然fiddler工具用了很久,里面的打断点,设置自动返回数据功能都用过. mock说的通俗一点就是模拟返回数据,只是面 ...

  2. dotnet 如何在 Mock 模拟 Func 判断调用次数

    在 dotnet 程序有很好用的 Mock 框架,可以用来模拟各种接口和抽象类,可以用来测试某个注入接口的被调用次数和被调用时传入参数.本文告诉大家如何在 Mock 里面模拟一个 Func 同时模拟返 ...

  3. Python 的mock模拟测试介绍

    如何不靠耐心测试 可能我们正在写一个社交软件并且想测试一下"发布到Facebook的功能",但是我们不希望每次运行测试集的时候都发布到Facebook上. Python的unitt ...

  4. 【vue】vue +element 搭建项目,mock模拟数据(纯干货)

    1.安装mockjs依赖 (c)npm install mockjs --save-dev 2.安装axios(Ajax) (c)npm install --save axios 3.项目目录 4.设 ...

  5. 深入浅出的webpack4构建工具---比mock模拟数据更简单的方式(二十一)

    如果想要了解mock模拟数据的话,请看这篇文章(https://www.cnblogs.com/tugenhua0707/p/9813122.html) 在实际应用场景中,总感觉mock数据比较麻烦, ...

  6. 深入浅出的webpack4构建工具--webpack4+vue+vuex+mock模拟后台数据(十九)

    mock的官网文档 mock官网 关于mockjs的优点,官网这样描述它:1)可以前后端分离.2)增加单元测试的真实性(通过随机数据,模拟各种场景).3)开发无侵入(不需要修改既有代码,就可以拦截 A ...

  7. 使用electron开发一个h5的客户端应用创建http服务模拟后台接口mock

    使用electron开发一个h5的客户端应用创建http服务模拟后端接口mock 在上一篇<electron快速开始>里讲述了如何快速的开始一个electron的应用程序,既然electr ...

  8. springboot2&period;0入门(四)----mock模拟测试&plus;单元测试

    一.本节主要记录模拟测试.单元测试: 二.mock 测试 1.1什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象 ...

  9. Fiddler中设置断点修改返回结果Response

    测试有时会遇到需要测试返回不同的数据前端展示出来会如何?如果去数据库中的数据会比较麻烦.这样我们可以通过fiddler设置断点来修改返回的数据实现测试不同的数据展示. 1.设置断点 (1)点击菜单栏按 ...

随机推荐

  1. Fiddler--一、HTTP协议简介

    在学习Fiddler之前,最好先学习一下HTTP协议. HTTP协议简介 什么是HTTP协议 超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...

  2. 【EntityFramework 6&period;1&period;3】个人理解与问题记录(2)

    前言 才看完一季动漫,完结撒花,末将于禁,原为曹家世代赴汤蹈火!想必看过的都会知道这个,等一下要不吐槽一下翻拍的真人版,○( ^皿^)っHiahia-,好了快醒醒改办正事儿了,好的,我们接着上一篇文章 ...

  3. pandas(七)数据规整化:清理、转换、合并、重塑之合并数据集

    pandas对象中的数据可以通过一些内置的方式进行合并: pandas.merge 可根据一个或多个键将不同的DataFrame中的行连接起来. pandas.concat可以沿着一条轴将多个对象堆叠 ...

  4. 【Unity技巧】LOGO闪光效果

    写在前面 本文参考了风宇冲的博文,在按照这篇博文实现LOGO闪光时,发现了一些问题.最严重的就是背景无法透明,看上去背景始终是黑色的:其次就是各个变量的意义不是非常明确,调节起来不方便:而且在闪光条的 ...

  5. BZOJ4643 卡常大水题 【Tarjan】

    题目分析: 给所有边按A排序,依次加入再按B递增排序,势能分析可以发现是O(n^4)的 代码: #include<bits/stdc++.h> using namespace std; ; ...

  6. CentOS下 SVN版本控制的安装(包括yum与非yum)的步骤记录。

    一.yum安装 rpm -qa subversion //检查是否安装了低版本的SVN yum remove subversion //如果存储旧版本,卸载旧版本SVN 开始安装 yum -y ins ...

  7. Linux中安装nodejs及插件

    Linux中安装nodejs及插件 1.去官网下载安装包 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通过 ...

  8. subprocess 模块

    import subprocess # 就用来执行系统命令 import os cmd = r'dir D:\上海python全栈4期\day23 | findstr "py"' ...

  9. SQL Server如何更改系统用户dbo的所属账号

    在SQL Server的每个数据库中都有一个dbo系统用户,dbo是系统默认创建的,无法被删除,如下: dbo在内部其实是绑定了一个SQL Server账号的,可以通过其属性查看Login name, ...

  10. 空指针、NULL指针、零指针

    1. 空指针.NULL指针.零指针 1.1 什么是空指针常量 0.0L.'\0'.3 - 3.0 * 17 (它们都是“integer constant expression”)以及 (void*)0 ...