如果公司的环境部署是由运维负责的,但是我们想在环境部署之后想要进行接口自动化测试验证部署到环境的接口是否ok的时候,可以通过以下方式配合运维团队:
✅方案:由运维负责部署,测试团队负责自动化验证
你可以跟运维同学约定一个测试触发机制,让运维同学在部署完成之后自动触发你的接口自动化测试。 两种主要方式
- 运维手动触发(适用于较小团队)
- 运维 部署完成后,手动通知测试团队运行 GitHub Actions 或 Jenkins 进行自动化测试。 2.运维自动促发(适用于CI/CD流程) -部署完成之后,运维通过Webhook/API/脚本自动触发脚本测试。
🚀方案1:运维手动触发测试
如果运维没有完善的自动化体系,最简单的方式就是让他们在部署完成之后手动触发API自动化测试,比如:
- 运维在slack/飞书/钉钉等工作软件通知你:「新环境部署完毕,测试环境 URL 是 xxx」
- 你再手动运行 GitHub Actions / Jenkins 进行测试。
手动运行GitHub Actions
运维通知你后,你可以手动触发:
gh workflow run api-tests.yml -f environment=staging
手动运行jenkins
运维通知你后,你登录 Jenkins,选择 API Test Job,然后点击 Build Now,参数填入 测试环境 URL。
🤖方案2:运维自动触发测试
如果运维团队有 自动化部署,你可以让运维在 部署成功后,自动触发你的接口测试:
- 运维执行 Ansible / Kubernetes / Shell 脚本部署
- 部署完成后,运维脚本自动调用你的 GitHub Actions / Jenkins 触发测试
- 测试完成后,发送通知到 Slack/飞书/钉钉
方式1:运维通过webhook触发github actions
你可以让运维的 CI/CD 流程 在部署成功后,调用 GitHub Actions API 触发接口自动化测试。 示例:运维在 Ansible / K8s 部署后,调用 GitHub API 触发自动化测试
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/YOUR_REPO/actions/workflows/api-tests.yml/dispatches \
-d '{"ref": "main"}'
-
$GITHUB_TOKEN需要在 GitHub Settings -> Secrets 配置 -
YOUR_REPO替换为你的 GitHub 仓库名称
方式2:运维触发Jenkins运行接口测试
如果公司用的是 Jenkins,你可以让运维在 部署完成后 通过 API 触发 Jenkins Job:
curl -X POST "http://jenkins.yourcompany.com/job/API-Test/buildWithParameters?token=YOUR_SECRET_TOKEN"
-
API-Test是你的 Jenkins 任务名称 -
YOUR_SECRET_TOKEN需要在 Jenkins Build Triggers 配置
📌流程示意
sequenceDiagram
participant 运维
participant GitHub Actions
participant 测试工程师
participant Jenkins
participant Slack/钉钉
运维->>GitHub Actions: Webhook 触发 API 测试
GitHub Actions->>Jenkins: 运行 API 自动化测试
Jenkins->>Slack/钉钉/飞书: 发送测试结果
测试工程师->>Slack/钉钉/飞书: 查看测试报告
🧷你们是如何分工
| 角色 | 责任 |
|---|---|
| 运维 | 负责环境部署,成功后通知货触发测试 |
| 测试 | 负责接口自动化测试和结果分析 |
| github actions/jenkins | 运行接口测试,并生成allure报告 |
📢你可以和运维约定的触发方式
| 触发方式 | 适用场景 | 触发方式 |
|---|---|---|
| 手动通知 | 小团队 | 运维slack/钉钉/飞书 通知测试团队 |
| Webhook触发 | CI/CD流程化 | 运维ansible/kubernets 调用GIThubactions api |
| Jenkins API 触发 | jenkins用户 | 运维部署后,调用jenkins API触发接口测试 |
✅总结
-如果团队 流程不成熟,可以让运维手动通知你。 -如果公司有CI/CD流程,可以让运维自动触发你的接口测试(GitHub Actions 或 Jenkins)。 -测试报告生成之后,可以让GITHUB ACTION 或者 Jenkins自动通知slack/钉钉/飞书,方便大家查看。
这样,我们测试团队和运维团队就可以协同工作,确保新环境的接口功能是稳定的!
不知道你们公司的接口自动化验证时如何进行的呢?