Postman 之自动化测试

Postman接口自动化测试 《使用Postman实现高效接口自动化测试》摘要:Postman作为强大的API测试工具,能有效提升测试效率。本文详细介绍了从安装配置到构建测试集合的全流程,重点讲解如何通过JavaScript编写测试脚本实现状态码、响应时间和数据校验等断言。通过Postman Runner可实现批量接口测试,集成Newman命令行工具还能与Jenkins配合实现持续集成。实践案例展示了32个接口的自动化测试过程,验证了该方法在回归测试和稳定性验证中的优势,为敏捷开发提供了高效可靠的测试方案。 阅读详情

如何添加断言Tests

基础断言

Tests右侧postman提供了一些示例代码片段
Tests

响应主体是否包含指定结果

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

响应时间是否小于200ms

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

响应header时候包含Content-Type

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

响应报文是json结构的数据,value字段值是否等于100(验证json结构值)

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

响应状态码是否是200

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

检查响应主题是否等于一个字符串

pm.test("Body is correct", function () {
    pm.response.to.have.body("success");
});

常用方法

获取返回值是json结构的报文方法,jsonData是json对象

var jsonData = pm.response.json();

获取json中的flightSelections对象,通过length属性获取数组长度

var fSelects = jsonData.flightSelections;
var rand = Math.floor(Math.random()*fSelects.length);

通过[index]获取数组的元素,index从0开始

var FlightNumber = fSelects[rand].Segments[0].FlightNumber;

设置全局变量

 pm.globals.set("price", price);

设置环境变量(用户接口之间数据依赖的关联数据)

 pm.environment.set("price", price);

调试工具,内容会在控制台打印出来(控制台打开方式:菜单->View->show postman console)

console.log(jsonData.priceCountInfo);

使用公共变量简化重复配置

使用方法:使用双花括号引用环境变量或者全局变量,示例:{{host}}
使用场景1:请求的URL中使用
使用场景2:请求的参数中使用

Collection Runner使用

简单使用

点击postman右上角的Runner启动
这里写图片描述

  1. 选择运行的Collection(Runner的运行单位是Collection或者folder)
  2. 选择运行环境
  3. 选择迭代执行次数
  4. 设置请求之间的间隔时间(正常不设就好)
  5. 选择运行日志级别
  6. 选择参数文件(没有就不要设置)
  7. 点击Start Run 执行用例集
  8. 查看测试报告

这里写图片描述

这里写图片描述

参数化运行

新建一个文件名为data的csv文件,文件中保存了两个参数departCity 和 arriveCity,分别作了数据参数化
这里写图片描述

在Pre-request Script模块通过“文件名称.参数名”获取文件中的数据,我的也就是data.departCity

var departCity = data.departCity;
var arriveCity = data.arriveCity;

这里写图片描述
在请求参数(header和URL中也行)中通过{{departCity}}引用需要参数化数据
备注:迭代变量的优先级高于环境变量,环境变量的优先级高于全局变量

在Runner中选择参数文件,参数化文件可以是csv或者json文件,点击Preview,可以看到所有文件中参数化数据

这里写图片描述
每次迭代执行取一组数据,当执行的迭代次数大于参数化的数据时最后一组数据执行完后,之后迭代会取值最后一组数据
这里写图片描述

与Newman+Jenkins集成实现自动化测试

导出Collection数据和环境变量数据

导出Collection 数据进入到一个json文件中
这里写图片描述
点击右上角管理环境变量按钮,弹出管理页面
这里写图片描述
选择你要的环境,点击下载得到一个环境变量的json文件
这里写图片描述

newman安装和使用

newman安装之前需要确保你的机器node版本在V4以上
安装命令:

npm install newman --global

执行测试,指定postman_collection.json,-e 指定运行环境 ,–reporters 指定报告输出格式(xml json html),最后的参数是输出html报告

newman run 接口自动化探索.postman_collection.json  -e pre-online.postman_environment.json --reporters cli,json,xml,html --reporter-html-export demo.html

具体参考:newman官网

集成jenkins

  1. 新建一个自动化执行job
  2. 安装Html Publisher 插件
  3. 配置job 添加newman执行脚本(批处理或者shell)
  4. 配置Publish HTML reports
  5. 查看报告
    这里写图片描述
    这里写图片描述
Postman:Postman Collection使用:Postman自动化测试与Newman介绍 Newman是一个强大的命令行集合运行器,用于Postman集合。它允许你在持续集成系统、测试自动化框架或任何其他脚本环境中运行Postman集合,无需图形用户界面。Newman可以轻松地将Postman集合集成到你的构建过程、测试管道或自动化工作流程中。 阅读详情

相关推荐

Postman:Postman自动化测试:Postman自动化测试框架搭建

在Postman中,测试集合是组织和执行API测试的基本单元。它由一系列预定义的请求组成,这些请求可以按特定顺序执行,以测试API的功能。命名:给测试集合一个描述性的名称,如“用户登录测试”或“产品API测试”。请求:每个测试集合包含多个请求,每个请求对应API的一个端点。预请求脚本:在发送请求前执行的脚本,用于设置请求参数或环境变量。测试脚本:在响应后执行的脚本,用于验证API响应是否符合预期。环境变量:用于存储和管理测试中使用的变量,如API URL、认证信息等。

kkchenjj的博客 1533

POSTMAN实践之Mock

本文将要介绍POSTMAN在Mock上的使用。

夫礼者的专栏 1472

Postman:Postman简介:Postman自动化测试与Newman

Newman 是一个命令行集合运行器,用于 Postman 集合。它允许您在无头环境中运行 Postman 集合,例如持续集成(CI)服务器、脚本或任何其他非交互式环境。自动化测试:在构建、测试或部署过程中自动运行 Postman 集合,无需手动操作。持续集成:与 CI/CD 工具(如 Jenkins、Travis CI、CircleCI 等)集成,确保每次代码更改后都能自动测试 API。环境变量:支持使用环境变量,使集合能够在不同的环境中运行,例如开发、测试和生产。报告生成。

kkchenjj的博客 1118

Mock模拟数据,报错:404 NotFound

Mock报错404

weixin_45866961的博客 793

Postman:Postman高级功能:使用Postman进行自动化测试

在软件开发周期中,测试是确保产品质量的关键环节。传统的手动测试方法虽然直观,但在面对频繁的迭代和庞大的测试用例时,效率和准确性会大大降低。自动化测试的引入,旨在通过编写测试脚本来自动执行测试过程,从而提高测试效率,减少人为错误,实现持续集成和持续部署(CI/CD)的无缝对接。

kkchenjj的博客 1417

Postman:Postman自动化测试:Postman预置与后置脚本编写

通过遵循上述最佳实践和解决方案,你可以有效地编写和优化Postman的预置与后置脚本,从而提高自动化测试的效率和准确性。记住,良好的脚本设计不仅能够减少错误,还能使你的测试更加健壮和可维护。

kkchenjj的博客 1549

Postman mockserver详细教程

1.发送一个request发送请求之后在History标签下保存了请求的数据,但是没有保存response 数据2.将request保存到一个Collection中点击Save 按钮,将请求数据保存到Collection中弹出对话框,编辑请求名称和接口描述,选择一个Collection或者新建一个3.保存请求的响应作为一个example点击 Save Response 按钮,保存响应信息输入moc...

小马的学习笔记 2万+

告别效率低谷:用ADS仿真手把手教你设计高回退Doherty功放(附1:2非对称案例)

本文详细解析了如何使用ADS仿真设计高回退Doherty功放,特别针对1:2非对称架构进行深入探讨。通过优化功率分配比、峰值管开启阈值等关键参数,显著提升功放在9dB回退点的效率至75%以上,适用于LTE等高PAPR信号场景。文章还提供了ADS仿真环境搭建、参数优化及工程化设计的实用技巧。

weixin_33743248的博客 453

postman断言的几种方式(二)

1、检查响应体是否包含字符串 pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); 2、检查响应体是否等于字符串 pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); 3、检查JSON值

zrg3699的专栏 835

Dify 深度进阶:从入门到精通AI应用构建

《Dify进阶指南:从基础到高阶的AI应用开发技巧》 本文深入探讨Dify平台的高级功能与应用开发技巧。首先强调核心概念的深化,包括提示词工程进阶、知识库高效管理和模型参数优化。重点介绍智能体应用的开发方法,如何让AI具备自主规划与执行能力。同时讲解工作流编排、前端集成等实用技术,并分享应用运营优化、成本控制等实践经验。文章还展望了Dify生态的发展趋势,为开发者提供从基础到进阶的完整学习路径,助力打造更智能高效的AI应用。

同名公众号:dify实验室 1949

2025年下半年网络工程师案例分析真题及答案解析

2025年下半年网络工程师案例分析真题及答案解析

鹿鸣天涯 1086

postman接口自动化(一)

postman

花暖啊丶的博客 564

11-16 Fluent结果查看及后处理功能(做动画、监控点)

监控点、面及动画操作

zheaa的博客 1万+

Postman:使用Postman进行API自动化测试

在开始使用Postman进行API测试之前,定义一个清晰的测试环境至关重要。这包括设置正确的服务器URL、端口、以及可能需要的任何认证信息。在Postman中,你可以通过创建环境变量来轻松管理这些信息。

kkchenjj的博客 2019

CATIA V6二次开发——如何利用CaptureToFile截屏

CaptureToFile 今天给大家分享一个很有趣的功能,如何利用CATIA自带的功能输出模型展示图? 先上方法: 方法本身并不难,只需要赋予格式及输出路径即可完成该功能。结果如下: 看到这样一张图片不禁让我陷入了沉思,怎么会这么丑???? 那么如何让这个简单的功能变得有趣,图片变得好看点呢? 第一步:背景换色 第二步:隐藏结构树 ...

WorkMan的博客 2982

【TCN回归预测】TCN时间卷积神经网络数据回归预测(多输入单输出)【含Matlab源码 2317期】

TCN时间卷积神经网络数据回归预测 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版)或下载付费资源,可赠送奶茶价版付费专栏指定代码1份; 822

如何用postman进行自动化测试?

Postman不仅可以用于手动API测试,还提供了强大的自动化测试功能。以下是详细的使用方法:B站讲的最好的Postman接口自动化测试教程,只需一小时自学入门,学会直接上手项目实战!

AIZHINAN的博客 1187

Python爬虫技术:使用Playwright和Twitter API v2高效获取Twitter/X数据完全教程

遵守规则:始终遵循Twitter的使用条款和速率限制错误处理:实现完善的错误处理和重试机制数据质量:进行数据清洗和验证性能优化:使用异步处理和合理的延迟设置可维护性:模块化代码,便于维护和扩展。

2201_76125261的博客 671

Postman 实现API自动化测试

相信大部分开发人员和测试人员对 postman 都十分熟悉,对于开发人员和测试人员而言,使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式。但 postman 本身是一个图形化软件,相对较难或较麻烦(如使用 RPA)实现自动化测试。幸运的是,postman 还提供了一个命令行工具 newman,我们可以借助 postman + newman 来实现 API 自动化测试。

2301_79535618的博客 911

Android插件化和组件化面试题及参考答案

如何使用 Gradle 来管理 Android 项目中的模块依赖? Gradle 是一个强大的构建工具,在 Android 项目中管理模块依赖主要通过以下方式。 首先,在项目的根目录下的 build.gradle 文件中,需要配置仓库。一般会添加如 Google 的 Maven 仓库和 JCenter 等,例如在 repositories 部分添加: repositories { google() jcenter() } 对于模块依赖,在每个模块(例如 app

大模型大数据攻城狮的专栏 1182

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

使用 Postman 实现 API 自动化测试

相信大部分开发人员和测试人员对 postman 都十分熟悉,对于开发人员和测试人员而言,使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式。但 postman 本身是一个图形化软件,相对较难或较麻烦(如使用 RPA)实现自动化测试。幸运的是,postman 还提供了一个命令行工具 newman,我们可以借助 postman + newman 来实现 API 自动化测试。

jj2772367224的博客 1046

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

postman自动化测试

postman自动化测试 文章目录postman自动化测试导入测试用例文件,测试web接口1、变量设置2、pre-request script请求前执行的脚本3、Tests请求返回结果执行的脚本4、使用Runner进行自动化测试 参考 Postman 快速入门之脚本语法 Postman接口测试自动化介绍 自动化接口测试之Postman(一篇搞定) - (很全) postman官方脚本语法 pre-request Script / Tests /javascript - (扩展) 这里简单演示在postm

qq_33934427的博客 3467

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Postman:Postman自动化测试:Postman高级调试技巧

在Postman中,环境是存储变量和值的集合,用于在不同的测试场景中切换,如开发、测试、预生产或生产环境。这有助于避免在请求中硬编码敏感信息,如API密钥或数据库URL,同时保持测试的灵活性和可重复性。

kkchenjj的博客 2072

如何用Postman做接口自动化测试

前言 什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来。 本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还必须随着被测试对象的改变而更新,因此,还有额外的维护成本。 自动化测试有哪些分类 按测试目的分类 功能自动化测试 性能自动化测试 按测试对象分类 Web应用测试 APP测试 接口测试 单元测试 为什么需要自动化测试 可以替代大量的手工机械重复性操作,测试工程师可以把更多的

hlkt521的博客 556
上一篇: Postman之Pre-request Script 使用详解
下一篇: APP弱网测试点总结
和技术赛跑
博客等级 码龄11年 80粉丝 35原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值