如何 Link Azure Pipeline 测试结果到测试用例

How to Link Azure Pipeline Test Results to Test Cases

我正在尝试 link 来自管道任务 PublishTestResults 的自动化测试结果,以在 Azure 中测试用例。这样我就可以通过测试用例查看测试结果的历史

背景

这些测试通过 pytest 自动进行,并向 Azure 生成 Junit XML 报告。如果我错了,请纠正我,但据我发现,没有任何参数、选项或设置可以让 azure 自动 link 这些测试用例。此外,Azure 期望的 XML 格式不包含 id 的属性。 https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-test-results?view=azure-devops&tabs=trx%2Cyaml

我无法通过 visual studio 关联这些测试,因为不支持 pytest。 https://docs.microsoft.com/en-us/azure/devops/test/associate-automated-test-with-test-case?view=azure-devops

问题

我开始使用 Azure REST API 和 azure devops python api, https://github.com/microsoft/azure-devops-python-api 。获得了我的构建 ID、与管道构建关联的测试 运行 ID、来自 ID 的测试 运行、测试用例 ID 和测试点 ID。执行 GET 测试结果 returns 测试结果,并专注于响应的特定对象。

"testCase": {
    "name": "test title"
},

但是,当我执行 PATCH 测试结果 以使用

更新测试结果时
"testCase": {
    "id": "5688",
    "name": "test title"
},
"testPoint": {
    "id": "296"
},

不更新,保持不变。我可以确认我能够更新其他字段,并且我也看到了 lastUpdatedDate 更新。提到这个电话。 https://docs.microsoft.com/en-us/rest/api/azure/devops/test/results/update?view=azure-devops-rest-6.0

我尝试了手动测试 运行,并且能够添加带有测试用例 ID 的测试结果。但是我无法在之后编辑测试用例 ID。我尝试将带有测试用例 ID 的测试结果添加到我的自动化测试 运行s,但这没有用

任何人都知道我做错了什么或更好的方法来link将测试结果用于 Azure 中的测试用例?

我发布到 Visual Studio 开发者社区论坛。

我们几乎必须通过“更新工作项”路线。为了link自动化测试结果与测试用例,我在测试结果中添加了一个关系link:

[
    {
        "op": "add",
        "path": "/relations/-",
        "value": {
            "rel": "ArtifactLink",
            "url": "vstfs:///TestManagement/TcmResult/1234.100000",
            "attributes": {
                "name": "Test Result"
            }
        }
    }
]

这将从测试用例中添加一个 link 以将您定向到无效的 URL,因此它只会将您带到构建摘要页面。不太好,因为 URL:

中缺少 /results
https://dev.azure.com/{organization}/{project}/_build?buildId=1122&view=ms.vss-test-web.build-test-results-tab&runId=1234&resultId=100000&paneView=debug

但除此之外,这行得通。