Postman接口测试(超详细整理)

常用的接口测试工具主要有以下几种

Postman:简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档, 接口监控等功能;

JMeter:开源接口测试及压测工具,支持Linux及无界面运行;

LR:商业版接口性能测试工具,简单易用,功能强大;

SoupUI:开源,WebService接口常用测试工具,也可以测试Rest接口及接口安全。

本章主要介绍如何使用postman做接口测试。

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

2024年Python自动化测试全套保姆级教程,70个项目实战,3天练完,永久白嫖...

一 、postman 界面功能介绍


1、工具栏 

New:新建,可以新建Request请求,Collection请求集,环境等等

Import:导入,可以导入别人导出的请求集

Runner:运行一个请求集(批量执行)

Invite:邀请(需要注册,邀请进行协作)

同步图标:(需要注册,同步你的项目到云端)

抓包图标:抓包/捕获请求,用于开启Postman代理, 手动设置代理(或手机代理)后可抓包/录制请求

设置图标:Postman设置功能

消息图标:官方及协助消息

收藏图标:我的收藏(需要注册)

云端图标:用户云端数据(需要注册)

2、接口管理区

History: 请求历史记录,可以查询到之前的请求记录

Collections: 接口集,相当于一个接口项目或测试计划,接口集中可以建立无限极子文件夹,用于对接口进行分组管理

3、环境管理区

什么是环境

环境切换:用于切换环境

环境预览:用于快速预览环境中的所有变量

环境管理:用于添加修改环境及环境变量,以及全局变量

4、接口设计区

接口设计区可以通过上方tab边上的+号,新建多个请求。接口设计区从上到下分为请求区和响应区

①请求区 

请求地址行:可以选择请求方法(GET/POST/...),填写请求地址,发送请求和保存请求到测试集 

请求数据区:分为授权,请求头,请求数据,请求发送前执行的脚本(用于准备数据),请求结束后执行的脚本(用于断言) 

②响应区: 

响应内容(body):可以查看Pretty(美化格式),Raw(原始格式),Preview(HTML预览格式)

响应Cookie 

响应头(headers)

测试结果(Test Results):对应请求中Tests中设置的断言

5、Collection请求集(测试集)

请求集是Postman中接口管理的一个"整体"单位,运行、导出、分享等都是基于请求集的

①新建请求集:New按钮-->Collection 或 直接点击请求集列表上方的新建请求集按钮

授权:请求集及其子文件夹下的接口统一使用该授权,不用每个接口再都单独设置一遍 

请求前脚本:请求集的每个接口公用的请求前脚本 

请求后断言:请求集每个接口公用的请求后脚本 

请求集变量:请求集中公用的一些变量

②新建子文件夹:子文件夹的属性中同样拥有描述,授权,请求前脚本,和请求后断言(没有变量,一个请求集的变量统一管理),实现了不同范围(Scope)的Fixture功能。 

③测试集导出:测试集可以导出并发送给别人(不携带环境信息),别人通过导入来使用你的接口 

④测试集分享:测试集直接分享给别人(双方都需要注册)

⑤添加请求:通过测试集add request 添加请求,这个请求包含于这个测试集里。

测试集的功能操作:

6、环境变量和全局变量

环境管理中还可以点击“Global”添加全局变量,环境变量只有当选择了该环境时才生效,全局变量在任何环境中都生效,测试集中的变量只在当前测试集生效,当测试集变量,环境变量,

全局变量有重复的变量名时,优先级为:环境变量>全局变量>测试集变量。

添加环境变量:设置-add-环境变量信息填写

添加全局变量:设置-Global-全局变量信息填写

我们可以环境中设置多个变量,以供在请求中使用。

环境变量使用方法: 选择环境,在请求URL或者请求Body里使用{undefined{变量名}}来使用环境变量,变量可以在请求Body的各种格式中使用,但不能直接在请求前脚本(Pre-request Script)和请求后脚本(Tests)中使用。

Params:当请求URL中参数很多时,不方便进行添加和查看,可以点击URL输入框下的Params按钮,以表格的方式添加变量及值,从表格添加后,变量和值会自动添加到URL中。

7、请求设计

授权:如果接口需要授权,可以在该页面设置授权方式(type)和授权信息

Header:请求头,可以设置请求类型(Content-Type)和Cookie

Body:请求数据

form-data:混合表单,支持上传文件 ;x-www-form-urlencoded:文本表单;raw:原始格式,支持JSON/XML格式(后面可选择) ;binary:二进制格式,用于发送二进制数据流

Pre-request Script:请求前脚本,Javascript语法,用于在发送请求前生成一些动态数据或做一些处理

Tests:请求后脚本,Javascript语法,用于请求返回后做一些处理或断言结果 

7.1 Postman发送各种格式请求数据的请求方法(注意:选择不同的请求可是,会自动在Header中添加Content-Type信息 ):

form-data:混合表单,支持上传文件 ;

x-www-form-urlencoded:文本表单;

raw:原始格式,支持JSON/XML格式(后面可选择) ;

binary:二进制格式,用于发送二进制数据流

form-data混合表单格式传参示例(上传文件-选择file类型,传文本选择text类型):

x-www-form-urlencoded(文本表单)传参示例:

raw:原始格式,支持json和xml格式传参示例:

7.2 tests断言示例

  

二、postman接口测试实例

1、发送一个get请求的方法

选择get请求方式,输入要请求的url,传参方式以json为例,选择raw再选择JSON,然后将参数填入请求参数区,点击send发送请求,在响应区即可看到返回结果。如下

2、发送一个post请求实例

选择post请求方式,输入要请求的url,传参方式以混合表单为例,选择form-data,然后将参数名称和对应的值填入参数区,点击send发送请求,在响应区即可看到返回结果。如下

3、使用postman批量发送请求

Runner:批量执行测试集

支持设置迭代次数

支持加载csv或json、txt类格式测试数据

使用实例:

①新建一个Collection,比如课堂练习,新建请求(add requests)如登录,选择POST方法,填入URL,请求数据,URL的host使用配置的环境变量,请求数据使用变量做参数化,本地新建参数化文件备用

②设置断言

③Runner配置

1、点击Runner,进入测试集批量执行设置页面

2、选择测试集下,要批量执行的请求,然后选择本地参数化的txt文件login.txt,数据文件类型选择text/csv,迭代次数iteration参数化数据多少个就填多少

3、点击preview,可以预览本地参数化数据

④以上配置完后,点击Run XXX按钮,即可批量执行用例,得到测试结果,如图

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

mip-link 组件功能升级说明

背景描述 某个页面被多少页面引用(在其他页面上有指向这个页面的 a 标签),是搜索引擎判断这个页面价值的其中一个因子。这里的搜索引擎不只是指百度,还包括国内外其他的搜索引擎。 MIP 在最初设计 MIP url 跳转逻辑实现时&#…

日常问题——使用Xshell 连接虚拟机报错 Disconnected from remote host

问题描述: 使用Xshell进行连接虚拟机的操作时出现了Disconnected from remote host的错误! 解决方案(过程): 1、vim /etc/ssh/sshd_config 2、#UseDNS yes改为UseDNS no 3、重启service sshd restart 问题解决&…

【转】AB实验设计思路及实验落地

这篇文章会讨论: 1. 在什么情况下需要做 AB 实验 2. 从产品/交互角度,如何设计一个实验 3. 前端工程师如何打点 4. 如何统计数据,并保证数据准确可信 5. 如何分析实验数据,有哪些数据需要重点关注 6. 附:如何搭建…

简单实现MySQL数据实时增量同步到Kafka————Maxwell

任务需求:将MySQL里的数据实时增量同步到Kafka 1、准备工作 1.1、MySQL方面:开启BinLog 1.1.1、修改my.cnf文件 vi /etc/my.cnf [mysqld] server-id 1 binlog_format ROW1.1.2、重启MySQL,然后登陆到MySQL之后,查看是否已经修改过来: …

【转】mip-semi-fixed 走走又停停

写在前面 MIP 中悬浮元素的特殊情况 其实组件上线已经有一段时间了,最开始看到这个需求是站长提交了一个这中功能的组件过来,不过看过代码立刻就想到了 MIP 页面的特殊性:从结果页打开的 MIP 页面,是嵌套在一个 iframe 之中的。…

Mac使用Homebrew安装Kafka

1、使用brew install命令安装Kafka $ brew install kafka安装过程将依赖安装 zookeeper软件位置 /usr/local/Cellar/zookeeper /usr/local/Cellar/kafka配置文件位置 /usr/local/etc/kafka/zookeeper.properties /usr/local/etc/kafka/server.properties 备注:后…

广州站长沙龙 MIP 问题及答案

1. mip提交几个月时间了,生效量比较少,是什么原因? 答:提交 MIP 页面后,经过收录、校验、和生效三个步骤,才能在结果页看到闪电标。 1)提交 URL 后,spider 会去抓取收录&#xff1…

日常问题——初始化Hive仓库报错com.google.common.base.Preconditions.checkArgument

问题描述: 初始化Hive仓库报错Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V 解决方案(过程): com.google.commo…

【转】百度站长平台MIP引入工具使用心得

MIP引入主动推送流程 对于 MIP 站点改造好了,我们如何提交数据,并且 MIP 提交后,我们能得到哪些数据的反馈,在这里简单的写一篇文章,说一下。 改造 MIP,我们一般是添加了一个二级域名站点进行改造&#x…

Hadoop之HDFS应用

1、通过http://127.0.0.1:8088/即可查看集群所有节点状态: 2、访问http://localhost:9870/即可查看文件管理页面(在3.0.0中在之前的版本中文件管理的端口是50070,替换为了9870端口): ————进入文件系统 ————…

MIP ACCESS细节剖析

什么是 MIP ACCESS MIP ACCESS 由百度 MIP 团队开发的一种页面访问权限控制机制,能够允许网页发布者在页面元素中定义内容标记,并结合用户访问情况进行综合评价,从而展现或隐藏页面中内容,直至用户登录、订阅或付费后才能够查看隐…

HDFS常用Shell命令

1、-ls: 显示目录信息 hadoop fs -ls /2、-mkdir:在HDFS上创建目录 hadoop fs -mkdir -p /demo/test3、-moveFromLocal:从本地剪切粘贴到HDFS hadoop fs -moveFromLocal a.txt /demo/test/a.txt4、-appendToFile:追加一个文件到已经存在…

Linux环境下Flume的安装

1、在官网http://flume.apache.org/download.html下载flume的压缩包 2、解压到指定位置并重命名 tar -zxvf apache-flume-1.9.0-bin.tar.gz3、配置环境并生效 #vi ~/.bashrc export FLUME_HOME/usr/local/APP/flume export PATH$PATH:$FLUME_HOME/bin #使变量设置生效 #sour…

MIPCache 域名升级

一、MIPCache URL 是什么 举个例子,MIP 官网的 URL 为: https://www.mipengine.org 对应的 MIPCache 的 URL 为: https://mipcache.bdstatic.com/c/s/www.mipengine.org 所谓 MIPCache URL 是经过 MIP-Cache CDN 缓存后的 MIP 页面地址&…

Flume监听端口,输出端口数据案例

1、在flume目录下新建/myconf目录,并在目录下新建socket-console.conf 文件! mkdir myconf cd myconf touch socket-console.conf2、编辑文件vim socket-console.conf,添加以下内容: # 定义这个agent中各组件的名字 a1.sources r1 a1.sink…

MIP 移动网页加速器视频教程全新发布

MIP (Mobile Instant Pages - 移动网页加速器) 是百度推出的开源项目,用于移动端页面加速。MIP 技术通过优化浏览器资源加载,前端代码执行及 CDN 缓存加速来加速页面,打造秒开的页面浏览体验。目前,有 5000 多家站点的 MIP 页已经…

日常问题——flume连接hive时报错Caused by: java.lang.NoSuchMethodError

问题描述: 今天新安装的flume,使用flume来做kafka与hive对接时出现了以下两个的错误: Caused by: org.apache.hive.hcatalog.streaming.ConnectionError: HiveEndPoint{metaStoreUrithrift://localhost:9083, databasedb, tablestudent, pa…

MIP 技术进展月报:储存功能全新上线,MIP-Cache域名升级,校验更严谨

集 * 瞬时触达用户、高转化率、炫酷闪电标、优质展现形式 * 等诸多特性为一体的 MIP 页面吸引了众多站点进行改造。为了更好地服务于广大站长,更快地倾听站长们的声音,MIP 技术团队特推出《MIP 技术进展月报》,欢迎大家对 MIP 技术提建议&…

通过Flume简单实现Kafka与Hive对接(Json格式)

将以下存储在kafka的topic中的JSON格式字符串,对接存储到Hive的表中 {"id":1,"name":"小李"} {"id":2,"name":"小张"} {"id":3,"name":"小刘"} {"id":4,&qu…

改造MIP获得搜索青睐,轻松完成SEO

搜索引擎目标及页面排序方法 搜索引擎作为互联网流量的入口,承担着流量分发的职责。但排序成千上万的网页,决定哪些网页在第一页,是由网页本身的用户体验决定的。权重算法会从内容优质性,广告多少,加载速度等多个角度…