使用 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 报告模板。

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

相关推荐
一直在路上的码农2 小时前
使用 Postman 访问 Keycloak 端点
运维·postman·运维开发
那片海还在吗2 小时前
SoapUI 结合 Postman 测试 WebService 协议
测试工具·php·postman
2501_903238653 小时前
Git Bash:Windows下的强大命令行工具
windows·git·bash·个人开发
神明木佑5 小时前
datalist 是什么?以及作用是什么?
git
崔lc7 小时前
linux中安装部署Jenkins,成功构建springboot项目详细教程
运维·jenkins
luojiaao7 小时前
【Jenkins】个人向-Jenkinsfile如何写
运维·jenkins
学海无涯,行者无疆14 小时前
使用Jenkins实现Windows服务器下C#应用程序发布
windows·c#·jenkins·.net·cicd·自动发布·一键发布
arong_xu14 小时前
Jenkinsfile流水线构建教程
ci/cd·jenkins·ci
heeheeai15 小时前
git 国内源
git