当前位置: 首页 > news >正文

软件测试学习笔记丨Postman基础使用

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32096

一、Postman基础使用

1.1 简介

  • Postman是一款流行的API测试工具和开发环境,旨在简化API开发过程、测试和文档编制。
  • 优势:
    • Postman可以快速构建请求,还可以保存以后再使用。
    • Postman还可以提供响应结果的比较功能,可以用来写测试用例。使用Postman查看测试结果非常方便,可以自定义一些预期结果,根据Postman给返回的pass或者fail就可以判断测试是否通过。
    • Postman还可以把测试用例放在测试集中批量运行,方便各种业务场景的测试和回归。
    • Postman中可以通过设置不同的环境变量(生产、测试、灰度等),很方便的使用同一套测试用例。

1.2 应用场景

  • API测试:Postman可以用来快速、简便地测试API接口,通过发送HTTP请求并查看响应数据,来验证接口的功能是否正常。
  • 自动化测试:Postman提供了强大的测试脚本功能,可以编写测试脚本来自动化执行接口测试,减少人工测试工作量。
  • 性能测试:Postman可以用来执行性能测试,通过模拟大量用户同时访问接口,来评估接口的性能表现。
  • 监控和断言:Postman可以设置监控脚本,定期检查接口的可用性和性能,并进行断言,来确保接口符合预期。
  • 集成测试:Postman可以用于集成测试,测试多个接口的集成和功能是否正常写作。
  • Mock服务器:Postman可以生成Mock服务器,用于模拟外部服务或组件,帮助开发人员独立进行开发和测试。
  • 环境管理:Postman可以管理多个环境,如开发、测试、生产等,便于在不同环境之间切换测试。
  • 数据驱动测试:Postman支持通过CSV文件等数据驱动方式进行测试,提高用例覆盖范围和复用性。

1.3 Postman安装

Postman 官方网站:http://www.Postman.com

1.3.1 页面介绍

顶部栏:

  • Home:进入登录注册页面
  • Workspaces:选择工作区域(会员功能)
  • Reports:测试报告(付费功能)
  • Explore:探索 Postman 更多功能
  • 搜索框:快速检索过滤
  • 右侧:系统设置区域

左侧栏:

  • Collections:测试集
  • APIs:创建 API(需要注册)
  • Environments:管理环境
  • Mock Servers:提供 mock 服务
  • Monitors:监视器
  • History:历史记录

右侧栏:

顶部环境信息

查看当前使用的环境

查看当前环境中的变量

  • 请求配置区域
    • 在此可以新建一个请求标签,提供各种请求方法(如GET、POST等)、请求参数、请求header、请求执行前的设置项目、测试脚本等的配置功能。
    • METHOD:请求方法

  • URL & Params:URL可以输入 request 的地址,Params是对应URL的参数。
  • 在Params中输入参数,会自动同步到URL。
  • 同理,URL中输入带有参数的地址,也会自动同步到Params。

  • Send:发送当前请求。在发送请求后,会自动下载该请求的response。

  • Send and Download:在发送请求后,把响应数据保存为本地的文件。
  • Save:可以直接保存request,也可以选择另存为。

  • Save as:可以保存请求的名字以及简单的描述,还可以把请求保存在Collection里面。
  • Authorization:如果访问的服务需要授权,可以在这里设置验证方式+填写验证所需的信息,如用户名、密码。
  • Headers:设置请求头信息。
  • Body:设置请求的body。有form-data、urlencoded、raw以及binary等4种方式。POST中要携带的请求参数可以通过body上传。
    • form-data:既可以上传键值对,又可以上传文件。

  • x-www-form-urlencoded:会将表单内的数据转换为键值对。
  • raw:可以上传任意格式的文本,比如说 Text、 JSON、 XML、HTML 等。

  • binary:只可以上传二进制数据,通常用来上传文件。
  • Pre-request Script:请求前需要执行的脚本可以放置在这里。主要进行一些环境以及全局变量的设置。
  • Tests:测试用例的断言,会对测试结果进行一些判断。

  • Generate Code:可以将request转化为各种语言的代码。比如Python、JAVA、shell、HTTP等。
    • 响应查看区域

1.3.2 Postman基本使用

1. 发送GET请求

  • 演练地址:http://httpbin.ceshiren.com
    • 进入 Postman 软件界面
    • 选择 GET 请求方式
    • 在 URL 处填写 https://httpbin.ceshiren.com/get
    • 点击 Header,key 值填写 accept,value 填写 application/JSON
    • 点击 send 按钮,查看返回内容

2.发送POST请求

  • 请求方式:POST
  • 请求 URL:http://httpbin.ceshiren.com/post
  • 请求参数
    • FORM 格式:Bodyform-data
    • JSON 格式:BodyrawJSON
    • 文件格式:Bodyform-dataFile

添加 FORM 格式请求参数

  • 进入 Postman 软件界面
  • 选择 POST 请求方式
  • URL 处填写 https://httpbin.ceshiren.com/post
  • 选择 Body--form data,key 值填写 form_key1,value 填写 form_value1
  • 点击 send 按钮,查看返回内容


添加 JSON 格式请求参数

  • 选择 Bodyraw
  • 添加 JSON 内容
添加 JSON 内容
{"json_key1":"json_value1","json_key2":"json_value2"}

添加文件格式请求参数

在练习时可以现在左面创建一个文件,在文件内容随意输入内容

  • 选择 Bodyform data
  • key 中输入 file
  • 在出现的选择菜单中选择 创建的文件
  • 导入要上传的文件
  • 点击 send,查看结果"form"-取得文件中的内容

1.3.3 接口响应

  • 状态行:接口响应的第一行是状态行,一般包含了 http 协议的 版本、响应状态码、状态解释语句
  • 响应头:包含响应头信息的 keyvalue
  • 响应报文:服务端返回给客户端的文本消息、业务数据等等

BODY

有三种查看方式: PrettyRawPreview

  • Pretty 会根据选择的类型对 Body 进行高亮显示,同时可以选择要不要自动换行,方便阅读。比如之前请求测试人社区首页的时候,返回的响应是 HTML,那 pretty 中显示的 HTML 内容就是语法高亮和美观的格式。后面响应是 JSON 格式的时候也是同样。一般来说直接默认查看 pretty 中的响应结果就可以。
  • Raw 不会进行任何高亮显示。
  • Preview 显示的是 Body 部分的预览效果。
  • Visualize 最后的这个是新功能,可以结合脚本把响应进行图形化的显示。

COOKIES

服务器返回的 cookie 信息都提取出来展示在了这个专门的 tab 当中,可以从这里进行查看。

HEADERS

key-value 对的方式展示响应的 header 头信息。鼠标停留在 key 上,会显示该 key 的说明。

TESTS

如果在发送请求的时候,在 Tests 中写了断言的脚本,那么在请求成功之后,就会在响应的 Tests 中展示对应的测试结果。

STATUS

展示响应状态码以及对应的状态说明。这个响应状态码和状态说明信息其实就是接口响应第一行中的内容。

Status 的后面就可以直接查看到本次请求的状态码,现在请求是成功的,所以显示 200 ok

TIME

可以查看服务端响应所花费的时间。

SIZE

数据是响应数据的大小。

Postman 将响应大小分解为 bodyheaders。响应大小是近似值。

SAVE RESPONSE

最后面还提供了下载响应 body 的功能,可以直接把响应数据另存为一个文件,方便后续处理。

HTTP 头信息

  • 添加请求头
  • 修改请求头

添加请求头信息

下面给测试环境中的 get 请求手动添加一个头信息:

添加 My-Header 这个参数

  • My-Header: Harry
  • 点击 send,查看响应中 header 部分的内容。

修改请求头信息

除了添加之外,也可以修改头信息的值。比如想把 User-Agent 的值修改为 hogwarts

可以把默认的头信息勾选掉,然后重新定义自己的 key

  • User-Agent: hogwarts
  • 点击 send,查看响应中的内容

在这里插入图片描述

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

相关文章:

软件测试学习笔记丨Postman基础使用

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32096 一、Postman基础使用 1.1 简介 Postman是一款流行的API测试工具和开发环境,旨在简化API开发过程、测试和文档编制。优势: Postman可以快速构建请求&#xff0c…...

HTML5+CSS3面试题:(第一天)

目录 1.HTML5有哪些新特性,移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5? 2.谈谈iframe标签的优缺点? iframe的优点: iframe的缺点: 3.CSS3有哪些新特性? 4.让chrome支持小于12px的…...

微信小程序中的模块化、组件化开发:完整指南

文章目录 前言一、模块化与组件化开发的优势1.1模块化开发的优势1.2 组件化开发的优势 二、组件的抽离标准及规范2.1 抽离组件的标准2.2 组件化开发规范 三、模块化规范的种类及优劣比较3.1 CommonJS3.2 ES6 Modules3.3 优劣对比 四、组件封装:全局组件、分包组件、…...

9.第二阶段x86游戏实战2-初识易语言

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…...

Cortex-A7:__disable_irq和GIC_DisableIRQ、__enable_irq和GIC_EnableIRQ的区别(1)API介绍

0 相关资料 ARM Generic Interrupt Controller Architecture version 2.0.pdf 1 API介绍 1.1 __disable_irq __disable_irq函数的作用是失能IRQ,也就是不响应中断。实现代码如下: /**\brief Disable IRQ Interrupts\details Disables IRQ interrupt…...

MATLAB在嵌入式系统设计中的最佳实践

嵌入式系统设计是一个复杂的过程,涉及硬件和软件的紧密集成。MATLAB提供了一套全面的解决方案,从算法开发到代码生成,再到硬件验证,极大地简化了这一过程。本文将探讨使用MATLAB进行嵌入式系统设计的最佳实践,包括模型…...

wpf 使用Oxyplot 库制作图表示例

方法: InitTable 方法:负责初始化图表模型,包括设置图表的样式、坐标轴、系列和注释。这个方法包括多个 Init 方法的调用,表示图表的初始化过程可以分步骤进行。 InitGoalPoint 方法:当前未实现,但预留了子…...

CSS3中的@media查询

CSS3的media查询是一种强大的功能,允许我们根据不同的媒体类型和设备特性来应用不同的样式规则。这使得我们能够创建响应式设计,确保网站或应用在各种设备和屏幕尺寸上都能提供良好的用户体验。本文将详细探讨media查询的定义、语法、使用场景及常见问题…...

fly专享

要逐步熟悉实验中的各个步骤,下面是详细的说明,包括如何下载软件以及相关操作步骤。 1. 熟悉VMware 15虚拟机的使用 步骤说明: 下载VMware Workstation 15: 打开浏览器,访问VMware官方网站:VMware Workst…...

初识Linux · 进程(3)

目录 前言: 进程的创建 前言: 继上文介绍了着重介绍了进程的内部属性,以及在操作系统层面进程如何被组织起来的,如何调用系统接口,有关task_struct,进程的部分理解等,今天,我们就…...

【spring】spring bean对象生命周期,spring容器如何管理bean,spring容器的名称是叫什么

【spring】spring bean对象生命周期,spring容器如何管理bean,spring容器的名称是叫什么 DefaultListableBeanFactory开始 spring 容器 DefaultListableBeanFactory DefaultListableBeanFactory是Spring的核心BeanFactory实现,它负责Bean的创…...

基于51单片机的电饭锅控制系统proteus仿真

地址: https://pan.baidu.com/s/1CGyg6uPhFI0MeaBWwe_HAg 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectro…...

创建dataSource错误

说明:记录一次启动项目时的异常,如下: Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2024-09-14 23:27:27.338 ERROR 42260 --- [ main] o.s.boot.SpringA…...

为解决bypy大文件上传报错—获取百度云文件直链并使用Aria2上传文件至服务器

问题描述 一方面组内的服务器的带宽比较小,另一方面使用bypy方式进行大文件(大于15G)上传时会报错(虽然有时可以成功上传,但是不稳定): 解决方式 总体思路: 获得云盘需要下载文件的直链复制直链到服务器中使用自带…...

53.9k star 提升命令行效率的模糊搜索神器--fzf

fzf简介 作为Linux/Unix命令行的重度用户,你是否还在使用繁琐的管道命令与复杂选项组合来过滤文件和数据?其实我们有一个更简单高效的选择 - fzf。 fzf是一个开源的通用模糊搜索工具,可以大幅度提升命令行的使用体验。它的查询运行速度极快,支持预览选中的文件内容,还能与各…...

项目需求 | MySQL增量备份与恢复的完整操作指南

目录 一、MySql数据库增量备份的工作原理 1、全量备份与增量备份 2、增量备份原理 二、进行增量备份 步骤1:启用二进制日志 使用 SHOW VARIABLES 命令查看二进制日志状态 步骤2:执行增量备份脚本 三、使用增量备份恢复损坏的数据库 步骤1&#…...

判断当前环境是否为docker容器下

判断当前环境是否为docker容器下 webshell后或登录到系统后台,判断是否为docker容器可使用如下方法: 方式一:使用ls -alh命令查看是否存在.dockerenv来判断是否在docker容器环境内 ls -alh /.dockerenv如下图无.dockerenv文件,所…...

深入理解FastAPI中的root_path:提升API部署灵活性的关键配置

在Web开发领域,FastAPI因其高性能、易于使用和类型提示功能而备受开发者喜爱。然而,当涉及到在生产环境中部署FastAPI应用程序时,我们常常需要面对一些挑战,比如如何正确处理代理服务器添加的路径前缀。这时,root_path…...

QLORA:高效微调量化大型语言模型

人工智能咨询培训老师叶梓 转载标明出处 传统的16位精度微调需要超过780GB的GPU内存,对于参数量极大的模型,如65B(即650亿参数)的模型,在资源有限的情况下大模型的微调几乎是不可能的。华盛顿大学的研究者团队提出了一…...

CesiumJS+SuperMap3D.js混用实现可视域分析 S3M图层加载 裁剪区域绘制

版本简介: cesium:1.99;Supermap3D:SuperMap iClient JavaScript 11i(2023); 官方下载文档链家:SuperMap技术资源中心|为您提供全面的在线技术服务 示例参考:support.supermap.com.cn:8090/w…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

12.找到字符串中所有字母异位词

🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

浅谈不同二分算法的查找情况

二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况&#xf…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...