是否存在Azure API可将Selenium自动化测试结果推送至Azure DevOps测试计划?
把测试结果发布到Azure DevOps测试计划的解决方案
核心前提:测试结果必须关联测试计划中的测试用例
Azure DevOps测试计划只显示关联了测试用例的结果,直接上传的无关联结果只会出现在Pipeline的测试tab中,不会同步到测试计划板块。
具体实现步骤
1. 生成Azure DevOps兼容的测试报告
Azure DevOps支持的标准报告格式包括:
- JUnit XML
- NUnit XML
- xUnit XML
- Visual Studio Test Results File (.trx)
根据你使用的测试框架配置生成对应格式的报告,比如用pytest的话,执行命令:
pytest --junitxml=test-results.xml
2. 使用官方任务替代旧TFS插件
在Azure Pipeline中添加Publish Test Results官方任务,关键配置项:
- Test result format:选择你生成的报告格式(如JUnit)
- Test results files:填入报告路径,例:
**/test-results.xml - Merge test results:勾选(存在多份报告时)
- Associate test results with test cases:必须勾选——这是结果同步到测试计划的核心开关
3. 在测试脚本中关联测试用例ID
需要把测试计划中对应的用例ID嵌入测试结果,不同框架的实现方式:
- pytest:借助
pytest-azurepipelines插件,给测试函数加标记:import pytest @pytest.mark.azuretestcaseid(12345) # 替换为测试计划中的目标用例ID def test_user_login(): assert "success" in login("test_user", "123456") - JUnit:在测试方法的DisplayName中嵌入用例ID:
import org.junit.Test; @Test @DisplayName("用户登录功能测试 [12345]") # 方括号内为测试用例ID public void testUserLogin() { assertTrue(login("test_user", "123456").contains("success")); }
4. 结果验证与问题排查
执行Pipeline后,前往测试计划的测试运行页面查看同步结果。若仍未显示,检查:
- 测试用例ID是否存在于当前测试计划中,且无输入错误
- Publish Test Results任务是否勾选了关联测试用例选项
- 测试报告格式是否正确,可查看Pipeline任务日志确认解析状态
内容的提问来源于stack exchange,提问作者Manish
相关产品推荐
相关产品推荐

