使用 Git、Postman、Newman、Jenkins 与邮件构建自动化接口测试及通知流程
使用 Postman、Newman、Jenkins 与邮件构建自动化接口测试及通知流程
一、概述
在软件开发过程中,接口测试是确保系统间数据交互正确性和稳定性的重要环节。Postman 是一款强大的接口测试工具,Newman 则是 Postman 的命令行运行工具,Jenkins 是开源的持续集成与持续交付工具,结合邮件通知可以及时将测试结果反馈给相关人员。本教程将详细介绍如何使用 Postman、Newman、Jenkins 搭建自动化接口测试环境,并配置邮件通知功能。
二、环境准备
2.1 安装 Postman
- 访问 Postman 官方网站,根据操作系统下载并安装 Postman 客户端。
2.2 安装 Newman
- 确保已经安装了 Node.js 和 npm(Node 包管理器)。可以通过以下命令检查是否安装:
node -v
npm -v
- 如果未安装,可从 Node.js 官方网站 下载并安装。
- 使用 npm 安装 Newman:
npm install -g newman
2.3 安装 Jenkins
- 不同操作系统安装方式不同,以 Ubuntu 为例:
# 添加 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:
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 运行命令,例如:
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”中编写邮件内容,可引用测试报告文件,例如:
<!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 报告模板。
通过以上步骤,你可以搭建一个自动化的接口测试环境,并及时将测试结果通过邮件通知相关人员,提高软件开发的效率和质量。