如何跟运维配合进行接口自动化测试?

215 阅读3分钟

如果公司的环境部署是由运维负责的,但是我们想在环境部署之后想要进行接口自动化测试验证部署到环境的接口是否ok的时候,可以通过以下方式配合运维团队:

✅方案:由运维负责部署,测试团队负责自动化验证

你可以跟运维同学约定一个测试触发机制,让运维同学在部署完成之后自动触发你的接口自动化测试。 两种主要方式

  1. 运维手动触发(适用于较小团队)
    • 运维 部署完成后,手动通知测试团队运行 GitHub ActionsJenkins 进行自动化测试。 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:运维自动触发测试

如果运维团队有 自动化部署,你可以让运维在 部署成功后,自动触发你的接口测试:

  1. 运维执行 Ansible / Kubernetes / Shell 脚本部署
  2. 部署完成后,运维脚本自动调用你的 GitHub Actions / Jenkins 触发测试
  3. 测试完成后,发送通知到 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/钉钉/飞书,方便大家查看。

这样,我们测试团队运维团队就可以协同工作,确保新环境的接口功能是稳定的!


不知道你们公司的接口自动化验证时如何进行的呢?