当前位置: 首页 > 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…...

Fish-Speech 部署安装指南

Fish Speech 是由 Fish Audio 团队开发的一款开源文本转语音(TTS)模型,它在多语言支持和性能方面取得了显著的突破。根据证据显示,Fish Speech 最新版本为 1.4 版本,该版本不仅提升了对多种语言的支持,还大…...

Excel 国产化替换新方案

前言 在当前数字化转型和信创(信息技术应用创新)战略背景下,企业对于安全性、自主可控性和高效办公工具的需求日益增加。作为一款国产自主研发的高性能表格控件,SpreadJS 正成为替换 Excel 的最佳选择。它不仅全面支持国产化认证…...

在职研生活学习--20240908

文章目录 九月八日清晨,我们在鸟鸣声中醒来,精神饱满地迎接大汇演的挑战。上午,我们被分成舞龙队、旗手队、拳队、鼓队四个特色团队进行练习。阳光下,我们挥汗如雨,却乐此不疲。鼓声隆隆,龙舞飞扬&#xff…...

chattr:修改文件的特殊属性

​chattr ​命令用于改变文件的特殊属性,也称为"chattr 属性"。这些属性可以提供额外的安全性和控制,如设置文件为不可修改、只允许在文件末尾添加数据等。 ‍ 一、Linux 文件属性 文件属性是指与文件相关联的元数据,这些属性决…...

vue-router 在新的标签页打开链接/路由

前言 vue-router 在新的标签页打开链接/路由,由于官方没有提供对链接target属性的配置,要实现这个需求,需要自行实现,这里提供几个方案供参考。 调用 API vue-router 的路由实例除了常见的 push, replace, go 等接口&#xff0…...

Ansys HFSS的边界条件与激励端口

本文将介绍HFSS边界条件、激励端口,然后重点介绍连接器信号完整性仿真应用最多的波端口(wave port)及其尺寸设置要点。 HFSS (电磁仿真)边界条件 HFSS中所谓的边界并非真正意义上的边界,边界条件是指定问题区域和对象边缘的场行为接口。在HFSS的背景下,边界的存在主要有两个…...

C++:线程库

C&#xff1a;线程库 threadthreadthis_threadchrono 引用拷贝问题 mutexmutextimed_mutexrecursive_mutexlock_guardunique_lock atomicatomicCAS condition_variablecondition_variable thread 操作线程需要头文件<thread>&#xff0c;头文件包含线程相关操作&#xf…...

StarRocks实时分析数据库的基础与应用

1. 什么是 StarRocks&#xff1f; StarRocks 是一款开源的在线分析处理&#xff08;OLAP&#xff09;数据库&#xff0c;专为实时、低延迟的分析场景而设计。它以其大规模并行处理&#xff08;MPP&#xff09;架构和列式存储设计&#xff0c;极大地提高了查询性能和处理效率。…...

golang学习笔记17——golang使用go-kit框架搭建微服务详解

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…...

git update-ref

git update-ref 是一个低级别的 Git 命令&#xff0c;用于直接更新 Git 的引用&#xff08;refs&#xff09;。这个命令可以用来设置或删除分支、标签或其他引用的值&#xff0c;通常用于脚本或复杂的 Git 操作中。 基本用法 git update-ref <ref> <new-value> […...