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

Postman 的 Jenkins 管理 - 自动构建

目录

一、环境准备

创建 Postman 集合和环境

二、postman Postman 集合和环境并导出

1. 打开已完成并测试无误的 postman 项目脚本。 再次执行测试。 

​编辑​2. 导出( 测试用例集、环境变量 两个文件)**“不 支 持 中 文”** —— 全部改成英文!

​编辑​3. 文件所在目录地址栏 输入 cmd 打开终端。注意:用 “绝对路径” 测试。方便使用 Jenkins。

​编辑​4. 执行无误, 查看生成的测试报告文件# extra版报告模板

三、使用Jenkins管理-自动构建

1. 打开 Jenkins 首页,点击 “新建Item” 创建一个 新任务

2. 输入任务名,如:ihrm_postman,见名知意就OK。选择 “Freestyle project”,点 “确定” 。跳至 “配置”页面。

3. 回主页,可看到 ,多出任务ihrm_postman。 点 任务名称,“配置” 可以继续刚才的配置。

4. 跳至 “构建” 标签。(General 、源码管理、构建触发器、构建环境  四个标签先跳过)

    (1)点击 “增加构建步骤”,选择 “Execute Windows batch command” 选项(macOS选择 “Execute shell” )

​编辑​  (2) 将 cmd 终端 测试无误的 命令, 粘入“命令” 编辑框中(如有红色浪线警告,忽略)。

5. 构建后操作” 标签。

(1)点击 “增加构建后操作步骤”,选择 “Pulish HTML reports”,点击 “新增” 按钮。

    (2)将 Index page[s] 后的值改为:“report.html” 。名称 应与上面 命令中 生成的 测试报告名称 一致。

6. 点击 “应用” --> “保存”。

7. Jenkins 首页,点击任务名:如: bjtestAPITestIHRMPostman。跳至 “配置” 页面。

​编辑8. 点击“构建触发器” 标签。选择 “Build periodically(定期地)”

​编辑9. “日程表”中写入:*空格* * * *(空格隔分) —> 分别对应 “分 时 日 月 年”    - 修改:10 16  就是 每天的 16 点 10 分 执行。 

​编辑10. 点击 “应用” --> “保存”。 等待 。。。自动构建 —— 成功!

​编辑11. 报告样式错乱 原因:

12. 常见问题及解决方案

四、总结与展望

        在当今的软件开发领域,自动化测试和持续集成成为了提高开发效率和软件质量的关键。Postman 作为一款流行的 API 测试工具,结合 Jenkins 这一强大的持续集成工具,能够实现高效的自动化测试流程。本文将详细介绍如何利用 Postman 和 Jenkins 进行自动构建,实现接口自动化测试的持续集成。

一、环境准备

  • 安装 Jenkins :前往 Jenkins 官网Jenkins 的安装和设置下载安装包,根据操作系统的不同选择相应的安装方式,并按照安装向导进行安装。安装完成后,启动 Jenkins 服务。

  • 安装 Postman :从 Postman 官网下载并安装最新版本的 Postman 应用程序。

  • 安装 Newman :Newman 是一个命令行工具,能够运行 Postman 集合,便于在 Jenkins 中执行自动化测试。通过 npm 安装 Newman,命令为 npm install -g newman

  • 安装必要的 Jenkins 插件 :在 Jenkins 的 “系统管理”->“插件管理”->“可用” 中搜索并安装 “Postman”、“HTML Publisher Plugin”、“Email Extension Plugin” 等插件,以便后续能够更好地展示测试报告和发送邮件通知。

创建 Postman 集合和环境

  • 创建集合 :在 Postman 中,根据你的测试需求创建一个新的集合,将相关的 API 请求添加到该集合中,并对每个请求进行详细的配置,包括请求方法、URL、请求头、请求体等参数。

  • 创建环境 :为了使测试更加灵活,可以为集合创建对应的环境,设置环境变量,如 API 的基础 URL、认证信息等,方便在不同环境(如开发环境、测试环境、生产环境)下进行测试切换。

二、postman Postman 集合和环境并导出

  • 创建集合 :在 Postman 中,根据你的测试需求创建一个新的集合,将相关的 API 请求添加到该集合中,并对每个请求进行详细的配置,包括请求方法、URL、请求头、请求体等参数。

  • 创建环境 :为了使测试更加灵活,可以为集合创建对应的环境,设置环境变量,如 API 的基础 URL、认证信息等,方便在不同环境(如开发环境、测试环境、生产环境)下进行测试切换。

1. 打开已完成并测试无误的 postman 项目脚本。 再次执行测试。 

全部测试通过


2. 导出( 测试用例集、环境变量 两个文件)**“不 支 持 中 文”** —— 全部改成英文!

千万不要放在中文目录下面

导出环境变量


3. 文件所在目录地址栏 输入 cmd 打开终端。注意:用 “绝对路径” 测试。方便使用 Jenkins。


4. 执行无误, 查看生成的测试报告文件
# extra版报告模板

newman run 测试用例集名.json -e 环境变量文件.json -d 数据文件.json -r htmlextra --reporter-htmlextra-export 报告名称.html

# 示例:

newman run "D:\SoftwareTesting\testExport\ihrm.postman_collection.json" -e "D:\SoftwareTesting\testExport\postman_environment.json" -r htmlextra --reporter-htmlextra-export report.html

执行

生成报告

三、使用Jenkins管理-自动构建

简单来说:自动构建,就是设置一个定时器,定时时间到, Jenkins 自动执行测试用例。

 操作步骤:

1. 打开 Jenkins 首页,点击 “新建Item” 创建一个 新任务

2. 输入任务名,如:ihrm_postman,见名知意就OK。选择 “Freestyle project”,点 “确定” 。跳至 “配置”页面。

3. 回主页,可看到 ,多出任务ihrm_postman。 点 任务名称,“配置” 可以继续刚才的配置。

4. 跳至 “构建” 标签。(General 、源码管理、构建触发器、构建环境  四个标签先跳过)

    (1)点击 “增加构建步骤”,选择 “Execute Windows batch command” 选项(macOS选择 “Execute shell” )


  (2) 将 cmd 终端 测试无误的 命令, 粘入“命令” 编辑框中(如有红色浪线警告,忽略)。

5. 构建后操作” 标签。

(1)点击 “增加构建后操作步骤”,选择 “Pulish HTML reports”,点击 “新增” 按钮。

    (2)将 Index page[s] 后的值改为:“report.html” 。名称 应与上面 命令中 生成的 测试报告名称 一致。

        > 说明:
        > 因为生成报告时,没有指定目录。 所以:上面 “HTML directory to archive” 是空的。
        > 如果,指定报告生成到其他位置。 要配置 “HTML directory to archive”的值。

    (3)Report title 是生成的报告 标题,可修改为 “Report999” 试试看。 

6. 点击 “应用” --> “保存”。

7. Jenkins 首页,点击任务名:如: bjtestAPITestIHRMPostman。跳至 “配置” 页面。


8. 点击“构建触发器” 标签。选择 “Build periodically(定期地)”


9. “日程表”中写入:*空格* * * *(空格隔分) —> 分别对应 “分 时 日 月 年”
    - 修改:10 16  就是 每天的 16 点 10 分 执行。 


10. 点击 “应用” --> “保存”。 等待 。。。自动构建 —— 成功!


11. 报告样式错乱 原因:


    - Jenkins为了避免受到恶意攻击,设置了CSP安全策略。只允许加载 Jenkins服务器上托管的 CSS文件 和 图片文件。
    - 我们的用例、代码都是放在自己的服务器上,被恶意攻击的可能性极低。

12. 常见问题及解决方案

  • 报告样式错乱 :这是由于 Jenkins 的 CSP 安全策略限制了外部 CSS 和 JS 的加载。可以通过在 Jenkins 启动命令中添加参数 -Dhudson.model.DirectoryBrowserSupport.CSP="" 来解决,或者使用 Groovy 脚本等其他方法配置 CSP 策略,以允许测试报告中的样式文件正常加载。

 (1)在 启动时,添加参数 :

java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar Jenkins.war

   (2)如果,已生成的报告,样式依然错乱, 重新 “Build Now” 生成新的报告即可。

  • 邮件发送失败 :如果邮件通知功能无法正常使用,首先要检查邮件服务器配置是否正确,包括 SMTP 服务器地址、端口号、用户名和密码等信息。同时,要确保网络环境能够正常连接到邮件服务器,并且邮件发送功能没有被防火墙等安全设置所阻止。此外,还可以查看 Jenkins 的日志文件,获取更详细的错误信息,以便进行问题排查和解决。

四、总结与展望

        通过上述步骤,实现了利用 Postman 和 Jenkins 进行自动构建,搭建起了一套高效的接口自动化测试持续集成环境。这一过程不仅提高了测试的效率和准确性,还能够及时发现接口中的问题,加速开发团队的交付周期。然而,在实际应用中,我们还可以根据项目需求进一步扩展和优化这一自动化测试框架,例如集成更多的测试工具和平台、实现更复杂的测试场景和数据驱动测试等,以不断提升软件开发的质量和效率。

http://www.lryc.cn/news/572236.html

相关文章:

  • ABP VNext + MongoDB 数据存储:多模型支持与 NoSQL 扩展
  • 【深度学习】生成对抗网络(GANs)深度解析:从理论到实践的革命性生成模型
  • 理想树获沙利文认证,赢得中学教辅图书市场认可
  • java Class类反射getDeclaredMethod() 和 getMethod()的区别
  • Linux中的阻塞信号与信号原理
  • Linux 并发编程:从线程池到单例模式的深度实践
  • 用 STM32 HAL/LL + Arduino 混合编程
  • 硬件-DAY04(ds18b20、ARM内核)
  • Python打卡:Day31
  • 矩阵置零C++
  • Linux:信号和线程
  • 如何在 Pop!_OS 或 Ubuntu Linux 上安装 Dash to Dock
  • 设备巡检系统小程序ThinkPHP+UniApp
  • 中科米堆全自动三维光学测量航空部件尺寸测量分析
  • 虚幻引擎的 Online Subsystem
  • 随记:在springboot中websocket的使用
  • Xsens IMU与NVIDIA Jetson兼容,助您将智能和自主系统更快推向市场
  • 191. 位1的个数
  • SQL注入安全研究
  • FreeRTOS 任务管理学习笔记
  • 从代码学习深度强化学习 - Double DQN PyTorch版
  • 动态规划算法思路详解
  • uni-app总结5-UTS插件开发
  • JavaScript性能优化实战大纲
  • 介绍一款免费MES、开源MES系统、MES源码
  • Rpc - RpcCaller 模块
  • 获取gitlab上项目分支版本(二)
  • 据字典是什么?和数据库、数据仓库有什么关系?
  • 解锁 JavaScript 模块化:ES6 Module 语法深度指南
  • OpenGL——单位向量点乘和叉乘在几何的应用