快速掌握Postman实现接口测试

快速掌握Postman实现接口测试

Postman简介

Postman是谷歌开发的一款网页调试和接口测试工具,能够发送任何类型的http请求,支持GET/PUT/POST/DELETE等方法。Postman非常简单易用,可以直接填写URL,header,body等就可以发送一个请求,用来测试api接口非常方便。

Postman的优点
  • 使用简单,无需搭建环境,直接使用,可以快速构建请求。
  • 保存以供以后回放使用。
  • Postman有响应结果的断言功能,可以用来写测试用例。
  • 可以把测试用例放在同一个目录下批量运行管理,可以设置迭代次数。
  • 可以设置环境变量,方便测试环境和生产环境使用同一套测试用例。
  • 调试结果方便查看。
安装Postman

支持chrome插件和独立应用,下方为应用下载地址。根据自己使用的操作系统,选择对应的版本。

官方网站:https://www.getpostman.com/apps

下载完成后,直接点击安装,首次打开会有登录页面,建议注册账号登录,这样所有历史记录和集合数据将会免费自动同步到云端,这样切换不同设备就可以快速使用历史数据了。

安装完成后界面:

整体布局

界面整体布局如下:

工具栏

  • 新建按钮:新建请求、集合、环境配置。
  • 导入按钮:导入Postman文件及文件夹。
  • 运行按钮:批量运行集合请求。
  • 新建窗口按钮:新建一个tab窗口。

  • 同步请求-同步请求数据到本地 抓包图标-使用Postman抓取API请求和cookie
  • 设置图标-应用程序设置
  • 通知图标-接收通知或广播
  • 分享图标
  • 账户管理

左侧面板

右侧面板

下面简单示例下Postman实现get和post请求

最常用的请求方法有GET,POST,PUT和DELETE,它们的区别如下:

  • GET请求:用于查询获取数据。
  • POST请求:创建或更新数据
  • PUT请求:更新数据
  • DELETE请求:删除数据

HTTP请求包含四个部分:URL,方法,header头部和body主体。

构建GET请求示例

在url中输入https://postman-echo.com/get?name=xiaoming&sex=男

get请求的参数在URL中,上面说过了get请求是查询数据,所以参数类型就是查询参数。

构建POST请求示例

常见post请求的传参方式

URL:https://postman-echo.com/post

方式一:表单提交,在body中选择x-www-form-urlencoded

等价于application/x-www-from-urlencoded,会将表单内的数据转换为键值对。

方式二:raw 传参

可以上传任意格式的文本,可以上传text、json、xml、html等,一般消息主体是序列化的JSON字符串。

方式三:Form-data 传参

就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。

https://postman-echo.com/post

断言

Postman添加响应处理,通过检查响应数据是否符合预期来判断用例是否通过。Postman提供了很多常用断言方式:比如对响应状态码、响应内容等进行断言。Postman的代码片段功能已经把常见的断言代码示例已经给我们写好了,大家直接可以选择使用。

常见的断言代码如下:

pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});
pm.test("Body matches string", function () {pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
pm.test("Your test name", function () {var jsonData = pm.response.json();pm.expect(jsonData.value).to.eql(100);
});
pm.test("Body is correct", function () {pm.response.to.have.body("response_body_string");
});
pm.test("Content-Type is present", function () {pm.response.to.have.header("Content-Type");
});
pm.test("Response time is less than 200ms", function () {pm.expect(pm.response.responseTime).to.be.below(200);
});
pm.test("Successful POST request", function () {pm.expect(pm.response.code).to.be.oneOf([201,202]);
});
pm.test("Status code name has string", function () {pm.response.to.have.status("Created");
});
var jsonObject = xml2Json(responseBody);

上述test['XXX']中"XXX",可以根据需要自行修改提示,运行完成后,在下方Test Results显示我们所定义的提示语句和测试结果。如果为 PASS ,测试通过,如果为FAIL,测试失败。

断言示例

创建集合并批量运行测试用例

集合,即是postman中的Collections,类似文件夹,可以把同一个项目的请求放在一个集合里方便管理和分享。测试人员下次测试可以直接从集合中找到要执行的测试case。可以让单个的request分组到一起,对每个request都有很多个testcase,都分组收藏到集合里面,进行自动化测试和回归测试。如果想将自己的集合分享给团队内其他人,可以点击Share按钮进行分享。

1.创建测试集:在左侧面板下点击New collections按钮。

2.创建多条测试用例,点击左侧save按钮,保存到创建的测试集中

3.点击测试用例集边上右边的run按钮,或者顶部菜单栏的Runner进行运行。

4.选择环境信息、迭代次数、请求的等待时间。

5.运行结果

环境变量和全局变量

接口测试时,为了方便修改和管理环境和参数,我们会把域名信息和请求的固定参数设为环境变量,把接口参数的请求或者返回参数中的固定值设为全局变量。

点击右上角的眼睛按钮,点击Add,输入环境名称,以及环境的参数和参数值。点击Edit添加全局变量名和变量值。

添加环境名称,以及具体的参数名和参数值。

添加全局变量,输入变量名和变量值。

修改上述用例

注:变量名要写在双花括号里,如下图:

生成python代码

postman完成请求后,可以请求生成各种语言和框架的代码片段。

点击请求面板的code按钮,选择需要转换的语言。

默认是http模式

生成python请求代码,大家也可以试试转成其他语言。

  总结

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面

  2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

​​

​​

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

 

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

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

相关文章

Unity2D学习笔记 | 《勇士传说》教程 | (六)

目录 (一)存档点对象制作 (二)保存数据与加载数据 (三)存储数值与场景 (四)游戏结束画面制作 (五)序列化数据保存 (一)存档点对象…

Java多线程技术11——ThreadPoolExecutor类的使用2

1 isShutdown()方法 public boolean isShutdown()方法的作用是判断线程池是否已经关闭 public class Run1 {public static void main(String[] args) {Runnable runnable new Runnable() {Overridepublic void run() {try {System.out.println("开始: " Thread.c…

软件安装文档 | MinIO

# docker 下载镜像 docker pull minio/minio# 安装镜像docker run \ --name minio \ -p 19000:9000 \ -p 19090:9090 \ -d --restartalways \ -e "MINIO_ROOT_USERsuweijie" \ -e "MINIO_ROOT_PASSWORDSuweijie0217" \ -v /home/data:/data \ -v /home/c…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第三天-Linux进程练习题(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机…

优化|PLSA理论与实践

PLSA又称为概率潜在语义分析,是一种利用概率生成模型对文本集合进行话题分析的无监督学习方法。该模型最大的特点是加入了主题这一隐变量,文本生成主题,主题生成单词,从而得到单词-文本共现矩阵。本文将对包含物理学、计算机科学、…

学习笔记——C++中的循环结构 while语句

while循环语句 作用:满足循环条件,执行循环语句 语法:while(循环条件){循环语句} 解释:只要循环条件的结果为真,就执行循环语句 以打印0-9这十个数字为例,特别需要注意的是&…

Anaconda安装失败及解决办法

查看Anaconda版本时正常显示 报错显示: 解决办法: 确保系统要求满足:检查你的操作系统是否满足 Anaconda 的最低要求。例如,确保你使用的是 64 位操作系统,同时具备足够的磁盘空间。禁用防病毒软件:某些防…

单片机原理及应用:独立式键盘控制LED与多功能按键识别

今天来介绍另一个外设——按键与LED的配合工作,与开关不同,按键需要注意消除抖动带来的影响,代码逻辑也会更复杂一写,下面先为大家介绍独立式键盘的相关知识。 单片机的独立式键盘指的是一种不依赖于计算机或其他外部设备的键盘输…

【STM32学习】硬件CRC与传统CRC-32计算的不同点

硬件CRC与传统CRC-32计算的不同点 1、stm32的硬件CRC32与传统CRC-32有何不同?2、解决办法 1、stm32的硬件CRC32与传统CRC-32有何不同? ①STM32F103的硬件CRC校验是对整个32位字进行CRC计算,传统的CRC-32是逐字节的计算。 ②STM32的硬件CRC32的…

基于SSM的校内信息服务发布系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

Redis高并发高可用(集群)

Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的目的。之前,Redis分布式方案一般有两种: 1、客户端分区方案,优点是分区逻辑可控,缺点是需要自己…

初识动态内存管理

前言: 我们都知道,内存分为几个区——栈区、堆区、静态区、常量区、代码区,我们在写代码的时候经常会遇到栈溢出这个问题,是因为在程序运行之前,我们无法准确的知道要分配多少空间给程序,所以说很容易造…

CentOS使用docker安装mysql并使用navicat 远程链接

这篇文章没用开启mysql的挂载功能,如果想开启的话可以和我的下篇文章结合着看。 CentOS中开启mysql挂载-CSDN博客 docker在之前的文章中已经安装完成了 这里输入命令查询已被上传的MySQL镜像 docker search mysql这里stars代表点赞数,official代表官…

KNN 回归

K 近邻回归(K-Nearest Neighbors Regression)是一种基于实例的回归算法,用于预测连续数值型的输出变量。它的基本思想是通过找到与给定测试样本最近的 K 个训练样本,并使用它们的输出值来预测测试样本的输出。它与 K 最近邻分类类…

计算机毕业设计----SSM场地预订管理系统

项目介绍 本项目分为前后台,前台为普通用户登录,后台为管理员登录; 用户角色包含以下功能: 按分类查看场地,用户登录,查看网站公告,按分类查看器材,查看商品详情,加入购物车,提交订单,查看订单,修改个人信息等功能。 管理员角…

java基于SSM的二手交易平台设计与开发论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本二手交易平台就是在这样的大环境下诞生,其可以帮助使用者在短时间内处理完毕庞大的数据信息&am…

基于SSM的基金投资交易管理网站的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

说反话-加强版

主要&#xff1a;使用strtok函数&#xff08;将字符串以空格分开&#xff09;&#xff08;若不了解strtok函数&#xff0c;我在其它文章已说明&#xff09; #include <stdio.h> #include <string.h> int main() { int i 0; int z 0; char* str[5000…

技术方向:比较与选择

针对未入行、刚入行、工作好几年依然不停切换择业方向、长期技术无法突破的人。 1 技术栈 一切的开始其实是对编程的兴趣&#xff0c;兴趣指引你跨过所有障碍。 编程语言是基础&#xff0c;编程语言之上&#xff0c;发展为两个主要方向&#xff0c;服务和大数据。 2 编程语言…

性能分析与调优: Linux 监测工具的数据来源

目录 一、实验 1.环境 2. proc目录 3. sys目录 4.netlink 5.tracepoint 6.kprobes 7. uprobes 二、问题 1.systemd如何查看启动时间 2.CentOS与Ubuntu如何安装bpftrace 3.snap有哪些常用的命令 4.snap如何安装store 5.如何列出使用bpftracede的OpenJDK USDT探针 …