快速掌握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最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!
相关文章:
快速掌握Postman实现接口测试
快速掌握Postman实现接口测试 Postman简介 Postman是谷歌开发的一款网页调试和接口测试工具,能够发送任何类型的http请求,支持GET/PUT/POST/DELETE等方法。Postman非常简单易用,可以直接填写URL,header,body等就可以发…...
jmeter--3.使用提取器进行接口关联
目录 1. 正则表达式提取器 1.1 提取单个数据 1.2 名词解释 1.3 提取多个数据 2. 边界值提取器 2.2 名词解释 3. JSON提取器 3.1 Json语法 3.2 名词解释 3.3 如果有多组数据,同正则方式引用数据 1. 正则表达式提取器 示例数据:{"access_to…...
移动通信系统关键技术多址接入MIMO学习(8)
1.Multiple-antenna Techniques多天线技术MIMO,从SISO到SIMO到MISO到如今的MIMO; 2.SIMO单发多收,分为选择合并、增益合并;SIMO,基站通过两路路径将信号发送到终端,因为终端接收到的两路信号都是来自同一天…...
WorkPlus AI助理为企业提供智能客服的机器人解决方案
在数字化时代,企业面临着客户服务的重要挑战。AI客服机器人成为了提升客户体验和提高工作效率的关键工具。作为一款优秀的AI助理,WorkPlus AI助理以其智能化的特点和卓越的功能,为企业提供了全新的客服机器人解决方案。 为什么选择WorkPlus A…...
python类装饰器编写单体类
1 python类装饰器编写单体类 类装饰器用于装饰类,用于管理类自身,或用于管理实例创建调用。 单体类,不管创建多少次实例,都只有一个实例的类。可以通过类装饰器管理装饰类的全部实例,实现单体类。 1.1 字典存放单体…...
Java并发Condition 详解
1.引言 在Java并发编程中,线程间的协作是一个核心话题。为了实现线程间的协作,Java提供了多种机制,其中等待/通知机制是最常见的一种。在早期版本中,我们通过Object类提供的wait、notify和notifyAll方法来实现这种机制。然而&…...
如何使用CentOS系统中的Apache服务器提供静态HTTP服务
在CentOS系统中,Apache服务器是一个常用的Web服务器软件,它可以高效地提供静态HTTP服务。以下是在CentOS中使用Apache提供静态HTTP服务的步骤: 1. 安装Apache服务器 首先,您需要确保已安装Apache服务器。可以使用以下命令安装Ap…...
Python入门0基础学习笔记
1.编程之前 在编写代码之前,还有两件事需要做: 安装 Python 解释器:计算机是没法直接读懂 Python 代码的,需要一个解释器作为中间的翻译,把代码转换成字节码之后再执行。 Python 是翻译一行执行一行。一般说的安装 …...
python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)
前言 当你需要统计训练数据中每个类别标签有多少,并且想知道坐标中心分布在图像的位置信息时,你可以利用一下脚本进行计算! 步骤 要绘制热力图来分析VOC数据的分布统计,可以按照以下步骤进行: 数据处理࿱…...
【回顾2023,展望2024】砥砺前行
2023年总结 转眼间,迎来了新的一年2024年,回顾2023,对于我来说是一个充满平凡但又充实又幸运的一年。这一年经历了很多的事情,包括博客创作、技术学习、出书、买房等,基本上每件事情都是一个前所未有的挑战和机遇、使…...
Stable Diffusion初体验
体验了下 Stable Diffusion 2.0 的图片生成,效果还是挺惊艳的,没有细调prompt输入,直接输入了下面的内容: generate a Elimination Game image of burnning tree, Cyberpunk style 然后点击生成,经过了10多秒的等待就输…...
缓存解析:从架构设计到Redis应用及最佳实践
典型架构设计中缓存的存储位置 在现代软件架构中,缓存是优化数据检索、提高应用性能的关键组件。缓存的存储位置多种多样,每个位置针对特定的优化目标和需求。理解这些层级对于设计高效的系统至关重要。 浏览器缓存:这是最接近用户端的缓存层…...
【C#】使用 LINQ 中的 Skip() 和 Take()进行分页,为什么要分页,分页作用是什么
欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是是《C#》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握…...
2024云服务器哪家好?阿里云、腾讯云、华为云
作为多年站长使市面上大多数的云厂商的云服务器都使用过,很多特价云服务器都是新用户专享的,本文有老用户特价云服务器,阿腾云atengyun.com有多个网站、小程序等,国内头部云厂商阿里云、腾讯云、华为云、UCloud、京东云都有用过&a…...
docker compose安装gitlab
环境 查看GitLab镜像 docker search gitlab 拉取GitLab镜像 docker pull gitlab/gitlab-ce 准备gitlab-docker.yml文件 version: 3.1 services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwaysenvironment:GITLAB_OMNIBUS_CONFIG: |external_url…...
Nginx——基础配置
和大多数软件一样,Nginx也有自己的配置文件,但它又有很多与众不同的地方,本帖就来揭开Nginx基础配置的面纱。 1、Nginx指令和指令块 了解指令和指令块有助于大家了解配置的上下文,下面是一个配置模板示例: 在这个配…...
计算机基础(存储单位)
1. 计算机中的存储单位有哪些 1.1 常见的计算机存储单位 计算机存储单位一般用bit、B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB……来表示,如下所示: bit位、比特byte(B)字节、字Kill Byte(KB)千字…...
Leetcode 494 目标和
题意理解: 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2 之前添加 ,在 1 之前添…...
Windows常用命令(文件相关、进程相关、网络相关、用户相关、特殊符号)
Windows常用命令 Windows常用命令 Windows常用命令0x01 基础操作0x02 文件操作0x03 进程操作0x04 网络相关0x05 用户相关0x06 特殊符号 0x01 基础操作 清屏:cls 关机:shutdown -s(关机)-r(重启) -f(强制)…...
摘:国六排放法规下的重型车车载终端的革新
系列文章目录 文章目录 系列文章目录一、国六排放法规下的重型车车载终端的革新二、使用步骤1.引入库2.读入数据 一、国六排放法规下的重型车车载终端的革新 添加链接描述 ascii码 二、使用步骤 1.引入库 代码如下(示例): import numpy a…...
java读取json文件并解析并修改
要在Java中读取和解析JSON文件,可以使用Java提供的JSON库,例如Jackson、Gson或JSON.simple。以下是使用Jackson库的示例代码: 首先,你需要添加Jackson库的依赖到你的项目中。如果你正在使用Maven,可以在pom.xml文件中…...
2024年前端面试中JavaScript的30个高频面试题之基础知识
中级 高级知识 充分准备你的下一个JavaScript面试,增强信心! 无论你是老手还是刚进入技术行业,这份2024年必备资源都将帮助你复习核心概念,从基本语言特性到高级主题。 在本文中,我汇总了30个最关键的JavaScript面试题以及详细的答案和代码示例。 深入探索这宝贵的收藏,以确…...
鸿蒙设备-开发板基础学习(BearPi-HM Micro)
theme: minimalism 每当学习一门新的编程语言或者上手一款新的开发板,在学习鸿蒙设备开发过程中,带大家写的第一个程序,通过这个程序,我们可以对鸿蒙设备开发的整个流程有一个初步的体验。BearPi-HM Micro开发板为例:…...
Oracle导入导出dump
创建目录: create directory *** as /bak; #***名称可以随便命名 需要手工创建/bak,并且此目录oracle用户有读取,目录地址空间要够用。 查看所有目录 select * from DBA_DIRECTORIES;---查询导入导出的目录 导入 impdp ****/**** direc…...
判断vector、string是否存在某个元素
1、string字符串中是否存在某个字符(char) string中find()返回值是字母在母串中的位置(下标索引),如果没有找到,那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数) …...
C语言--结构体详解
C语言--结构体详解 1.结构体产生原因2.结构体声明2.1 结构体的声明2.2 结构体的初始化2.3结构体自引用 3.结构体内存对齐3.1 对齐规则3.2 为什么存在内存对齐3.3 修改默认对⻬数 4. 结构体传参 1.结构体产生原因 C语言将数据类型分为了两种,一种是内置类型…...
外卖骑手与行人之间的非零和博弈
一、背景 自2013年成立以来,美团外卖一直保持着高速增长,通过提供便捷、高效的外卖服务,满足了大量消费者的需求。美团外卖的服务不仅限于基础的送餐服务,还涵盖了多种生活服务,如超市便利、药品配送等,满…...
[AutoSar]基础部分 RTE 06 对runnable的触发和SWC的影响
目录 关键词平台说明一、runnable二、RTE的event2.1Mode类型event2.2周期触发类型2.3 数据交互触发 三、internal runnable value四、专属运行区指定五、per_instance memory 关键词 嵌入式、C语言、autosar、Rte 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商T…...
网络层协议及IP编址与IP路由基础华为ICT网络赛道
目录 4.网络层协议及IP编址 4.1.网络层协议 4.2.IPv4地址介绍 4.3.子网划分 4.4.ICMP协议 4.5.IPv4地址配置及基本应用 5.IP路由基础 5.1.路由概述 5.2.静态路由 5.3.动态路由 5.4.路由高阶特性 4.网络层协议及IP编址 4.1.网络层协议 IPv4(Internet Protocol Versi…...
基于stm32f4的蓝牙控制小车
1. 引言 蓝牙的创始人是瑞典爱立信公司,蓝牙技术是一种无限数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。手机之间通过蓝牙实现数据共享成为常理,将手机变为遥…...
iphone8多少钱/关键词优化的技巧
实验前知识准备:微软的socket开发文档,包含api的用法及解释:https://docs.microsoft.com/zh-cn/windows/win32/api/_winsock/1.什么是socket:我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层&…...
专业做电子的外贸网站/网站建设及网站推广
第十章:Call指令和Ret指令讲解03 让编程改变世界 Change the world by program call指令和ret指令的配合使用2 我们看一下程序的主要执行过程: (1)前三条指令执行后,栈的情况如下: [caption id"at…...
番禺网站开发哪家好/抖音搜索关键词排名
综述 Ubuntu分辨率只有一个分辨率 当然xrandr也没法修改 看上去很难受 解决方法 sudo apt install nvidia-cuda-tookit...
阿里云做网站可以免备案吗/seo综合查询工具有什么功能
2019独角兽企业重金招聘Python工程师标准>>> 一,支付清算体系的简介 支付清算体系是一个国家的金融基础设施,或说公共服务。我国由央行主管此事,目前大体维持“结算-清算”二级制的支付体系。通俗地讲,银行与商户、消费…...
牡丹江网站制作/推广普通话的重要意义
性能监视 1.使用Tomcat自带的Manager监视 Free memory:剩余内存 Total memory:总内存 Max memory:最大内存 Max threads:最大线程数 Current thread count:当前线程数 Current thread busy:当前忙碌线程…...
深圳的网站建设公司/上海不限关键词优化
1. 问题描述 双色球中,红色球选号规则:红色球可以在1-33个编号中任意选择6个。 问题:红色球全部选中的概率为多少? 2. 代码: package v1ch03.BigIntegerTest;import java.math.*; import java.util.*;/*** This pr…...