接口测试基础知识(使用 Fiddler 抓包、使用 Postman 发起请求、Postman汉化教程)

news2024/11/28 12:47:39

文章目录

  • 一、 什么是接口
  • 二、接口测试的流程
  • 三、设计接口测试测试用例常见的点
  • 四、使用 Fiddler 进行抓包
    • 1. 一个重要设置
    • 2. 进行抓包
  • 五、使用 Postman 发起 GET 请求
    • 1. 通过API文档得到调用信息
    • 2. 通过 Postman 构造 GET 请求
  • 六、使用 Postman 发起 POST 请求
    • 1. 得到接口调用信息
    • 2. 通过 Postman 发起 POST 请求
  • 七、分享一个 Postman 汉化的方法

一、 什么是接口

接口用来连接软件系统中的不同模块,一个模块可以通过调用另一个模块的接口来实现模块中的功能

二、接口测试的流程

  1. 通过接口文档或抓包来获取接口的基本调用方式
  2. 通过获取的接口信息来设计测试用例
  3. 发起接口测试
  4. 获取接口返回的结果,对结果进行验证和解析

三、设计接口测试测试用例常见的点

  1. 验证接口URL的设计是否符合预期

  2. 验证参数个数和参数类型是否符合预期设计

  3. 验证输入参数的不同类型属性值时接口是否正常

  4. 验证不填写参数时接口是否正常返回数据

  5. 验证必填参数的个数和类型是否符合预期设计

  6. 验证不填写必填参数时接口是否正常

  7. 验证在需要请求头的接口中,不添加请求头数据是否可以正常返回数据

  8. 验证接口支持的请求方法是否符合预期设计

  9. 验证输入正确的URL以及使用正确的请求方法时返回的响应数据是否符合预期、响应状态码是否符合预期

四、使用 Fiddler 进行抓包

1. 一个重要设置

在使用 Fiddler 进行抓包操作时记得勾选 Tools -> Options -> HTTPS -> Decrypt HTTPS traffic 选项

这个选项的意思是对 HTTPS 数据进行解密,一般的 HTTPS 请求和响应都是加密的操作,我们无法直接查看,勾选这个选项之后,Fiddler 会去申请一个 CA 证书,以用来解密 HTTPS 数据

在这里插入图片描述

2. 进行抓包

Fiddler 抓包很简单,我们只需要打开 Fiddler,然后去浏览器发起请求,回到 Fiddler 就可以看到被抓取的请求和响应了

在这里插入图片描述

左边界面是当前 Fiddler 抓取的所有的数据包,点击之后右边的界面就会显示具体的数据,上边是请求的数据,下边是响应的数据,点击 Raw 选项就可以查看请求响应的原始数据

点击 Remove all 可以清除之前抓取的数据,以免数据繁多

在这里插入图片描述

五、使用 Postman 发起 GET 请求

以下以一个天气 API 为例

1. 通过API文档得到调用信息

通过天气 API 网站得到接口的调用信息,包括 url 和参数列表

在这里插入图片描述

2. 通过 Postman 构造 GET 请求

首先选择请求方法 GET,填入 url,再添加参数和参数值,点击发送即可在响应区域看到响应数据

在这里插入图片描述

在这里插入图片描述

六、使用 Postman 发起 POST 请求

以下以一个登录接口为例

1. 得到接口调用信息

同样的还是要先获取到接口调用信息,通过 Fiddler 对登录接口进行抓包

通过抓包可以看到 POST 请求的参数是放在请求体中的,所以我们需要在 Postman 中构造请求体

请求头中的 Content-Type: application/x-www-form-urlencoded 键值对告诉我们在构造请求体时,应使用 x-www-form-urlencoded 类型

在这里插入图片描述

2. 通过 Postman 发起 POST 请求

选择 POST 请求方式,填写 url,选择请求方式与请求头中一致,再填写参数,最后发起请求即可在相应区域看到响应数据

在这里插入图片描述
在这里插入图片描述

七、分享一个 Postman 汉化的方法

github 上有大佬分享了 Postman 的汉化包,网址如下

https://github.com/hlmd/Postman-cn/releases

不同版本的 Postman 对应的汉化包不同,一定要下载对应版本的汉化包,并且不要更新 Postman,更新之后汉化包就不起作用了

下载完成之后,将文件解压到 Postman 安装目录的 resources 目录下,重启 Postman 就可以发现汉化成功了
在这里插入图片描述

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

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

相关文章

机器学习——朴素贝叶斯(手动代码实现)

朴素的我,决定朴素地徒手实现贝叶斯算法! 摒弃sklearn 这个体贴善解人意把一切都打包封装好的妈妈 再见了sklearn 妈妈 我要自己手动实现 哪怕前方困难重重 哪怕我此刻还在发牢骚 但我还是要说,撒哟娜拉sklearn妈 看了知乎阿婆主的分析&#…

在 Maya、ZBrush 和 Substance 3D 中创建女枪手(P2)

今天瑞云渲染小编给大家带来了Ivan Lim 的Female Gunslinger 项目的细目,讨论了他在 Think Tank 的教育过程,并解释了他为什么选择虚幻引擎来呈现这个角色。这篇接着上篇继续拓扑UV、灯光材质、渲染等方面的分享 头发 我开始用一个块来处理头发&#xf…

看看人家那高并发秒杀系统,那叫一个优雅

618,大家剁手了么? 说起618,就不得不提其中较为复杂的秒杀环节了。虽说秒杀只是一个促销活动,但对技术要求不低。 秒杀作为618、双十一等电商活动不可缺少的一环,是一个非常典型的活动场景。秒杀场景的业务特点是限时…

并发知识学习

aqs中有2个队列,一个是同步队列,另外一个是条件队列简单记住:独占没有朋友,所以是null。共享就有朋友,所以是固定的node对象。nextWaiter就是表示节点的模式,在条件队列中指向下一个节点。 一个想要去获取锁…

车载测试范例,如何进行ADAS执行器性能测测试?

概述 执行器性能分为横向性能和纵向性能,横向性能主要指方向盘转向的响应性能,纵向主要包括油门加速性能及刹车减速性能。其中横向性能在ADAS中涉及的功能包括LKA、LDW,跟纵向加/减速性能相关的功能主要是ACC(自适应巡航&#xf…

C++数据结构【树状数组】

​ 树状数组 什么是树状数组?树状数组和线段树的区别 树状数组的结构什么是lowbitlowbit如何计算代码实现:补充知识——&,|,^运算&|^注意: 树状数组的基本操作单点修改while循环版代码for循环版代码 单点查询区…

pytest生成 junit-xml 测试报告

pytest 生成junit-xml 测试报告,那么生成的xml报告有什么用呢?可以集合一些持续集成工具(如jenkins…等)方便查看报告。 junit-xml 测试报告 命令行参数有2个跟 junit-xml 报告相关的参数 --junit-xmlpath create junit-xm…

2023年软件测试——精选金融银行面试真题

1、P2P你们也测试后台管理吗?个人芝麻信用积分是调取哪里的资料? 测试后台管理: 后台也测,但是我主要测试前台,我的关注点是前台,后台只是拿来用,能配合前台正常走完流程就行。 后台主要对前…

Linux线程同步(下)

文章目录 1. POSIX信号量2. 基于环形队列的生产消费模型2.1 代码实现2.1.1 构造函数和析构函数2.1.2 生产和消费2.1.3 测试 3. 线程池3.1 成员变量3.2 构造和析构3.3 push和pop3.4 启动线程池3.5 测试 4. 将线程池改成单例模式5. STL、智能指针和线程安全6. 其他常见的各种锁6.…

聊聊测试驱动开发

这是鼎叔的第六十四篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。 欢迎关注本专栏和微信公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。 本文观点参考自Lasse Koskela,他是《测试驱动开发的艺术》的作者。…

软件测试之【单元测试、系统测试、集成测试】

一、单元测试的概念 单元测试(Unit Testing)是对软件基本组成单元进行的测试,如函数(function或procedure)或一个类的方法(method)。当然这里的基本单元不仅仅指的是一个函数或者方法&#xff0…

揭秘跨部门沟通的秘密武器:让不归你管的人主动配合你的绝妙方法!

跨部门沟通,Edge对此有点胆怯:“我们自己内部进度,怎么着都好管。都是自己人,目标一致。可涉及跨部门合作,管起来就困难。人家又不归我们管,不可控因素太多了。如果在合作的过程中,出现啥问题&a…

docker 镜像结构原理

目录 参考文档:第八篇:Docker镜像结构原理_Linux运维开发的技术博客_51CTO博客 1、基础镜像 base base 镜像有两层含义: 为什么我们的镜像文件比一般的软件小一些呢? 二、镜像的分层结构 问什么 Docker 镜像要采用这种分层结…

org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping

一、yml解析异常问题 今天启动某开源项目时,碰到一个问题org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping 。 二、解决 2.1 修改项目目录下缩进格式 在项目下的nacos目录中application-common.yml 文件中修改缩进格式,每…

15个最好的性能测试工具(软件测试工程师必备)

在软件测试日常工作中,大家接触得比较多的性能测试工具有LoadRunner和Jmeter,这里整理了web应用程序性能和负载压力能力的最广泛使用的性能测试工具的综合列表。 这些负载测试工具将确保您的应用程序在高峰流量和极端压力条件下的性能。 该列表包括开源…

Spring Security OAuth2.0(五)-----OAuth2实现自定义统一认证登录页/自定义授权页/基于mysql存储数据

本次实例涉及三个项目 核心项目工程unify_authorization_server(认证授权登录) 资源服务器项目unify_resource_server 测试项目是前面几篇写的项目 这里没有改动直接用来测试实例项目 (一)unify_authorization_server pom相关依赖 我采用的是spring-bo…

Ngnix网站服务

Ngnix网站服务 Ngnix网站服务 一、Ngnix服务基础:1.Ngnix的基本概述:2.简述Nginx和Apache的差异:3.Nginx和Apache的优点:4.应用场景:5.扩展: 二、编译安装Ngnix服务:1.编译安装:2.常…

基于matlab使用自校准来适应阵列不确定性(附源码)

一、前言 此示例显示了基于约束优化过程的自校准过程。利用机会来源同时估计阵列形状的不确定性和来源方向。此示例需要优化工具箱。 理论上,可以设计一个完美的均匀线性阵列(ULA)来执行各种处理,例如波束成形或到达方向估计。通常…

玩转ChatGPT:回答审稿人问题

一、写在前面 前段时间一篇时间序列预测的文章返修,还挺幸运的,给了个小修。 不过问题也问得有点刁钻,应该是个行家。 想到手头有小Chat,打算使用TA来辅助我回答审稿人问题。 以下展示仅仅提供一个工作流和思路,具体…

好程序员:逼自己看完并学会,你的Java会很牛!

打算学java的伙伴们,如果你们很迷茫焦虑的话,不妨看看好程序员的建议。好程序员作为行内人告诉大家,零基础也是可以学java的,而且不仅可以学会,还可以学的很好,并且能找到工作。 Java学习路线规划&#xff…