使用 Git、Postman、Newman、Jenkins 与邮件构建自动化接口测试及通知流程

使用 Postman、Newman、Jenkins 与邮件构建自动化接口测试及通知流程

一、概述

在软件开发过程中,接口测试是确保系统间数据交互正确性和稳定性的重要环节。Postman 是一款强大的接口测试工具,Newman 则是 Postman 的命令行运行工具,Jenkins 是开源的持续集成与持续交付工具,结合邮件通知可以及时将测试结果反馈给相关人员。本教程将详细介绍如何使用 Postman、Newman、Jenkins 搭建自动化接口测试环境,并配置邮件通知功能。

二、环境准备

2.1 安装 Postman

2.2 安装 Newman

  • 确保已经安装了 Node.js 和 npm(Node 包管理器)。可以通过以下命令检查是否安装:
bash 复制代码
node -v
npm -v
bash 复制代码
npm install -g newman

2.3 安装 Jenkins

  • 不同操作系统安装方式不同,以 Ubuntu 为例:
bash 复制代码
# 添加 Jenkins 存储库密钥
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# 添加 Jenkins 存储库
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 更新包列表
sudo apt update
# 安装 Jenkins
sudo apt install jenkins
# 启动 Jenkins 服务
sudo systemctl start jenkins
# 设置 Jenkins 开机自启
sudo systemctl enable jenkins
  • 访问 http://<服务器 IP 地址>:8080 进行 Jenkins 初始化配置。

三、Postman 配置

3.1 创建集合

  • 打开 Postman 客户端,点击左上角的"New"按钮,选择"Collection"创建一个新的集合。
  • 在集合中添加需要测试的请求,可以通过"New"按钮选择"Request"来创建新请求,并设置请求的 URL、请求方法、请求头、请求体等信息。

3.2 编写测试脚本

  • 对于每个请求,切换到"Tests"选项卡,编写测试脚本。例如,验证响应状态码是否为 200:
javascript 复制代码
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
  • 可以根据具体需求编写更多的测试逻辑,如验证响应体中的数据是否符合预期等。

3.3 导出集合

  • 点击集合名称旁边的三个点,选择"Export",将集合导出为 JSON 文件。

四、Jenkins 配置

4.1 创建 Jenkins 任务

  • 登录 Jenkins 控制台,点击"新建任务",输入任务名称,选择"自由风格的软件项目",点击"确定"。

4.2 配置任务

4.2.1 源码管理

如果测试脚本存储在代码仓库中,可以配置源码管理,如 Git,将代码拉取到 Jenkins 工作空间。

4.2.2 构建触发器

根据需求选择构建触发器,如定时构建、代码变更触发等。

4.2.3 构建环境

可以根据需要配置构建环境,如设置环境变量等。

4.2.4 构建步骤
  • 点击"增加构建步骤",选择"Execute shell"(Linux 系统)或"Execute Windows batch command"(Windows 系统)。
  • 在命令框中输入 Newman 运行命令,例如:
bash 复制代码
newman run /path/to/your/collection.json -r html --reporter-html-export /path/to/report.html
  • 解释:
    • newman run /path/to/your/collection.json:运行指定的 Postman 集合。
    • -r html:指定生成 HTML 格式的测试报告。
    • --reporter-html-export /path/to/report.html:指定测试报告的输出路径。

4.3 配置邮件通知

4.3.1 安装邮件通知插件
  • 点击 Jenkins 控制台的"Manage Jenkins" -> "Manage Plugins",在"Available"选项卡中搜索"Email Extension Plugin",勾选并安装。
4.3.2 配置邮件服务器
  • 点击 Jenkins 控制台的"Manage Jenkins" -> "Configure System",找到"Extended E-mail Notification"部分。
  • 配置邮件服务器信息,如 SMTP 服务器地址、端口、用户名、密码等。
  • 在"Default Content Type"中选择"HTML"。
4.3.3 配置邮件通知内容
  • 在任务配置页面,点击"增加构建后操作步骤",选择"Editable Email Notification"。
  • 在"Project Recipient List"中输入收件人邮箱地址。
  • 在"Default Subject"中输入邮件主题,如"[Jenkins] 接口测试报告"。
  • 在"Default Content"中编写邮件内容,可引用测试报告文件,例如:
html 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>接口测试报告</title>
</head>
<body>
    <h1>接口测试报告</h1>
    <p>本次接口测试结果如下:</p>
    <p>请查看附件中的详细测试报告。</p>
</body>
</html>
  • 在"Attachments"中添加测试报告文件的路径,如 /path/to/report.html

五、运行测试

  • 保存 Jenkins 任务配置后,手动触发任务或等待构建触发器触发任务。
  • Jenkins 会执行 Newman 命令运行 Postman 集合进行接口测试,并生成测试报告。
  • 测试完成后,Jenkins 会发送包含测试报告的邮件给指定的收件人。

六、注意事项

  • 确保 Jenkins 服务器上 Newman 命令可以正常运行,可能需要配置 Node.js 和 npm 的环境变量。
  • 邮件服务器的配置需要根据实际情况进行调整,确保邮件可以正常发送。
  • 可以根据需求对测试报告的格式和内容进行定制,如使用不同的 Newman 报告模板。

通过以上步骤,你可以搭建一个自动化的接口测试环境,并及时将测试结果通过邮件通知相关人员,提高软件开发的效率和质量。

相关推荐
悟能不能悟9 分钟前
git如何修改密码
git
AA陈超12 分钟前
只想克隆项目中的 Source 文件夹,而不影响其他内容
笔记·git·学习
q***062935 分钟前
(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)
自动化·jenkins·maven
量子炒饭大师39 分钟前
David自习刷题室——【蓝桥杯刷题备战】乘法表
c语言·c++·git·职场和发展·蓝桥杯·github·visual studio
Proud lion41 分钟前
Apipost开发管理平台功能对比与应用场景分析
yapi·postman·apipost·apifox·api开发
Violet_YSWY1 小时前
变基原理,理解:Git 正在将你的提交一个一个重新应
git
要站在顶端3 小时前
Jenkins 多分支流水线配置教程
运维·servlet·jenkins
purpleseashell_Lili9 小时前
commitizen,cz-git,husky 三者区别
git
摇滚侠9 小时前
零基础小白自学 Git_Github 教程,解决分支合并冲突,笔记14
笔记·git·github