软件测试/测试开发丨接口测试之Postman 安装与使用

Postman 安装

  • 官网下载地址

    • www.postman.com/downloads

Postman 使用

发送get请求

  • 新建请求

  • 填写请求方式:GET

  • 填写请求 URL:

    • ceshiren.com/
    • httpbin.ceshiren.com/get
  • 填写请求参数: para_key = para_value

发送 POST 请求

  • 请求方式:POST

  • 请求 URL:httpbin.ceshiren.com/post

  • 请求参数

    • FORM 格式:Body –> form-data
    • JSON 格式:Body –> raw –> JSON
    • 文件格式:Body –> form-data –> File

Postman 完成接口测试

  • 创建测试集
  • 编写断言
  • 运行测试集
  • 查看测试结果

断言

// Status Code:Code is 200
// 验证响应状态码
pm.test("响应状态码为 200", function () {pm.response.to.have.status(200);
});// Response Body:contains string 
// 验证响应体中是否包含某个字符串
pm.test("响应体中包含预期的字符串", function () {pm.expect(pm.response.text()).to.include("doggie");
});// Response Body:JSON value check
// 验证 JSON 中的某个值是否等于预期的值
pm.test("宠物名称为 doggie", function () {var jsonData = pm.response.json();pm.expect(jsonData[0].name).to.eql("doggie");
});// Response Body:Is equal to a string
// 验证响应体是否与某个字符串完全相同
pm.test("响应体正确", function () {pm.response.to.have.body("response_body_string");
});// Response Body:Content-Type header check
// 验证响应头信息中的 Content-Type 是否存在
pm.test("Content-Type is present", function () {pm.response.to.have.header("Content-Type");
});// Response time is less than 200ms
// 验证响应时间是否小于某个值
pm.test("Response time is less than 200ms", function () {pm.expect(pm.response.responseTime).to.be.below(200);
});

运行测试集

  • 测试集页面 → Run 按钮

变量

  • Postman 中变量的种类与作用域

    • Data:在测试集中上传的数据
    • Environment:环境范围
    • Collection:集合范围
    • Global:全局范围
    • Local:在脚本中设置的变量

变量定义

  • 全局变量:Environments → Globals
  • 测试集变量:测试集页面 → Variables
  • 环境变量:Environments → +

变量的使用

  • 请求 URL, Params 参数或 Body 表格或JSON/XML 文本中通过 {{变量名}} 使用
  • 在 Pre-request Script 和 Tests 脚本中使用封装好的语句获取或者设置对应变量
/ 获取全局变量
var status = pm.globals.get("status");
// 输入到控制台
console.log(status)// 获取测试集变量
var petId = pm.collectionVariables.get("petId");
// 获取环境变量
var url = pm.environment.get("baseURL");// 设置全局变量
pm.globals.set("status", "sold");
// 设置测试集变量
pm.collectionVariables.set("petId", 0);
// 设置环境变量
pm.environment.set("baseURL", "");

变量的优先级

  • 优先级从高至低为:Data → Enviroment → Collection → Global → Local

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

1. Spring概述

概述 Spring 是一个开源框架Spring 为简化企业级开发而生,使用 Spring,JavaBean 就可以实现很多以前要靠 EJB 才能实现的功能。同样的功能,在 EJB 中要通过繁琐的配置和复杂的代码才能够实现,而在 Spring 中却非常的优雅和简洁。…

2023年总结(2023年1月1日至2023年12月31日)

前言 时间过得真快啊,一年又过去了。 从去年11月换了家公司后,工作就稳定多了,做的工作也是我喜欢做的工作——摄像头驱动,平时也挺轻松的,偶尔有事儿的时候会压力大点,加点班,其他都还好&…

4年微博热搜数据,一次拿走

又是新的一年了,从2020年开始,就养成了定时备份各大平台热搜数据的习惯,微博,知乎都在备份,今天给大家看一下从2020年到2023年的微博热搜数据情况 这是2022年的备份数据,每天的热搜数据一个文件&#xff0c…

2.2 设计FMEA步骤二:结构分析

2.2.1 目的 设计结构分析的目的是将设计识别和分解为系统、子系统、组件和零件,以便进行技术风险分析。其主要目标包括: 可视化分析范围结构化表示:方块图、边界图、数字模型、实体零件识别设计接口、交互作用和间隙促进顾客和供应商工程团队之间的协作(接口责任)为功能分…

计算机组成原理——中央处理器cpu21-40

18、某计算机的指令流水线由4个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是多少。A A、 90ns     B、 80ns C、 70ns     D、 60ns …

修改docker镜像IP

1.创建网络 docker network create --driver bridge --subnet 100.168.0.0/24 my_network2.修改docker-compose启动文件 version: "2" services:situation-awareness-web:restart: alwaysimage: situation-awareness-web:0.1.0container_name: situation-awareness…

【日常聊聊】解决深度学习模型挑战:解释性与鲁棒性的平衡

🍎个人博客:个人主页 🏆个人专栏: 日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 1. 数据偏见: 介绍和解释: 解决方法: 2. 复制训练数据: 介绍和解决方法&am…

git 查看最新commit提交时间(具体到时分秒)

git 查看最新commit提交时间 使用服务器时间 以及如何自定义显示格式 使用服务器时间查看最新提交时间: 可以使用 git log 命令来查看最新提交的时间,该时间默认显示为作者提交时间。 $ git log -1 --format"%cd"如果想查看提交者提交时间&a…

【形式语言与自动机/编译原理】CFG-->Greibach-->NPDA(2)

本文将详细讲解《形式语言与自动机》(研究生课程)或《编译原理》(本科生课程)中的上下文无关文法(CFG)转换成Greibach范式,再转成下推自动机(NPDA)识别语言是否可以被接受…

堆的应用:堆排序和TOP-K问题

上次才讲完堆的相关问题:二叉树顺序结构与堆的概念及性质(c语言实现堆 那今天就接着来进行堆的主要两方面的应用:堆排序和TOP-K问题 文章目录 1.堆排序1.1概念、思路及代码1.2改良代码(最初建立大堆用AdjustDow) 2. TO…

软件体系架构复习二

呃,前面复习的忘了发了。从后面开始吧 Unit 11--18 复习Tips: 重点在于对概念的理解,概念间关系的理解。 对具体的识别方法,处理方法等根据自己的兴趣做一些了解即可 。 如:关于 软件架构脆弱性的成因 , …

企业建设网络安全的几种“降本增效”的思考

文章目录 前言一、基于风险的安全策略,优先保护关键资产二、集中化安全管理三、加强安全意识培训,打造人肉防火墙四、安全自动化运营五、定期更新和打补丁六、安全服务外包七、跟踪关键安全运营指标并展示安全投资回报率八、打造战略情报网络总结前言 在当下的经济寒冬中,网…

【AIGC-图片生成视频系列-5】I2V-Adapter:一种用于视频扩散模型的通用图像生成视频适配器

目录 一. 项目与贡献概述 二. 方法详解 a. 整体框架图 b. 帧相似性先验 三. 一般化图像生成动画结果 四. 基于个性化 T2I 模型的动画结果 五. 结合ControlNet动画结果 六. 项目论文和代码 七. 个人思考与总结 在快速发展的数字内容生成领域,焦点已从文本到…

YOLO手部目标检测

手部目标检测原文地址如下:手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_yolov5 关键点检测-CSDN博客 手部检测数据集地址如下: 手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)_手关键点数据集-CSDN博…

Feign远程调用丢失请求头问题处理--异步任务执行远程请求线程丢失请求属性问题处理

在关于Feign远程调用丢失请求头问题处理中解决了远程调用发送请求丢失老请求中请求头的问题。A方法接收浏览器中的请求,B方法是A方法中嵌套方法用来发送Feign远程调用。如果B方法是在异步任务CompletableFuture.runAsync(()->{},Executor)中执行并启用线程池分配…

1.4 FMEA概述

FMEA适用场景 FMEA在三种基本情形下使用,每种情形都有不同的范围或重点。 情形1:新设计、新技术或新过程 FMEA的范围包括完整的设计、技术或过程。情形2:现有设计或过程的新应用 FMEA的范围包含新环境、新场地、新应用或使用概况(包括工作周期、法规要求等)下的现有设计…

94. 二叉树的中序遍历(“颜色标记法”)

我的做法:递归 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode ri…

Linux:apache优化(7)—— 日志分割|日志合并

作用:随着网站访问量的增加,访问日志中的信息会越来越多, Apache 默认访问日志access_log单个文件会越来越大,日志文件体积越大,信息都在一个文件中,查看及分析信息会及不方便。 分割 实现方式&#xff1a…

2024.1.1 hive_sql 题目练习,开窗,行列转换

重点知识: 在使用group by时,select之后的字段要么包含在聚合函数里,要么在group by 之后 进行行转列,行转列的核心就是使用concat_ws函数拼接(分隔符,内容), -- 以及collect_list函数进行收集,list不去重, set去重无序 列转行,核心就是使用炸裂函数把东…

怎么设计一个简单又直观的接口?

文章目录 问题的开端为什么从问题开始?自然而来的接口 一个接口一件事情减少依赖关系使用方式要“傻” 小结 开放的接口规范是使用者和实现者之间的合约。既然是合约,就要成文、清楚、稳定。合约是好东西,它可以让代码之间的组合有规可依。但…