当前位置:网站首页>【Fiddler】Fiddler实现mock测试(模拟接口数据)
【Fiddler】Fiddler实现mock测试(模拟接口数据)
2022-08-09 00:57:00 【小梧敲代码】
软件接口测试过程中,经常会遇后端接口还没有开发完成,领导就让先介入测试,然后缩短项目时间,有的人肯定会懵,接口还没开发好,怎么介入测试,其实这就涉及到了我们要说的mock了。
一、mock原理
mock测试其根本任务就是能够模拟后端服务器接口数据。
其实就是提供前端页面与后端服务器之间的挡板服务,在不实际启动后端服务器的情况下,通过接口测试工具模拟请求发送到挡板(mock服务),挡板接收到请求返回提前模拟号的服务器接口数据的过程。
常见的接口测试工具都提供了mock测试的功能,如postman
二、Fiddler实现mock测试
大部分抓包工具也提供了mock测试功能,今天就重点讲一下Fiddler实现mock测试的过程。
1、案例介绍
我们以电话号码归属地查询的一个接口为例,假设现在只有接口地址和参数要求,该接口服务还未完全实现。
该接口的实际实现如下:
接口的参数:
url:https://tcc.taobao.com/cc/json/mobile_tel_segment.htm
tel:18621984010
2、操作步骤
a、准备数据挡板数据
创建一个mock.txt文件,输入(根据需求设计即可,此处只取其中部分内容)作为挡板的数据,文件编码格式保持为ANSI编码或者utf-8 bom编码(UTF-8会出现中文乱码):
# __GetZoneResult_mock,与实际结果不同,主要是为了演示区别
__GetZoneResult_mock = {
mts:'1862198',
province:'上海',
catName:'中国联通',
telString:'18621984010',
areaVid:'29423',
ispVid:'137815084',
carrier:'上海联通'
}
b、打开fiddler工具
使用其中的AutoResponder功能实现mock测试。
c、参数设置
在AutoResponder中进行如下设置:
勾选Enable rules
勾选unmatched requests passthrough(当请求的url不能匹配的时候,可以通过挡板)
点击Add rule
在Edit rules中分别输入请求(上文get请求)和响应结果(mock数据文件),点击save
d、验证结果
浏览器地址栏再次输入请求(上文get请求),查看响应结果如下,就实现了对接口地址的模拟返回,这就是mock测试。
三、其他
1、其他mock数据
Fiddler中除了可以模拟返回响应正文内容,还可以模拟返回,只需要从响应内容的下拉框中选择、保存即可:
一个新的页面
302页面
404页面
502页面
自定义响应
…
2、注意事项
定义匹配请求值时,不建议直接给到参数部分,可以只给到路径,如果参数发生变化,也能得到mock数据,否则只能勾选unmatched requests passthrough,避免报错。
建议:https://tcc.taobao.com/cc/json/mobile_tel_segment.htm
不建议:https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=xxxxx
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频:
零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!
自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享
边栏推荐
- Pytorch预训练模型和修改——记录
- 网络安全基础-基本dos命令(一)
- Using MySQL in Ubuntu/Linux environment: Solve the problem of com.mysql.jdbc.PacketTooBigException: Packet for query is too large
- OIDC 思维导图
- 5-3 Seaborn 分布绘图
- 等到中心化的平台不再,衍生于这个平台的一切都将化作泡影
- 最优化问题——线性规划模型
- js 实现数字跳动
- Non-major graduates, five-faced Ali: Four rounds of technical + HR have already taken an offer
- Use jdbc to handle MySQL's utf8mb4 character set (transfer)
猜你喜欢
随机推荐
轻量级网络ESPNet系列 空洞卷积简介
睿智的目标检测61——Tensorflow2 Focal loss详解与在YoloV4当中的实现
微信企业号开发之接收响应消息
笔记&代码 | 统计学——基于R(第四版) 第二章数据可视化
4-4 Matplotlib库 直方图
动态style定义背景渐变
【图像增强】基于Step和Polynomial 滤波实现图像增强附matlab代码
Mysql高级篇(逻辑架构和存储引擎)
任务六 特征衍生 案例分析
5-5 Seaborn库FacetGrid结构图
leetcode-45-跳跃游戏 II
在Ubuntu/Linux环境下使用MySQL:修改数据库sql_mode,可解决“this is incompatible with sql_mode=only_full_group_by”问题
神经网络基本原理
数学建模美赛题型分类
5-2 Seaborn 分类绘图
轻量级CNN网络高效设计准则-ShuffleNet v2学习记录
关于cordova的InAppBrowser插件的几点问题
Node.js:MySQL.js的基本操作增删改查
【图像去噪】基于边缘增强扩散 (cEED) 和 Coherence Enhancing Diffusion (cCED) 滤波器实现图像去噪附matlab代码
LeetCode精选200道--字符串篇