从业二十年的测试工程师今天给大家分享postman的使用技巧以及快捷键的精髓

news2024/11/27 0:46:53

一、Postman是什么
Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便。

二、Postman安装
官网下载(FQ)
Download Postman | Get Started for Free

三、Postman常用功能
安装好之后,我们先打开Postman,可以看到界面分成左右两个部分,右边是我们后头要讲的collection,左边是现在要讲的request builder。在request builder中,我们可以通过Postman快速的随意组装出我们希望的request。一般来说,所有的HTTP Request都分成4个部分,URL, method, headers和body。而Postman针对这几部分都有针对性的工具。

URL
要组装一条Request, URL永远是你首先要填的内容,在Postman里面你曾输入过的URL是可以通过下拉自动补全的哦。如果你点击Params按钮,Postman会弹出一个键值编辑器,你可以在哪里输入URL的Parameter,Postman会帮你自动加入到URL当中,反之,如果你的URL当中已经有了参数,那Postman会在你打开键值编辑器的时候把参数自动载入

Headers
点击’Headers’按钮,Postman同样会弹出一个键值编辑器。在这里,你可以随意添加你想要的Header attribute,同样Postman为我们通过了很贴心的auto-complete功能,敲入一个字母,你可以从下拉菜单里选择你想要的标准atrribute

Method

要选择Request的Method是很简单的,Postman支持所有的Method,而一旦你选择了Method,Postman的request body编辑器会根据的你选择,自动的发生改变。

Request Body

如果我们要创建的request是类似于POST,那我们就需要编辑Request Body,Postman根据body type的不同,提供了4中编辑方式:

  • form-data
  • x-www-form-urlencoded
  • raw
  • binary

(我们这里是可以传文件的哦)

四、postman高级用法
colletions(接口集合)
在开发过程中,可能会遇到多项目同时开发维护的情况,Postman友好的提供了colletions功能,类似与项目文件夹一样,可以把归属于同一类的接口分类到一起,便于管理维护。

点击NEW -> 选择collection,创建一个项目空间。

输入项目名称,点击create。

colletions folder(集合中的文件夹)

每个项目会有多个接口,有些是一类功能,例如,用户管理接口,文章列表接口,Postman提供folder目录来进行细致的分类。

选择一个项目,点击Add Folder

 输入目录名称,点击create

每个接口都可以归类到某个项目,或某个项目的子目录中。

 Environment(环境变量)
Postman允许定义自己的环境变量(Environment),最常见的是将测试 URL 进行定义成变量的形式,这样随着你的域名怎么变,URL 就不用变更,非常方便。除此之外,也可以将一些敏感的测试值定义为环境变量,比如密码。接下来,来看下怎么新建一组环境变量,如下操作打开环境变量的管理入口:

打开管理环境变量的窗口,输入名称,添加一组键值对,如下图所示:

 环境变量要以双大括号的方式来引用,可以在右上方下拉框处选择相应的环境变量,我们实测一下刚才添加的Url的变量:

通过脚本设置变量
Postman允许用户自定义脚本,并提供了两种类型的脚本:

Pre-request Script:执行request请求前先运行,可以在里面预先设置些所需变量
Tests:request返回后执行的,可以对返回信息进行提取过滤,或者执行一些验证操作
例子
获取如下返回信息中的user_id值:

// 假设服务端返回的Body内容如下:
{
  "token": {
    "user_id": "2079876912",
    "access_token": "26A90E317DBC1AD363B2E2CE53F76F2DD85CB172DF7D813099477BAACB69DC49C794BAECEDC68331",
    "expires_at": "2016-06-22T12:46:51.637+0800",
    "refresh_token": "26A90E317DBC1AD3CD1556CF2B3923DD60AEBADDCBC1D9D899262A55D15273F735E407A6BEC56B84",
    "mac_key": "4FAhd4OpfC",
    "mac_algorithm": "hmac-sha-256",
    "server_time": "2016-06-15T12:46:51.649+0800"
  }
}

在Tests中对user_id值进行提取并赋值成全局变量:

// 判断是否存在'user_id'值
tests["Body contains user_id"] = responseBody.has("user_id");
if(tests["Body contains user_id"]){
    // 将返回信息解析成对象
    var responseData = JSON.parse(responseBody);
    tests["value_user_id"]=responseData.token.user_id
    // 设置全局变量
    postman.setGlobalVariable("user_id",tests["value_user_id"]);
}else{
    postman.setGlobalVariable("user_id","默认user_id");
}

五、postman快捷键
作为一名优秀的测试攻城狮,将自己熟悉的测试工具,以及前沿工具,用到极致,这要是一件足矣体现你是"了解"还是"熟练"还是"精通"吧

听到上面几个词,是不是跟你简历描述的技能词汇相似,所以不要小看这些工具操作细节性的快捷操作,也许往往正是你能力的表现;今天就推送一下小技巧与快捷键操作

针对人群:基于Postman使用前提 # windows/Linux

# PS:个人真心不会使用MAC,买不起也用不起 

 

六、其它小知识
# 转化请求为代码 :点击每个请求右边cookies右边的code可以将请求转化为代码形式

# 保存响应数据:在请求头栏send按钮旁有一个向下的箭头,点击箭头点击send and download 会执行请求并且将请求保存到自定义路径

# 搜索Json响应数据:在响应栏右侧有一个搜索的按钮,可以用于搜索响应的json数据,输入关键词即可

上面就是对Postman常用快捷键以及使用小技巧,做一个总结,希望在你们的工作中对你们有帮助。

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接免费拿走:

① 2000多本软件测试电子书(主流和经典的书籍应该都有了)

② 软件测试/自动化测试标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白学习)

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

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

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

相关文章

React(react18)中组件通信03——简单使用 Context 深层传递参数

React(react18)中组件通信03——简单使用 Context 深层传递参数 1. 前言1.1 React中组件通信的其他方式1.2 引出 Context 2. 简单例子3. 语法说明3.1 createContext(defaultValue)3.2 value3.3 useContext(SomeContext) 4. 总结4.1 Context4.1.1 Context…

【Java 基础篇】Java transient 关键字详解:对象序列化与非序列化字段

在 Java 编程中,我们经常需要将对象序列化为字节流以便于存储或传输,或者将字节流反序列化为对象以恢复其状态。然而,并不是所有对象的所有属性都应该被序列化。有些属性可能包含敏感信息,或者它们只在内存中有意义。在这些情况下…

每日练习-7

目录 一、选择题 二、算法题 1、两种排序方法 2、求最小公倍数 一、选择题 1、 解析: 指针和引用是C中两种不同的变量类型,它们都可以用来访问或修改其他变量的值,但是它们有以下几个区别: 引用必须在定义时初始化&#xff0c…

Terminnal will be login out after 20 second

锐捷交换机,命令敲着敲着 ,就提示20秒后将中断 ,show ip ssh 查看也一下也没有什么特殊的。 于是查看了一下VTY下的配置 absolute-timeout 5 ,这句话是什么意思呢 ? 5分钟强制退出 ! 改进方法: (config)#…

为什么企业要选择使用报修工单管理系统?

报修管理系统是一种强大的工具,它为企业提供了一种方便、高效的方式来报告设备故障和异常情况,以便及时地反馈给相关的人员。这种系统不仅可以帮助企业更好地管理和跟踪设备的维护和维修工作情况,还可以对所有的维修信息进行统计和分析&#…

天视通等小众冷门摄像机接入安防监控系统EasyCVR平台的常见兼容问题及解决方法

众所周知,视频监控系统EasyCVR安防视频综合管理平台支持多类型设备、多协议方式接入,包括市场主流标准协议国标GB28181、RTMP、RTSP/Onvif协议等,以及厂家私有协议,如海康SDK、大华SDK、海康Ehome等。平台可兼容市面上绝大多数品牌…

【Java】类和对象知识

类和对象的基础知识 命名规则 类名统一使用大驼峰方法和成员变量统一使用小驼峰 定义一个类的时候注意的事项 1. 一般一个文件当中只定义一个类2. main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)3. public修饰的类必须…

英语——分享篇——每日100词——101-200

August——au我(谐音)gu姑(拼音)st沙滩(拼音)——八月份我和姑姑一起去沙滩 December——Dece第三(谐音)mb面包(拼音)er儿(拼音)——第三块面包是儿子在十二月买的

爬虫 — Scrapy-Redis

目录 一、背景1、数据库的发展历史2、NoSQL 和 SQL 数据库的比较 二、Redis1、特性2、作用3、应用场景4、用法5、安装及启动6、Redis 数据库简单使用7、Redis 常用五大数据类型7.1 Redis-String7.2 Redis-List (单值多value)7.3 Redis-Hash7.4 Redis-Set (不重复的)7.5 Redis-Z…

【python基础】—函数def()的定义与调用、参数、return返回值及变量作用域

文章目录 定义函数:def()语句调用函数:输入函数名和参数对应的值参数return 返回值变量作用域 定义函数:def()语句 语法: def 函数名(参数1,参数2,.....,参数n): 函数体 return 语句举例: def hello(name):print(n…

【MySQL系列】- MySQL自动备份详解

【MySQL系列】- MySQL自动备份详解 文章目录 【MySQL系列】- MySQL自动备份详解一、需求背景二、Windows mysql自动备份方法2.1 复制date文件夹备份实验备份环境创建bat直接备份脚本 2 .2 mysqldump备份成sql文件创建mysqldump备份脚本 2 .3 利用WinRAR对MySQL数据库进行定时备…

Android:报错“Transform‘s input file does not exist”

一、前言: android运行的时候出现如下错误:Transform output file C:\android\Enjoy\app\libs\xxxx.jar does not exist.刚开始我也很懵,我理解的事什么文件没有。上网查完资料,发现是添加依赖的时候有问题。 二、解决方案&…

Redis实战:Redis在Java中的基本使用

本片将介绍 Redis 在 Java 中的基本使用 文章目录 1、使用jedis操作redis1.1、Jedis简介1.2、引入jedis的Maven依赖1.2、获取连接1.3、使用实例 2、对于JedisPooled的使用2.1、使用JedisPooled2.2、关于连接池 3、SpringBoot下使用Redis3.1、引入Maven依赖3.2、配置Redis连接3.…

C语言入门log03

2023.9.19 周二 江苏 软件:visual studio 2017 ;注释快捷键 ctrlkc;取消ctrlku;运行快捷键 ctrlf5 B站视频 P4 按位取反~ int main() {//int arr[] {1,2,3,4,5,6};//4*624//printf("%d\n",sizeof(arr));//24 数组大小//print…

第14章 结构和其他数据形式

本章介绍以下内容: 关键字:struct、union、typedef 运算符:.、-> 什么是C结构,如何创建结构模板和结构变量 如何访问结构的成员,如何编写处理结构的函数 联合和指向函数的指针 设计程序时,最重要的步骤之…

面向面试知识--Lottery项目

面向面试知识–Lottery项目 1.设计模式 为什么需要设计模式? (设计模式是什么?优点有哪些?) 设计模式是一套经过验证的有效的软件开发指导思想/解决方案;提高代码的可重用性和可维护性;提高团…

DAQ高频量化平台:引领Ai高频量化交易模式变革

近年来,数字货币投资市场掀起了一股热潮,以(BTC)为代表的区块链技术带来了巨大的商业变革。数字资产的特点,如无国界、无阶级、无门槛、高流动性和高透明度,吸引了越来越多的人们的关注和认可,创…

linux内网渗透

一、信息收集 主机发现: nmap -sP 192.168.16.0/24 端口探测 masscan -p 1-65535 192.168.16.168 --rate1000 开放端口如下 nmap端口详细信息获取 nmap -sC -p 8888,3306,888,21,80 -A 192.168.16.168 -oA ddd4-port目录扫描 gobuster dir…

Windows安装GPU版本的pytorch详细教程

文章目录 chatGLM2-6B安装教程正式安装 chatGLM2-6B ChatGLM2-6B版本要装pytorch2.0,而且要2.0.1 ,因此CUDA不能用12.0 ,也不能用10.0,只能用11.x 版本。 安装教程 pip install直接下载安装 官网: https://pytorch.…

Python语言学习实战-内置函数all()和any()的使用(附源码和实现效果)

实现功能 all()和any()函数都是Python的内置函数,用于对布尔值进行操作。 all()函数接受一个可迭代对象作为参数,如果可迭代对象中所有元素都为真值(即非零、非空、非None等),则返回True,否则返回False。…