软件测试/测试开发丨接口测试之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 …

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

微服务(11)

目录 51.pod的重启策略是什么? 52.描述一下pod的生命周期有哪些状态? 53.创建一个pod的流程是什么? 54.删除一个Pod会发生什么事情? 55.k8s的Service是什么? 51.pod的重启策略是什么? 可以通过命令kub…

SpringIOC之support模块ContextTypeMatchClassLoader

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

作业--day39

定义一个Person类,私有成员int age,string &name,定义一个Stu类,包含私有成员double *score,写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数,完成对Person的运算符重载(算术运算符、条件运算…

PyTorch 节省显存技巧:Activation Checkpointing

参考资料 官方文档: https://pytorch.org/docs/2.0/checkpoint.html官方博客:https://medium.com/pytorch/how-activation-checkpointing-enables-scaling-up-training-deep-learning-models-7a93ae01ff2d Activation Checkpointing 介绍 激活检查点 …

【致远OA】按人员编码获取所有待办事项

接口说明 按人员编码获取所有待办事项 兼容版本 since V7.0 请求方式 http请求方式:GET http://ip:port/seeyon/rest/affairs/pending/code/{memberCode} 如 http://127.0.0.1/seeyon/rest/affairs/pending/code/9981 效果参考 响应结果 参考对象实例&#x…

事件循环的理解

1.单线程 Js是一个单线程的语言,代码只能一行一行去执行,遇到同步的代码就直接执行了,如果遇到异步的代码怎么办? 不可能等到异步的代码执行完,在去执行后面同步的代码。 2.主线程 遇到同步的代码,就在主线程里面直接执行了。 3.任务队列 遇到异步的…

ROS TF坐标变换 - 静态坐标变换

目录 一、静态坐标变换(C实现)二、静态坐标变换(Python实现) 如前文所属,ROS通过广播的形式告知各模块的位姿关系,接下来详述这一机制的代码实现。 模块间的位置关系有两种类型,一种是相对固定…