Fiddler Response私人订制

news2024/11/24 9:17:27

在客户端接口的测试中,我们经常会需要模拟各种返回状态或者特定的返回值,常见的是用Fiddler模拟各种请求返回值场景,如重定向AutoResponder、请求拦截修改再下发等等。小编在近期的测试中遇到的一些特殊的请求返回模拟的测试场景,借此机会总结分享给大家,抛砖引玉。

特定返回状态码的模拟

近期的项目中,在测试客户端对原网站的异常返回的错误提示处理时,需要模拟网站的不同返回状态。使用Fiddler的小伙伴们会知道,我们可以使用Fiddler的重定向功能AutoResponder来快速模拟,但是AutoResponder中只有几种常用的返回状态码的模拟,所以,需要尝试在Fiddler中添加其他返回状态码。

如果你想学习Fiddler抓包工具,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的Fiddler抓包工具教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流点击文章最下方卡片‘

零基础玩转Fiddler抓包在测试领域应用实战!_哔哩哔哩_bilibili【Python接口自动化测试笔记及视频源码 +微信:mashang-nn 备注(b站555)即可通过 收藏等于白嫖,点赞三连才是真情!】, 视频播放量 1303、弹幕量 2、点赞数 4、投硬币枚数 2、收藏人数 20、转发人数 0, 视频作者 自动化测试码尚科技, 作者简介 领取笔记加微信:mashang-nn 备注:B站555,相关视频:2023专为b站打造的最详细Jmeter接口测试工具实战教程,2023最新pytest接口自动化测试框架,三天带你精通pytest,带你写出最好的代码!(已更新2023新版),从0玩转fiddler抓包在测试领域的四大应用实战!,Fiddler抓包工具实战全网最全最细教程,没有之一,从0玩转Fiddler抓包在测试领域的四大应用实战!,Charles抓包在测试领域应用实战,一小时精通!,接口测试神器:Apifox,究竟有多香!,B站福利!Web自动化测试从0-到项目实战教程,免费学!!!,2023年最全自动化测试实战教程,十天学完!入职阿里,月入30K!,b站最全Jmeter接口测试和Jmeter接口自动化测试实战全集https://www.bilibili.com/video/BV14g4y1H7vv/?spm_id_from=333.999.0.0

在Fiddler中添加不同返回状态的简便方法如下:

STEP-1:进入Fiddler安装路径,查看ResponseTemplates文件夹中的响应样例;

STEP-2: 参照Templates中的样例,拷贝和添加新的返回状态码,以添加504状态码为例;

STEP-3: 重新启动Fiddler,查看AutoResponder中是否有新增的状态码返回;

STEP-4: 以m.sogou.com为例,查看是否返回目标的状态码;

特定字段数据的模拟

小编最近在测试某接口容错时,遇到了这样一个问题,如何在超时判断时间内保证Response中字段值1与实际匹配的前提下,模拟字段2的各种返回值场景。

具体场景如下:客户端对于请求接口返回数据各个字段的处理方式时,先对字段1进行时间戳校验(该字段为客户端在每次请求发送前生成,并通过请求发送给服务端),若校验成功后,才会处理Response中的字段2,测试的目的是对字段2进行容错,需保证排除字段1的干扰,也就是说在请求返回模拟时,需要保证模拟的Response中的字段1与Request中一致(小Tip:客户端请求超时限制约为5s,且与开发沟通后不方便修改)。如何在模拟的Response中字段1一致的前提下,修改字段2的值呢?

修改“Customize Rules"

修改Fiddler中的“Customize Rules",可以模拟特定域名的请求返回的Json数据中的特定字段。

具体添加内容如下:

// 判断是否为目标请求
var isVoiceRequest = false;
if ((oSession.host == "xx.xx.xx.xx") &&   // host  
oSession.fullUrl.Contains("xx/xxi/xx"))   // url
{
isVoiceRequest = true;
}
// 修改返回JSON串
if (isVoiceRequest)
{
// 1, 获取Response Body中JSON字符串
var responseStringOriginal =  oSession.GetResponseBodyAsString();
//FiddlerObject.log(responseStringOriginal);    // 可在控制台中输出Log   
// 2, 转换为可编辑的JSONObject变量
var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);        
// 3, 修改JSONObject变量
// 3.1修改字段
responseJSON.JSONObject['data']['voice'] = "testtesttest";
// 3.2添加字段
// 4, 重新设置Response Body
var responseStringDestinal = Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
//FiddlerObject.log(responseStringDestinal);
oSession.utilSetResponseBody(responseStringDestinal);
}

通过该种方式,可以模拟修改,特定域名请求Response中Json数据的特定字段值。

特定加密返回值的模拟

测试中会遇到请求返回密文的情况(常见的有URLencode、Base64编码等),这种情况下就需要先进行解密处理。

Fiddler的TextWizard

Fiddler自带的TextWizard可以对常见的多种密文进行解密,还可以反向编码,例如本次场景,可以对解密的原文进行修改后(改成异常内容情况),再进行加密,从而得到待模拟的特定返回内容。这样可以不用再查找借助第三方的编码工具。

结束语

以上为小编在测试过程中发现的比较好的Fiddler模拟请求Response小方法,在此分享共勉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《变形金刚7》票房大跳水!特效敷衍?剧情单薄?汽车人的未来在哪里?

《变形金刚:超能勇士崛起》 6.11(上映第3天) 单日票房8200万 6.12(上映第4天) 单日票房2173万 6.13(上映第5天) 单日票房1700万 说实在的,真没想到《变形金刚7》日票房会如此大幅…

高压放大器在铁电材料中的应用研究

铁电材料是一种具有特殊磁电性能的材料,包括压电陶瓷、磷酸铁钠陶瓷、氧化锌压电陶瓷等。这些材料在电力、电子、机械等领域有广泛的应用,如超声波发生器、声纳、压力传感等。其中,高压放大器在铁电材料中有着重要的应用。 一、高压放大器的基…

完美搭建一个vue3+ts项目(一篇文章搞定你的所有疑惑)

目录 一、创建vite项目 二、启动vite项目 三、处理一些配置问题 四、增加工程化插件 1、安装sass 2、安装vue-router 3、安装pinia 4、安装element-plus 5、安装axios 6、设置路径别名,将相对路径改为绝对路径 一、创建vite项目 1、在一个文件夹下通…

Vision Pro:为什么空间音频是AR的绝杀武器?

Apple Vision Pro,不仅仅是苹果全新的重磅品类,而且在它身上也融合了苹果过去几乎所有新技术,比如空间音频就是其中一个例子。 苹果表示,Vision Pro中空间音频可以很好的应用在:影视节目、游戏内容、3D空间照片、3D空…

金融风控项目实战-银行信用卡流失预测模型_基于ANN神经网络_金融培训_论文科研_毕业设计

业务背景 根据央行公布的数据显示,全国性银行信用卡和借贷合一卡的发卡量增速从2017年同比增速26.35%的高点逐年下降,截至2020年同比增速降至4.26%。银行信用卡发卡增速明显放缓的背景下,预防老客户流失的问题变得愈发重要。 假设一家消费信…

pytest+allure

知识点1: 1、测试结果信息阅读 passed表示通过,有个简写. failed表示失败,有个简写F 2、命令行参数 -h:帮助 -version:版本信息 3、测试用例命名规则: 测试函数必须以test开头 测试类必须以Test开头…

我为开放原子全球开源峰会助力:共建开源之梦

我为开放原子全球开源峰会助力:共建开源之梦 6月11日,以“开源赋能,普惠未来”为主题的2023开放原子全球开源峰会开幕式暨高峰论坛在北京成功举办。 开源的力量与魅力 开源是当今软件行业中不可忽视的力量,它为技术的快速发展和…

入职滴滴和字节的2 年里,我感觉忒真实了……

引言 先简单交代一下背景吧,某不知名985的本硕,17年毕业加入滴滴,之后跳槽到了头条,一直从事软件测试相关的工作。之前没有实习经历,算是两年半的工作经验吧。 这两年半之间完成了一次晋升,换了一家公司&…

Ubuntu如何安装vmtools?

虚拟机-安装VMware Tools 然后在Ubuntu中找到设备中的VMware Tools,将这个文件来复制到桌面上去。 选择提取到此处 可以看到桌面上多了一个VMware Tools的文件夹 使用cd命令进入桌面上的这个VMware tools的文件夹 使用sudo ./安装命令 对vmware-tools-distrib文件夹…

政企市场,「观望」AI大模型

数据安全等“刚需”下,私有化成为政企市场的准入门槛,然而私有化下,行业模型局限性尚未可知,加之信创化等因素,厂商仍需取长补短,为政企客户提供全方位的解决方案。 作者|斗斗 编辑|皮爷 出品|产业家 政…

采用UWB定位技术开发的室内定位系统源码

UWB精准定位系统源码 UWB是什么? UWB(Ultra Wideband)超宽带技术是一种全新的、与传统通信技术有极大差异的通信新技术。它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,实现精准定位。 技术…

一名高水平的程序员,为什么面试总是失败?

目录 场景1 场景2 场景3 1 从发现和分析问题方面准备。 2 从linux命令和日志层面分析问题的步骤。 1 事先准备很重要 2 面试开始是自我介绍,这时要表露出,自己解决过redis,dubbo等组件的线上问题 3 一旦开始说第一个组件层面解决过的问题时&…

Django高级扩展之文件上传

文件上传是一个比较常用的网站功能,在服务器端,Django会使用一个叫作request.FILES的对象来处理上传的文件。 目录 存储路径 创建存储目录 配置settings.py 上传单文件 配置url 上传文件模板 视图方法 显示上传页面 上传文件处理 上传效果 1.…

盘点五种最常见加密算法!

大家好,我是Martin。 今天,就给大家来盘点一下最常见的5种加密算法。 大家平时的工作中,可能也在很多地方用到了加密、解密,比如: 用户的密码不能明文存储,要存储加密后的密文 用户的银行卡号、身份证号…

2024年天津农学院专升本专业课参考书目

天津农学院2024年高职升本科拟招生专业参考书目 天津农学院专升本专业课参考教材(我校不提供专业课参考教材) 人力资源管理专业参考教材: 1、《人力资源管理实用教程》 (第2版),吴宝华,北京大学出版社 2、《人力资源…

运维(SRE)成长之路-第3天 文本处理三剑客之 grep

1.命令作用以及参数详解 grep: 全局搜索正则表达式并打印行(Global search REgular expression and Print out the line)作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行模式:由正则表达式字…

GitHub Copilot 最全安装、使用

GitHub Copilot 最全安装、使用教程 一、温馨提示 GitHub Copilot 目前为止可以免费试用一个月,但是试用的前提是必须要绑定银行卡,因为后续会自动扣费,所以请注意试用结束日期,自己定好闹钟关闭订阅。 订阅价格为每月10美刀&a…

【Pinia 状态管理篇】Vite + Vue3 组合式 API 模式下的 Store 数据处理

文章目录 Pinia 状态管理一、 Pinia 安装与使用1.1 安装1.2 注册 pinia 实例到全局1.3 创建一个 Store1.4 组件内使用 Store 二、Pinia 核心概念展开学习Store 的定义和使用2.1 State2.2 Getter2.3 Action 附:1. 什么是魔法字符串? Pinia 状态管理 一、 …

Nacos配置中心使用(Spring Cloud版)

目标 向项目中集成Nacos配置。原项目是一个SpringBoot项目。这里假设我们无法修改原有项目的SpringBoot版本。 注意 在不动SpringBoot版本的前提下,根据SpringBoot的版本,确定Spring Cloud和Nacos版本。Nacos版本其实就是Spring Cloud Alibaba版本。在…

【Linux】网络结构模式

目录 网络结构模式C/S结构B/S结构 MAC地址IP地址端口网络模型OSI七层模型TCP/IP四层模型 通信过程数据包封装协议以太网协议ARP协议IP数据报格式UDP协议格式TCP协议格式封装分用TCP详解TCP和UDPTCP通信流程TCP三次握手 网络结构模式 C/S结构 客户机-服务器(client-server)结构…