史上最全,接口测试-Fiddler抓包常用功能总结(超详细)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

Fiddler中常用的功能如下:
停止抓包;清空会话窗内容;过滤请求;解码;设置断点

1、停止抓包

B1

2、清空会话窗

方法一,工具栏工具:

B2

方法二,命令行形式:

B3

当然,命令行工具也还支持其他命令的输入,这里不做过多说明。

3、过滤请求

打开Fiddler抓包时,会话窗口会显示很多的请求,但我们只需要抓取到目标请求数据,这时就可以设置过滤。

过滤可以分为两种方式:只显示目标请求,只抓取目标端的请求。区别在于,前者是抓取所有请求但只显示目标请求数目,后者是只抓取某个端的请求数据。

①只显示目标请求
操作步骤如下:

B4

如界面右侧下方所示,还可以勾选更多的条件进行过滤展示,这里不做过多说明,有兴趣的可以自行尝试。

②只抓取目标端的请求
例如,我们只想对移动端抓包时,我们可以设置只抓取移动端的请求,进行如下设置:

B5

4、解码

在抓取某些请求的时候,会发现返回的内容中出现了乱码,如下图所示

B6

这是HTML被压缩了的原因, 我们可以通过一下两种方式去解压缩。

方法一,点击Responsebody is encoded.Click to decode.,如下:

B7

方法二,先选中工具栏中的Decode,再请求抓包,这样显示的请求结果便是解码后的结果。如下:

B8

解码后结果如下图所示:

B9

5、设置断点

有时进行调试时,我们需要伪造客户端请求和服务器响应,那么这个时候就需要设置断点。

伪造客户端请求
伪造客户端请求,即在客户端点击请求后、正式向服务器发送请求之前,修改原来的请求参数再发送请求,这需要设置断点为Before Requests,步骤说明如下:

通过菜单选项或快捷键F11进行设置,如下图步骤,点击选择Before Requests

B10

经过第一步的设置,我们再次去抓包,会发现在左侧会话窗口中,所有请求都标记成了中断,请求未发送成功而是被Fiddler中断了,且此时客户端可以看到数据加载异常。

会话窗口中找到对应的请求,点击选择,右侧选择Inspectors,会显示一行操作栏,点击Run to Completion便可继续发送被中断的请求。

B11

但我们的目的是断点后修改请求数据再发送请求。

找到对应的请求,修改请求数据

以登录Testerhome为例,先将设置断点为Before Requests,在浏览器中输入正确的账号和密码,点击登录,然后在Fiddler中找到该请求,将密码清空,再点击Run to Completion继续发送请求,服务器会返回什么样的结果,下面我们来验证。

B12

可以看到,浏览器输入正确的账号密码应该是要登录成功的,但我们通过Fiddler打断点后,对该登录接口的请求参数做了修改之后再请求,返回错误:账号或密码错误,请重试。

伪造服务器响应
伪造服务器响应,即在响应返回给客户端之前,将响应内容修改再返回,这需要设置断点为After Responses。接下来还是以TestHome网站登录接口为例,修改它的响应内容。步骤如下:

先将断点规则设置为After Responses,如下:

B13

正常登录后会跳转至TesterHome网站首页,但此时我们可以修改返回参数,让其登录后跳转至百度页面,设置如下:

B14

如上图所示,将图中返回参数改成百度地址 (TextView形式下可对返回参数进行修改),再点击Run to Completion,我们会看到登录成功后跳转到了百度页面,而不是TestHome首页。

注意事项:

设置断点的功能应有如下注意:
Inspectors中,在请求参数显示窗口WebForms中可以修改请求参数,在响应参数显示窗口TextView中可以修改返回参数。

通过菜单选项或快捷键F11进行断点设置,是全局有效的,即会对所有的HTTP请求都打上断点

如果只需要对某个服务器发出的请求设置断点,可使用Fiddler的命令行工具输入命令,Before Requests命令为bpu 服务器地址,After Response命令为bpafter 服务器地址,如下图所示:

B15

设置断点后,需要取消断点设置,需要将断点设置成Disabled,操作如下:

B16

也可使用快捷工具进行断点设置,如下图所示位置,点击切换即可:

B17

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次汗水的滴落,都是梦想的孕育;每一次坚持的脚步,都是辉煌的征程。不管前路多荆棘,我们要勇往直前,用奋斗点亮人生,创造属于自己的壮丽篇章。相信自己的能力,敢于挑战,成就非凡!

在人生的舞台上,奋斗是最闪亮的座右铭。不论遭遇何种挑战,要坚持梦想,迈出勇敢的步伐。只有努力拼搏,才能超越自我,让辉煌的未来变为现实。

每一次的努力都是一次积累,每一次的奋斗都是一次进步。坚持不懈,追逐梦想的脚步永不停歇。即使困难重重,也要勇往直前,因为只有奋斗才能书写属于自己的辉煌人生,让梦想绽放光芒!

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

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

相关文章

冒泡排序实现原理

文章目录 前言一、算法原理二、复杂度三、Java实现总结 前言 冒泡排序(Bubble Sort),是一种比较简单的排序算法。 它重复地走访要排序的元素列,依次比较两个相邻的元素,如果它们的顺序错误,则把它们交换位置。走访元…

macOS Monterey 12.6.8 (21G725) 正式版发布,ISO、IPSW、PKG 下载

macOS Monterey 12.6.8 (21G725) 正式版发布,ISO、IPSW、PKG 下载 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持…

C++运算符:优先级

#include <iostream> using namespace std;//#define INT int //宏命令 // typedef int BOO; //移动 // INT a10; // BOO b 12;void fun(string& str) {int pos str.find(a);cout << "位置" << pos << endl;str.replace(pos,…

Windows Active Directory密码同步

大多数 IT 环境中&#xff0c;员工需要记住其默认 Windows Active Directory &#xff08;AD&#xff09; 帐户以外的帐户的单独凭据&#xff0c;最重要的是&#xff0c;每个密码还受不同的密码策略和到期日期的约束&#xff0c;为不同的帐户使用单独的密码会增加用户忘记密码和…

微信小程序弱网监控

前言 在真实的项目中&#xff0c;我们为了良好的用户体验&#xff0c;会根据用户当前的网络状态提供最优的资源&#xff0c;例如图片或视频等比较大的资源&#xff0c;当网络较差时&#xff0c;可以提供分辨率更低的资源&#xff0c;能够让用户尽可能快的看到有效信息&#xf…

Spring MVC -- 获取参数(普通对象+JSON对象+URL地址参数+文件+Cookie/Session/Header)

目录 1.获取参数 1.1获取单个参数 1.2获取多个参数 传参注意事项&#xff1a; 2.获取对象 3.后端参数重命名RequestParam 4.获取JSON对象RequestBody 5.从 URL 地址中获取参数 PathVariable 6.上传文件 RequestPart 7.获取Cookie/Session/Header 7.1 获取 Request 和…

【MySQL】MySQL索引、事务、用户管理

20岁的男生穷困潦倒&#xff0c;20岁的女生风华正茂&#xff0c;没有人会一直风华正茂&#xff0c;也没有人会一直穷困潦倒… 文章目录 一、MySQL索引特性&#xff08;重点&#xff09;1.磁盘、OS、MySQL&#xff0c;在进行数据IO时三者的关系2.索引的理解3.聚簇索引&#xff0…

安全杂记 - 状态码,DNS,编码

目录 1.状态码2.DNS解析过程3.URL编码4.HTML实体编码5.FORM表单 1.状态码 200 - 请求成功 301 - 资源&#xff08;网页等&#xff09;被永久转移到其它URL 302 - 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI 304 - 未修改。所请求的资源未修改&#…

WebSocket工具类

最近的项目在整长连接WebSocket&#xff0c;之前也写过一个感觉没有这个全面。提供个工具类WebSocketHelper和Java-WebSocket-1.3.9.jar包以及一个HttpURLConnectionUtil 1、WebSocketHelper import android.util.Log;import org.java_websocket.client.WebSocketClient; imp…

Two Days wpf 分享 分页组件

迟来的wpf分享。 目录 一、序言 二、前期准备 三、前端界面 四、后台代码部分 1、先定义些变量后面使用 2、先是按钮事件代码。 首页按钮 上一页按钮 下一页按钮 末尾按钮 画每页显示等数据 每页显示多少条 判断是否为数字的事件 分页数字的点击触发事件 跳转到…

HCIP——OSPF基础

OSPF基础 一、OSPF基础二、OSPF的区域划分三、OSPF的数据包hello包数据库描述包DBD包链路状态请求包LSR包链路状态更新包LSU包链路状态确认包LSAck包 四、OSPF的状态机五、OSPF的工作过程六、链路状态型的路由生成过程七、条件匹配五、OSPF数据包头部八、OSPF的接口网络类型 一…

链动2+1系统开发模式有没有风险?

现在的分销模式层出不穷&#xff0c;很多人都不知道分销与传销的区别&#xff0c;甚至认为最近很火的一个分销模式链动21也是个传销盘。那么&#xff0c;链动21模式究竟涉不涉传&#xff1f;有没有风险呢&#xff1f;下面就来具体说一下。 首先分销不是传销&#xff0c;分销是商…

Kafka生产者性能调优技巧

Kafka生产者性能调优技巧 一、Kafka生产者简介1.1 概述1.2 Kafka生产者性能的重要性1.2.1 批量发送消息1.2.2 指定分区1.2.3 使用压缩算法1.2.4 合理设置ACKs参数 二、Kafka生产者性能调优技巧2.1 硬件配置优化2.1.1 CPU、内存、磁盘等硬件参数调整注意事项2.1.2 如何通过负载均…

(css)列表点击前后样式

(css)列表点击前后样式 效果&#xff1a; html <ul v-show"rightOne" class"one-content"><liv-for"(item,index) in exampleList":key"index"click"searchHandle(item,index)"class"liClass":class&qu…

Java中的LRU缓存算法

Java中的LRU缓存算法 LRU&#xff08;Least Recently Used&#xff09;缓存算法是一种常见的缓存淘汰算法&#xff0c;用于在缓存空间不足时决定哪些数据需要被淘汰&#xff0c;以便为新的数据腾出空间。LRU算法的基本思想是&#xff1a;当缓存满时&#xff0c;淘汰最近最少使…

MySQL函数讲解(谓词、CASE)

目录 MySQL常见函数 字符串函数 进行字符串操作的函数 算术函数 进行数值计算的函数 日期函数 进行日期操作的函数 转换函数 进行数据类型和值转换的函数 流程函数 进行条件删选 聚合函数 进行数据聚合的函数 谓词 一般用于条件判断 什么是函数 函数指一段可以直接被…

第5集丨ES6 江湖 —— 函数扩展

目录 一、箭头函数1.1 基本用法1.2 与变量解构结合使用1.3 表达更加简洁1.4 rest 参数与箭头函数结合1.5 注意点1.6 this对象1.6.1 利于封装回调函数1.6.2 练习 1.7 arguments 、 super、 new.target1.8 call() 、 apply() 、 bind() 二、rest 参数2.1 rest 参数代替 arguments…

git常用命令总结

文章目录 1. 创建仓库和初始化2. 添加和提交更改3. 分支管理4. 查看状态和历史5. 撤销更改6. 远程仓库 当使用 Git 进行版本控制时&#xff0c;以下是一些常用的 Git 命令的详细总结&#xff1a; 1. 创建仓库和初始化 git init: 在当前目录创建一个新的 Git 仓库。执行后会在当…

【C++】-多态的语法细节详解

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

android 高版本sd卡目录读写权限

1、从安卓11不允许访问sd目录&#xff0c;官方说明如下&#xff1a; https://developer.android.com/about/versions/11/privacy/storage?hlzh-cn 2、使用MediaStore方法 一手遮天 Android - 存储: Android 11 通过 MediaStore 管理文件 - webabcd - 博客园 (cnblogs.com) …