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

软件测试 - postman高级使用

断言

概念:让程序代替人判断测试用例执行的结果是否符合预期的一个过程

特点:

  • postman断言使用js编写,断言写在postman的tests中

  • tests脚本在发送请求之后执行,会把断言的结果最终在testresult中进行展示

  • 常用的postman提供的断言片段有以下几个:

    • status code is 200:断言响应状态码是否为200
    • JSON value check:断言响应体json数据校验
    • contains string:断言响应体是否包含字符串
    • euqal to a string:断言响应体是否等于指定字符串

案例:

/* pm.test是postman内置对象pm对外提供的一种名称为test的方法,他的功能是使用pm.test来编写测试脚本时,即使方法内部处理内容出现错误也不会影响后续自动化脚本的运行。 */
​
/* 断言响应状态码是否是200 */
pm.test("响应状态码", function () {pm.response.to.have.status(200);
});
​
/* 断言响应的json数据 */
pm.test("Your test name", function () {var jsonData = pm.response.json();pm.expect(jsonData.message).to.eql("用户已存在");  /* jsondata就是后端返回给前端的json数据,是js中的对象,获取数据通过点点点的方式 */
});
​
/* "判断响应体是否和预期一致" */
pm.test("判断响应体是否和预期一致", function () {pm.response.to.have.body('{"code": 400, "message": "用户已存在"}');
});

请求前置脚本-Pre-request-Script

概念:在postman的pre-request-script中,用于在请求发送之前做一些操作,比如设置环境变量或者全局变量

全局变量和环境变量

概念:

  • 全局变量:是全局唯一的,不可以被重复定义
  • 环境变量:可以有多套环境,如开发环境、测试环境、生产环境等,每个环境之间相互隔离,每个环境中可以定义多个环境变量,多个环境变量之间变量可以重复,但是一个环境变量内变量不能重复。
  • 注意:在使用环境变量时,postman必须现将环境切换到环境变量下才可以使用对应的环境变量,另外环境变量的优先级是高于全局变量的。

设置变量:

  • 全局变量

    • 手动设置
    • 在请求前置脚本中通过代码设置。
    pm.globals.set("ip", "127.0.0.1");
    pm.environment.set("port", "8000");
  • 环境变量

    • 手动设置:需要先创建一个环境变量,然后在环境变量中进行设置
    • 在请求前置脚本中设置
    pm.environment.set("name", "aaa");

获取变量:

  • 请求参数中获取

    • 获取全局变量/环境变量:{{变量名称}}
  • 代码中获取:在请求前置脚本中获取

    pm.globals.get("variable_key");  /*获取全局变量*/
    pm.environment.get("variable_key");  /*获取环境变量*/

接口关联

实际场景中,很多接口之间都是有关联的,意思就是另一个接口需要的数据来自于其他的接口,最典型的场景就是很多接口都需要登录才能够正常请求。

实现接口关联的方式就是通过环境变量,步骤如下:

  • 在tests也就是请求之后执行的脚本中获取接口返回数据,获取接口返回数据var jsonData **=** pm.response.json();
  • 将需要的接口数据添加到环境变量中。
  • 在其他接口中使用环境变量即可。

读取外部csv文件实现参数化

当一个接口的测试数据非常多时,可以使用csv文件进行批量测试。

首先需要准备csv文件。

使用csv文件中的数据时,在请求中使用通过{{变量名}}直接使用,在代码断言中需要借助postman内置的data方法获取数据,比如data.passwddata表示的就是文件。

在批量运行时,选择文件即可,postman会自动读取文件然后进行测试

newman生成测试报告

newman是一款基于nodejs开发的可以运行Postman脚本的工具,并且可以生成测试报告。

安装newman之前需要先安装node.js,安装完成之后在安装Newman,通过npm install -g newman进行安装,最后安装newman-reporter-html,同样通过npm install -g newman-reporter-html安装。

安装完成之后,就可以使用newman生成测试报告了,生成测试报告步骤如下:

  • 导出测试集
  • 导出环境变量
  • 导出全局变量
  • 建议将这三个文件放在同一个目录下
  • 最后执行命令生成测试报告
newman run 测试脚本文件 -e 环境变量文件 -g 全局变量文件 -d 测试数据文件 -r html --reporter-html-export report.html

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

相关文章:

软件测试 - postman高级使用

断言 概念:让程序代替人判断测试用例执行的结果是否符合预期的一个过程 特点: postman断言使用js编写,断言写在postman的tests中 tests脚本在发送请求之后执行,会把断言的结果最终在testresult中进行展示 常用的postman提供的…...

数据交换技术

目录 <线路交换> <报文交换> <分组交换> 1.数据报分组交换 2.虚电路分组交换 计算机网络是以数据交换为目的的技术&#xff0c;从交换技术的发展过程来看&#xff0c;主要经历了线 路交换、报文交换、分组交换的过程。 <线路交换> 线路交换又称为…...

FFmpeg-- mp4文件合成1:aac和h264封装(c++实现)

文章目录 流程api核心代码muxer.hmuxer.cppaac 和 h264 封装为视频流,封装为c++的Muxter类 流程 分配视频文件上下文 int Init(const char *url); 创建流,赋值给视频的音频流和视频流 int AddStream(AVCodecContext *codec_ctx); 写视频流的head int SendHeader(); 写视频流的…...

【嵌入式开发 Linux 常用命令系列 1.3 -- 统计目录下有多少个文件】

统计目录下有多少个文件 在 Linux 中&#xff0c;你可以使用 find 命令和 wc&#xff08;word count&#xff09;命令的组合来统计当前目录及其子目录下的文件数量。如果你只对当前目录&#xff08;不包括子目录&#xff09;中的文件数量感兴趣&#xff0c;可以使用 ls 和 wc …...

JMeter 如何并发执行 Python 脚本

要在JMeter中并发执行Python脚本&#xff0c;可以使用Jython脚本或通过调用外部Python脚本的方式实现。 使用Jython脚本并发执行Python脚本的步骤&#xff1a; 1、创建一个线程组&#xff1a;在JMeter界面中&#xff0c;右键点击测试计划&#xff0c;选择 “添加” -> “线…...

第十三届蓝桥杯省赛真题 Java B 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 星期计算试题 B: 山试题 C: 字符统计试题 D: 最少刷题数试题 E \mathrm{E} E : 求阶乘试题 F : \mathrm{F}: F: 最大子矩阵试题 G: 数组切分试题 H: 回忆迷宫试题 I: 红绿灯试题 J 拉箱子 发现宝藏 前些天发现了一个巨牛的人工智能学习…...

Excel 打开后提示:MicrosoftExcel无法计算某个公式。在打开的工作簿中有一个循环引用...

目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 MicrosoftExcel无法计算某个公式。在打开的工作簿中有一个循环引用&#xff0c;但无法列出导致循环的引I用。请尝试编辑上次输入的公式&#xff0c;或利用“撤消”命令删除该公式&#xff0c;如下图&…...

【自我提升】计算机领域相关证书

目录 计算机技术与软件专业资格&#xff08;水平&#xff09;考试证书&#xff08;软考&#xff09;Oracle认证Cisco认证微软认证红帽认证AWS认证 计算机技术与软件专业资格&#xff08;水平&#xff09;考试证书&#xff08;软考&#xff09; 计算机技术与软件专业技术资格&a…...

外包干了15天,技术退步明显。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;2019年我通过校招踏入了南京一家软件公司&#xff0c;开始了我的职业生涯。那时的我&#xff0c;满怀热血和憧憬&#xff0c;期待着在这个行业中闯出一片天地。然而&#xff0c;随着时间的推移&#xff0c;我发现自己逐渐陷入…...

人工智能(Educoder)-- 搜索技术 -- 启发式搜索

任务描述 本关任务&#xff1a;八数码问题是在一个33的棋盘上有1−8位数字随机分布&#xff0c;以及一个空格&#xff0c;与空格相连的棋子可以滑动到空格中&#xff0c;问题的解是通过空格滑动&#xff0c;使得棋盘转化为目标状态&#xff0c;如下图所示。 为了简化问题的输…...

计算平均分 javascript

养成好习惯&#xff1a;先写注释再写代码 基础版&#xff1a;直接写逻辑&#xff08;平均分总和/个数&#xff09; // 求平均分 var scores [60, 55, 80, 33, 75, 100]; // 求和,相除 var sum 0; var avg;for (var i 0; i < 6; i) {sum scores[i]; }avg sum / 6; con…...

Redis入门到实战-第三弹

Redis入门到实战 Redis数据类型官网地址Redis概述Redis数据类型介绍更新计划 Redis数据类型 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的&#xff08;采用BSD许可证&#…...

AnyGo for Mac最新激活版:位置模拟软件打破地域限制

AnyGo for Mac&#xff0c;一款专为Mac用户打造的位置模拟软件&#xff0c;让您能够轻松打破地域限制&#xff0c;畅享无限可能。 软件下载&#xff1a;AnyGo for Mac v7.0.0最新激活版 通过AnyGo&#xff0c;您可以随时随地模拟出任何地理位置&#xff0c;无论是国内热门景点还…...

【Mysql数据库基础07】DDL 数据定义语言

Data Definition Language 1 库的操作1.1 create 创建1.2 alter 修改1.3 drop 删除 2 表的操作2.1 表的创建2.2 表的修改2.2.1 修改表名2.2.2 修改列名2.2.3 修改列的类型和约束2.2.4 添加列2.2.5 删除列 2.3 表的删除2.4 表的复制 3 练习 1 库的操作 1.1 create 创建 create…...

数据库及中表的创建和管理

目录 创建数据库 使用数据库(使用,查看信息) 修改数据库(删除,修改)...

git笔记之撤销、回退、reset方面的笔记

git笔记之撤销、回退、reset方面的笔记 code review! 文章目录 git笔记之撤销、回退、reset方面的笔记1.git 已经commit了&#xff0c;还没push&#xff0c;如何撤销到初始状态git reset --soft HEAD~1git reset HEAD~1&#xff08;等同于 git reset --mixed HEAD~1&#xff0…...

【中间件】docker数据卷

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;中间件 ⛺️稳中求进&#xff0c;晒太阳 1.数据卷&#xff08;容器数据管理&#xff09; 修改nginx的html页面时&#xff0c;需要进入nginx内部。并且因为内部没有编辑器&#xff0c;修改…...

【3D reconstruction 学习笔记 第二部】

三维重建 3D reconstruction 4. 三维重建与极几何三角化&#xff08;线性解法&#xff09;三角化&#xff08;非线性解法&#xff09;多视图几何极几何极几何约束基础矩阵估计 5. 双目立体视觉重建6. 多视图重建7. SFM 系统设计8. SLAM系统设计 4. 三维重建与极几何 三角化&…...

【CSP试题回顾】202109-1-数组推导(优化)

CSP-202109-1-数组推导 解题代码 #include <iostream> #include <vector> #include <algorithm> using namespace std;long long n, sumMax,sumMin;int main() {cin >> n;vector<long long>arr(n);for (size_t i 0; i < n; i){cin >>…...

Redis - 高并发场景下的Redis最佳实践_翻过6座大山

文章目录 概述6座大山之_缓存雪崩 &#xff08;缓存全部失效&#xff09;缓存雪崩的两种常见场景如何应对缓存雪崩&#xff1f; 6座大山之_缓存穿透&#xff08;查询不存在的 key&#xff09;缓存穿透的原因解决方案1. 数据校验2. 缓存空值3. 频控4. 使用布隆过滤器 6座大山之_…...

Qwen3.5-9B-AWQ-4bit视觉理解效果实测:表格截图OCR准确率与语义概括质量分析

Qwen3.5-9B-AWQ-4bit视觉理解效果实测&#xff1a;表格截图OCR准确率与语义概括质量分析 1. 模型概述 Qwen3.5-9B-AWQ-4bit是一个支持图像理解的多模态模型&#xff0c;能够结合上传图片与文字提示词&#xff0c;输出中文分析结果。这个量化版本特别适合处理图片主体识别、场…...

ai赋能开发:让快马平台智能助手教你如何用最新jdk特性重构旧代码

今天在维护一个老项目时&#xff0c;发现了一段基于JDK 8的用户过滤排序代码。作为一个持续关注Java新特性的开发者&#xff0c;我决定用最新JDK 17的特性来重构这段代码。正好最近在用InsCode(快马)平台做项目&#xff0c;发现它的AI辅助功能特别适合用来做这种代码现代化改造…...

Tomato-Novel-Downloader:高性能小说下载工具的技术实践与应用指南

Tomato-Novel-Downloader&#xff1a;高性能小说下载工具的技术实践与应用指南 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 1 核心价值&#xff1a;重新定义小说下载体验 …...

我用 Codex 一段时间后,才发现提示词真正该怎么写

(LetAiCode - AI 编程助手&#xff09; 大家好呀&#xff0c;我是 Lazy熊。 最近这段时间&#xff0c;我越来越明显地感受到一件事。 很多人在聊 AI 编程的时候&#xff0c;关注点其实都差不多。看模型、看价格、看速度、看功能&#xff0c;或者看哪个工具最近更火。 这些当…...

2026年成都上门回收黄金新趋势:安全便捷更放心

随着经济的发展和人们生活水平的提高&#xff0c;黄金作为一种重要的投资和保值手段&#xff0c;越来越受到人们的青睐。然而&#xff0c;在黄金回收的过程中&#xff0c;用户常常面临诸多痛点&#xff0c;如价格不透明、流程复杂、门店选择困难等。为了解决这些问题&#xff0…...

如何用OpenRPA实现企业级流程自动化?开源RPA工具完整指南

如何用OpenRPA实现企业级流程自动化&#xff1f;开源RPA工具完整指南 【免费下载链接】openrpa Free Open Source Enterprise Grade RPA 项目地址: https://gitcode.com/gh_mirrors/op/openrpa 在数字化转型浪潮中&#xff0c;企业面临着效率瓶颈与成本压力的双重挑战。…...

3步解锁知识自由:ScienceDecrypting永久破解文档限制

3步解锁知识自由&#xff1a;ScienceDecrypting永久破解文档限制 【免费下载链接】ScienceDecrypting 破解CAJViewer带有效期的文档&#xff0c;支持破解科学文库、标准全文数据库下载的文档。无损破解&#xff0c;保留文字和目录&#xff0c;解除有效期限制。 项目地址: htt…...

旧Mac焕新:使用OpenCore Legacy Patcher让2008-2017年设备支持最新macOS系统

旧Mac焕新&#xff1a;使用OpenCore Legacy Patcher让2008-2017年设备支持最新macOS系统 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 老旧设备升级正成为越…...

从硬件到代码:深入理解ARM中断向量表的工作原理与设计哲学

ARM中断向量表&#xff1a;从硬件设计到软件实现的深度解析 在嵌入式系统开发中&#xff0c;中断机制是处理器响应外部事件的核心机制之一。作为ARM架构中异常处理的基础设施&#xff0c;中断向量表的设计直接影响着系统的实时性和可靠性。本文将深入探讨ARM中断向量表的工作原…...

Qwen3.5-35B-A3B-AWQ-4bit企业降本增效案例:替代人工审核10万+商品图的自动化方案

Qwen3.5-35B-A3B-AWQ-4bit企业降本增效案例&#xff1a;替代人工审核10万商品图的自动化方案 1. 企业面临的商品图审核挑战 在电商行业&#xff0c;商品图片审核是一项繁重但至关重要的工作。以某大型电商平台为例&#xff0c;每天需要审核超过10万张商品图片&#xff0c;传统…...