接口测试(Fiddler工具)

news2024/11/15 13:37:08

目录

1.Fiddler是什么?

2.Fiddler的原理

3.Fiddler安装

4.Fiddler界面

4.1.常用工具

4.2 会话列表

4.3 状态栏

4.4 内容显示区


1.Fiddler是什么?

Fiddler是客户端与服务器之间的HTTP代理,是当前最常用的HTTP协议抓包工具。

主要功能:

  • 监控浏览器HTTP或HTTPS发送和接收的数据包
  • 测试网站性能
  • 通过抓取来往的数据包,分析网络问题
  • 伪造客户端请求或服务器响应
  • 解密HTTPS会话

Fiddler经常在接口测试,web应用性能分析,接口问题分析等场景中,也经常用在Mock工具,用来模拟请求或响应数据。

2.Fiddler的原理

Fiddler的位置:

Fiddler是位于浏览器和服务器之间的请求和响应代理,所以它可以截获浏览器和服务器之间的所有HTTP通讯,(可以打开Fiddler,然后使用chrome查看一下代理设置)

3.Fiddler安装

Fiddler | Web Debugging Proxy and Troubleshooting SolutionsExplore the Fiddler family of web debugging proxy tools and troubleshooting solutions. Easily debug, mock, capture, and modify web and network traffic.https://www.telerik.com/fiddler选择经典版选择!

根据要求填写基本信息!

 找到安装包直接双击安装接口!

4.Fiddler界面

 4.1.常用工具

为请求增加备注,在接口测试时可以对有问题的请求做备注,可以导出(File -》Export session)

保存所有的对话

 

导入,导出

再次发送请求,快捷键R, shift+r 可以输入重复发送的次数

删除请求,shift+delete 反向删除(即保留选中的请求,删除其他请求),ctrl+x清除所有的请求

代理端口号:

设置编码方式

 

 

和断点配合使用,执行下一步的意思

打断点:

直接刷新界面就可以进入断点了

在点一次就断点发送到浏览器 ,点第三次断点结束

解码(不是解密),即将机器可以看懂的编码解码为人可以看懂的信息

流模式,当服务器有内容回来时立即返回给浏览器,但在这种情况下断点模式会失效,默认使用缓存模式,即fiddler先接收到所有数据再给浏览器。

保持会话的数量,点击出现下拉列表可以选择需要保持的会话数量

用来选择需求监听HTTP请求的进程(应用),指向该按钮按住鼠标键可以以移动鼠标的方式选择需要监听的应用

 查找功能,比较常用,快捷方式ctrl+f

保持所有会话,可以先将不需要的请求删除,整理除需要的,保存为一个文件。可以作为附件提交到bug记录,开发人员可以直接打开查看。 

快捷打开浏览器 

删除浏览器缓存

编码解码功能,可以方便我们查看信息的编码,比如我们向看看:你好世界,对应的base64编码长得啥样,可以用这个

分离面板,可以将右边的内容显示区分离成独立的显示窗口 

 在线信息,可以显示当前主机的IP

4.2 会话列表

用于展示每一个抓取的HTTP会话信息(session)

会话信息:

  • ID号
  • 状态码
  • 协议
  • 主机名
  • url
  • 内容类型
  • body大小
  • 进程信息
  • 自定义备注,根据自己的需求 自己增加的说明信息,一般可以写简单的问题描述

增加显示IP列,以便于显示域名对应的IP地址:

1.打开Fiddler工具,Rules->Customize rules

 

2.Ctrl+F搜索"static function Main()"方法,添加以下代码:FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

4.3 状态栏

这个是快捷命令窗口

正在捕获HTTP会话,再次点击就关闭捕获

 

可以过滤会话

再All Process右边的空白区,可以点击断点,点击1次为请求前断点,点击2次为响应后断点。

4.4 内容显示区

该区域主要是用来显示选择的请求的详情信息,双击需要查看的请求即可。

 

请求的性能数据

 

检查器,检查请求信息,可以用来查看请求头,请求体,响应头,响应体等等信息。

 

支持创建规则,可以在响应请求时自动触发,常见例子是返回之前捕捉的响应,而不需要访问服务器。通俗点讲,就是它能在不访问服务器的情况下,使发送的请求得到自己设置的响应。

在测试接口时,可以自定义返回内容,通过自定义的返回内容,进而测试程序接收到不同返回后,不同的处理逻辑

 

Composer的功能就是用来创建HTTP Request然后发送请求。 允许自定义请求发送到服务器,即可以手动创建一个新的请求,也可在会话表中拖拽一个现有的请求。

  • 可以手写一个Request
  • 在Web sessions会话列表中拖拽一个已有的Request

Componser可以用来篡改数据,包括Cookies中的数据也可改。

 

抓取手机APP的HTTP数据包

 

FiddlerScript 是Fiddler 的一项非常强大的功能,它允许你增强Fiddler UI,添加新的特性,修改请求与响应内容等等

 

过滤器,这个功能经常使用,用于定义需要抓取的数据包

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

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

相关文章

NSDT可编程3D场景【兼容Three.js】

NSDT编辑器简化了WebGL 3D应用的开发,完全兼容Three.JS生态。本文介绍如何在自己的应用中嵌入使用NSDT编辑器搭建的3D场景,并通过JS API与场景进行交互。 在自己的应用中嵌入3D场景只需要三个步骤: 在NSDT编辑器中搭建3D场景在自己的前端应…

Nonebot2官网插件nonebot-plugin-chatgpt让自己的QQ聊天机器人不再呆头呆脑

前言 如果你会使用Nonebot2搭建QQ聊天机器人,那么你一定会使用Nonebot官网上插件商店发布的插件,今天这篇博客记录一下使用插件时遇到的错误,最终如何解决的错误。在开始之前先看一下效果图吧! 瞬间我们的QQ机器人就高大上了起…

Java serialVersionUID 作用和自动生成设置

一、由来 最近在做一个军工的项目,代码提交后,军方用代码安全扫描工具,对代码进行全局扫描,提示一个漏洞,导致原因是实体类实现了Serializable接口,未对serialVersionUID手动赋值,java机制里&am…

Zero-shot(零次学习)简介

zero-shot基本概念 首先通过一个例子来引入zero-shot的概念。假设我们已知驴子和马的形态特征,又已知老虎和鬣狗都是又相间条纹的动物,熊猫和企鹅是黑白相间的动物,再次的基础上,我们定义斑马是黑白条纹相间的马科动物。不看任何斑…

枚举类的使用方法

一、理解枚举类型 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。下面先来看看如何写…

如何用一句话感动测试工程师?产品和技术都这么说!

测试工程师在公司里的地位一言难尽,产品挥斥苍穹,指引产品前路;开发编写代码实现功能,给产品带来瞩目成就。两者,一个是领航员,一个是开拓者,都是聚光灯照耀的对象,唯独团队中的保障…

换脸方法大汇总:生成对抗网络GAN、扩散模型等

1、One-Shot Face Video Re-enactment using Hybrid Latent Spaces of StyleGAN2StyleGAN的高保真人像生成,已逐渐克服了单样本面部视频驱动重现的低分辨率限制,但这些方法至少依赖于以下其中之一:明确的2D/3D先验,基于光流作为运…

Android 基础知识4-2.5View与VIewGroup的概念、关系与区别

1.概念: Android里的图形界面都是由View和ViewGroup以及他们的子类构成的: View:所有可视化控件的父类,提供组件描绘和时间处理方法 ViewGroup: View类的子类,可以拥有子控件,可以看作是容器 Android UI中的控件都是…

Java【七大算法】算法详细图解,一篇文章吃透

文章目录一、排序相关概念二、七大排序1,直接插入排序2,希尔排序3,选择排序4,堆排序5,冒泡排序5.1冒泡排序的优化6,快速排序6.1 快速排序的优化7,归并排序三、排序算法总体分析对比总结提示&…

K8s学习(一)从零开始搭建kubernetes集群环境(虚拟机/kubeadm方式)

文章目录1 Kubernetes简介(k8s)2 安装实战2.1 主机安装并初始化2.2 安装docker2.3 安装Kubernetes组件2.4 准备集群镜像2.5 集群初始化2.6 安装flannel网络插件3 部署nginx 测试3.1 创建一个nginx服务3.2 暴漏端口3.3 查看服务3.4 测试服务1 Kubernetes简…

centos7安装RabbitMQ

1、查看本机基本信息 查看Linux发行版本 uname -a # Linux VM-0-8-centos 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux cat /etc/redhat-release # CentOS Linux release 7.9.2009 (Core)2、创建创建工作目录 mkdir /…

下一代视频编码技术2023

下一代视频编码技术 下面将从这两个角度来介绍华为云视频在下一代视频编码技术上的一些工作。这些技术得益于华为2012 媒体技术院全力支持。 2.1 下一代视频编码标准技术 从上图可以看出,下一代的视频编码标准大概分为三个阵营或者三个类型: 国际标准…

卷积神经网络(CNN)经典模型分析(一)

CNN经典模型分析🐬 目录: 一、CNN概论二、model分析LeNet5AlexNetVggNetGoogleNetResNet 三、参考资料 一、CNN概论 如图所示:人工智能最大,此概念也最先问世;然后是机器学习,出现的稍晚;最后才是深度学习…

Python编程自动化办公案例(2)

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.前期代码 二.实现批量读取 1.os库 2.实现思路 (1&#…

VBA提高篇_ 22 事件处理

文章目录1.事件编程2.常用工作簿事件名称与对应处理过程名称示例3. 事件编程的步骤4.工作簿事件4.1 Open4.2 BeforeClose4.3 NewSheet5.工作表事件6.变量和过程函数的作用域1.事件编程 写在事件发生地(对应工作簿或工作表) 2.常用工作簿事…

22 pandas字符串操作

文章目录字符串对象方法cat和指定字符串进行拼接查看数据不指定参数,所有姓名拼接不指定参数,所有姓名拼接添加分隔符添加数据遇到空值时合并split按照指定字符串分隔partition 按照指定字符串分割get 获取指定位置的字符,只能获取1个slice 获…

LeetCode题目笔记——6362. 合并两个二维数组 - 求和法

文章目录题目描述题目链接题目难度——简单方法一:常规双指针遍历代码/Python方法二:字典\哈希表代码/Python总结题目描述 给你两个 二维 整数数组 nums1 和 nums2. nums1[i] [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。nums2[i] [idi, …

Flutter-Widget-学习笔记

Widget 是整个视图描述的基础。 参考:https://docs.flutter.dev/resources/architectural-overview Widget 到底是什么呢? Widget 是 Flutter 功能的抽象描述,是视图的配置信息,同样也是数据的映射,是 Flutter 开发框…

2023年美赛C题Wordle预测问题二建模及Python代码详细讲解

更新时间:2023-2-19 相关链接 (1)2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 (2)2023年美赛C题Wordle预测问题二建模及Python代码详细讲解 (3)2023年美赛C题Wordle预测问题三、四…

【Python】进制、计算机中的单位、编码、数据类型、索引、字符串切片、字符串的功能方法

一、进制计算机中底层所有的数据都是以 010101 的形式存在(图片、文本、视频等)。二进制八进制十进制(也就是我们熟知的阿拉伯数字)十六进制进制转换v1 bin(25) # 十进制转换为二进制 print(v1) # "0b11001"v2 oct(23…