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

news2024/12/23 4:46:04

本文转自测试人社区,原文链接: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 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

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

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

相关文章

使用 React Testing Library 测试自定义 React Hooks

自定义 React hooks为开发人员提供了在多个组件之间提取和重用常见功能的能力。然而,测试这些 hooks可能会有些棘手,特别是对于测试新手来说。在本文中,我们将探讨如何使用 React Testing Library 测试自定义 React hook。 测试 React组件 首…

录屏工具大揭秘:录屏快捷键、工具使用感受与建议

在繁忙的工作中,我们常常需要记录下一些重要的操作步骤或精彩瞬间,这时录屏工具就派上了用场;接下来,我将以轻松愉悦的方式,为大家介绍四款常用的录屏工具及其快捷键,并分享使用感受与建议: 录…

OM6626国产低功耗蓝牙对比NRF52832/NRF52810

OM6626 是一款超低功耗的蓝牙soc 主要特性: 支持BLE5.3支持SIG Mesh支持2.4G长包主频64Mhz,80KB RAM主要应用在esl电子价签,IoT模组、CGM、高报告率HID设备 PUM特点 1.71~3.6v供电电压1秒间隔广播平均电流:9uA;1秒间…

架构设计 - 常用日志收集方案选型对比与推荐

目录 1. 常用组合1.1 ELK Stack -> Elastic Stack1.2 EFK Stack1.3 Graylog1.4 PLG 日志系统1.5 Splunk1.6 Filebeat ELK1.7 AWS CloudWatch Logs1.8 阿里云日志服务1.9 腾讯云 CLS(日志服务) 2. 推荐 日志收集是系统监控和调试中的关键环节。常见的…

心觉:以终为始,帮你精准实现目标

Hi,我是心觉,与你一起玩转潜意识、脑波音乐和吸引力法则,轻松掌控自己的人生! 挑战每日一省写作169/1000天 假设你的目标是 一年内赚到150万。我们可以通过“以终为始”和“以始为终”的结合来帮助你实现这个目标 以下是完整的…

VuePress搭建文档网站/个人博客(简单配置、易上手)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

sourcetree配置ssh连接gitee

使用PuttyGen.exe生成的公钥私钥格式和git文档方法生成的不一样, SSH 公钥设置 | Gitee 帮助中心 gitee方法生成的公钥类似: ssh-ed25519 AAAA***5B Gitee SSH Key PuttyGen.exe生成的: 公钥 ---- BEGIN SSH2 PUBLIC KEY ---- Comment:…

15个顶级ChatGPT学术提示词指令,让学术研究与撰写论文,轻松上手,效率翻倍

大家好,我将通过这篇文章详细介绍如何有效利用ChatGPT来增强学术写作的各个环节。从论文陈述的精炼到数据的深入分析,从研究主题的探索到论文各部分的撰写,为大家一步一步展示如何通过这些工具来提升研究工作的质量和效率。 1.完善论文陈述: 输入你的初步论文陈述,ChatG…

【YashanDB知识库】数据库获取时间和服务器时间不一致

本文转自YashanDB官网,具体内容可见数据库获取时间和服务器时间不一致 【问题分类】功能使用 【关键字】服务器时间、数据库时间 【问题描述】数据库获取的时间和服务器时间不一致。 【问题原因分析】YashanDB并没有时区的概念,数据库的时间以数据库启…

红黑树的删除

文章目录 前言一.删除的节点左子树右子树都有二.删除的节点只有左/右子树删除调整操作 三.删除的节点没有孩子1.删除的节点为红色2.删除的节点为黑色1).兄弟节点为黑色(1).兄弟节点至少有一个红色的孩子节点LL型RR型RL型LR型 (2).兄弟节点没有孩子或所有孩子为黑色 2).兄弟节点…

Redis实现发布/订阅功能(实战篇)

前言 博主在学习 Redis 实现发布订阅功能的时候,踩了太多的坑。 不是讲解不详细,看的一知半解;就是代码有问题,实际压根跑不起来! 于是博主萌生了自己写一个最新版且全程无错的博客供各位参考。希望各位不要把我才过…

C语言浮点型数据在内存中的存储(23)

文章目录 前言一、浮点数在内存中的存储练习引入浮点数的存储浮点数存的过程 二、浮点数取的过程E不全为0或不全为1E全为0E全为1 三、再回顾练习总结 前言 哎,之前写了一篇,可是中途退出没保存,只能再写一遍了~   浮点数在内存中的存储跟整…

智汇创想pytest接口自动化测试框架

本测试框架是基于pytest搭建的接口自动化框架,对象为深圳智汇创想官方网站。深圳智汇创想科技有限责任公司(深圳智汇创想科技有限责任公司),是一家专注于跨境电子商务的集团公司,全球电商平台多品类多品牌的零售商&…

什么是APT攻击,有哪些防御策略

在数字化时代,网络安全已成为国家、企业和个人不可忽视的重要议题。其中,高级持续性威胁(APT)攻击以其隐蔽性强、攻击规模大、持续时间长等特点,成为网络安全领域最为棘手的问题之一。面对APT攻击的严峻挑战&#xff0…

Unity 场景优化(1) game视口的Statistics 内容介绍

Unity的 Statistics (stats) Unity是多线程的。但是控制使用unity的api必须在主线程中,比如控制物体的transform信息。 Audio Level: DSP Load:数字信号处理(Digital Signal Processing)负载&…

空间视频化趋势理解

「视频空间化」这个趋势不是从现在开始,而是潜在发展了很多年了,而且我个人觉得「视频空间化」的背后其实对应的是「空间视频化」的趋势,所以未来我们还是要注重自己的技术栈中对视频相关处理技术的吸收以及整合,下面是我的几个理…

Jenkins生成html报告

下载插件 1.需要下载插件 html Publisher plugins 2.下载Groovy(设置css样式),默认没有css样式 在Job配置页面,增加构建步骤Execute system Groovy script,在Groovy Command中输入上面命令,即可: System.…

清理C盘缓存的垃圾,专业清理C盘缓存垃圾与优化运行内存的策略

专业清理C盘缓存垃圾与优化运行内存的策略 一、清理C盘缓存垃圾 在Windows操作系统中,C盘通常作为系统盘,其健康状况直接影响到系统的整体性能。定期清理C盘中的缓存和垃圾文件是维护系统性能的重要步骤。以下是一些专业建议: 1.使用磁盘清…

二叉树链式结构与简单实现

二叉树链式结构与简单实现 一、二叉树的链式结构二、二叉树的简单实现二叉树的遍历前序、中序以及后序遍历层序遍历 结点个数以及高度等二叉树的创建和销毁判断二叉树是否为完全二叉树 三、源码展示在 BinaryTree.h 中:在 BinaryTree.c 中: 以下代码环境…

建筑机器人通用操作系统设计方案

建筑机器人操作系统通用发行版概述 1. 基础版(Entry Level) 目标用户:小型建筑公司、DIY爱好者或初学者。特点:提供基础的机器人控制和任务管理功能,支持简单的自动化作业流程,如基础的混凝土搅拌、物料搬…