目录
[创建 Postman 集合和环境](#创建 Postman 集合和环境)
[二、postman Postman 集合和环境并导出](#二、postman Postman 集合和环境并导出)
[1. 打开已完成并测试无误的 postman 项目脚本。 再次执行测试。](#1. 打开已完成并测试无误的 postman 项目脚本。 再次执行测试。)
[编辑2. 导出( 测试用例集、环境变量 两个文件)**"不 支 持 中 文"** ------ 全部改成英文!](#编辑2. 导出( 测试用例集、环境变量 两个文件)“不 支 持 中 文” —— 全部改成英文!)
[编辑3. 文件所在目录地址栏 输入 cmd 打开终端。注意:用 "绝对路径" 测试。方便使用 Jenkins。](#编辑3. 文件所在目录地址栏 输入 cmd 打开终端。注意:用 “绝对路径” 测试。方便使用 Jenkins。)
[编辑4. 执行无误, 查看生成的测试报告文件# extra版报告模板](# extra版报告模板)
[1. 打开 Jenkins 首页,点击 "新建Item" 创建一个 新任务](#1. 打开 Jenkins 首页,点击 “新建Item” 创建一个 新任务)
[2. 输入任务名,如:ihrm_postman,见名知意就OK。选择 "Freestyle project",点 "确定" 。跳至 "配置"页面。](#2. 输入任务名,如:ihrm_postman,见名知意就OK。选择 “Freestyle project”,点 “确定” 。跳至 “配置”页面。)
[3. 回主页,可看到 ,多出任务ihrm_postman。 点 任务名称,"配置" 可以继续刚才的配置。](#3. 回主页,可看到 ,多出任务ihrm_postman。 点 任务名称,“配置” 可以继续刚才的配置。)
[4. 跳至 "构建" 标签。(General 、源码管理、构建触发器、构建环境 四个标签先跳过)](#4. 跳至 “构建” 标签。(General 、源码管理、构建触发器、构建环境 四个标签先跳过))
[(1)点击 "增加构建步骤",选择 "Execute Windows batch command" 选项(macOS选择 "Execute shell" )](#(1)点击 “增加构建步骤”,选择 “Execute Windows batch command” 选项(macOS选择 “Execute shell” ))
[编辑 (2) 将 cmd 终端 测试无误的 命令, 粘入"命令" 编辑框中(如有红色浪线警告,忽略)。](#编辑 (2) 将 cmd 终端 测试无误的 命令, 粘入“命令” 编辑框中(如有红色浪线警告,忽略)。)
[5. 构建后操作" 标签。](#5. 构建后操作” 标签。)
[(1)点击 "增加构建后操作步骤",选择 "Pulish HTML reports",点击 "新增" 按钮。](#(1)点击 “增加构建后操作步骤”,选择 “Pulish HTML reports”,点击 “新增” 按钮。)
[(2)将 Index page[s] 后的值改为:"report.html" 。名称 应与上面 命令中 生成的 测试报告名称 一致。](#(2)将 Index page[s] 后的值改为:“report.html” 。名称 应与上面 命令中 生成的 测试报告名称 一致。)
[6. 点击 "应用" --> "保存"。](#6. 点击 “应用” --> “保存”。)
[7. Jenkins 首页,点击任务名:如: bjtestAPITestIHRMPostman。跳至 "配置" 页面。](#7. Jenkins 首页,点击任务名:如: bjtestAPITestIHRMPostman。跳至 “配置” 页面。)
[编辑8. 点击"构建触发器" 标签。选择 "Build periodically(定期地)"](#编辑8. 点击“构建触发器” 标签。选择 “Build periodically(定期地)”)
[编辑9. "日程表"中写入:*空格* * * *(空格隔分) ---> 分别对应 "分 时 日 月 年" - 修改:10 16 就是 每天的 16 点 10 分 执行。](#编辑9. “日程表”中写入:空格 * * *(空格隔分) —> 分别对应 “分 时 日 月 年” - 修改:10 16 就是 每天的 16 点 10 分 执行。)
[编辑10. 点击 "应用" --> "保存"。 等待 。。。自动构建 ------ 成功!](#编辑10. 点击 “应用” --> “保存”。 等待 。。。自动构建 —— 成功!)
[编辑11. 报告样式错乱 原因:](#编辑11. 报告样式错乱 原因:)
[12. 常见问题及解决方案](#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 项目脚本。 再次执行测试。
全部测试通过
- 导出( 测试用例集、环境变量 两个文件)**"不 支 持 中 文"** ------ 全部改成英文!
千万不要放在中文目录下面
导出环境变量
- 文件所在目录地址栏 输入 cmd 打开终端。注意:用 "绝对路径" 测试。方便使用 Jenkins。
- 执行无误, 查看生成的测试报告文件
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。跳至 "配置" 页面。
- 点击"构建触发器" 标签。选择 "Build periodically(定期地)"
- "日程表"中写入:*空格* * * *(空格隔分) ---> 分别对应 "分 时 日 月 年"
- 修改:10 16 就是 每天的 16 点 10 分 执行。
- 点击 "应用" --> "保存"。 等待 。。。自动构建 ------ 成功!
- 报告样式错乱 原因:
-
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 进行自动构建,搭建起了一套高效的接口自动化测试持续集成环境。这一过程不仅提高了测试的效率和准确性,还能够及时发现接口中的问题,加速开发团队的交付周期。然而,在实际应用中,我们还可以根据项目需求进一步扩展和优化这一自动化测试框架,例如集成更多的测试工具和平台、实现更复杂的测试场景和数据驱动测试等,以不断提升软件开发的质量和效率。