Azure DevOps REST API:将手动测试用例步骤与测试运行结果相匹配?

问题描述 投票:0回答:1

我想使用 REST API 创建一个简单的测试用例手动测试结果报告:

  • 测试用例步骤描述/预期结果
  • 结果:通过/失败
  • 评论、附件

我使用以下查询

http://myserver.is.mycompany.net:8080/tfs/MyCollection/LMTest/_apis/test/Runs/192557/Results?api-version=5.1&detailstoinclude=Iterations

(我们服务器最新支持的API版本是5.1)

回复部分如下。

我的问题是,actionResults 不按测试用例步骤的顺序排列。 查看评论,我可以看到步骤 6 actionResult 在步骤 2 之后,然后是步骤 8,然后是步骤 4 等等。由于我们使用共享步骤,这使得情况变得更加复杂。

有没有办法可以将测试用例步骤与迭代详细信息中的相应结果相匹配?

{
"count": 1,
"value": [
    {
        "id": 100000,

        ...

        "iterationDetails": [
            {
                "id": 1,
                "outcome": "Failed",
                "errorMessage": "",
                "durationInMs": 171574,
                "actionResults": [
                    {
                        "actionPath": "00000002",
                        "iterationId": 1,
                        "url": "http://myserver.is.mycompany.net:8080/tfs/MyCollection/LMTest/_apis/test/Runs/192557/Results/100000/Iterations/1/ActionResults/00000002",
                        "outcome": "Failed",
                        "errorMessage": "step 1 comment",
                    },
                    {
                        "actionPath": "00000003",
                        "iterationId": 1,
                        "url": "http://myserver.is.mycompany.net:8080/tfs/MyCollection/LMTest/_apis/test/Runs/192557/Results/100000/Iterations/1/ActionResults/00000003",
                        "outcome": "Failed",
                        "errorMessage": "step 2 comment",
                    },
                    {
                        "actionPath": "00000004",
                        "iterationId": 1,
                        "url": "http://myserver.is.mycompany.net:8080/tfs/MyCollection/LMTest/_apis/test/Runs/192557/Results/100000/Iterations/1/ActionResults/00000004",
                        "outcome": "Failed",
                        "errorMessage": "step 6 comment",
                    },
                    {
                        "actionPath": "00000005",
                        "iterationId": 1,
                        "url": "http://myserver.is.mycompany.net:8080/tfs/MyCollection/LMTest/_apis/test/Runs/192557/Results/100000/Iterations/1/ActionResults/00000005",
                        "outcome": "Failed",
                        "errorMessage": "step 8 comment",
                    },
                    {
                        "actionPath": "00000006",
                        "iterationId": 1,
                        "url": "http://myserver.is.mycompany.net:8080/tfs/MyCollection/LMTest/_apis/test/Runs/192557/Results/100000/Iterations/1/ActionResults/00000006",
                        "outcome": "Failed",
                        "errorMessage": "step 4 comment",
                    },
                    
                    ....
        }
    }
]

}

azure-devops azure-devops-rest-api
1个回答
0
投票

根据结果-列表

actionPath
是测试用例工作项中测试步骤的路径标识符。

它按照步骤添加到测试用例的顺序递增,而不是按照步骤实际出现在测试用例中的顺序。

例如,您将第一步“StepA”添加到测试用例中。此时,这一步的

actionPath

就是
00000002
。然后,您在“StepA”之前插入了一个新步骤“StepB”。此时,“StepB”的
actionPath
00000003
。 “StepA”的
actionPath
保持不变,仍然是
00000002

enter image description here

API响应体中,

actionResults

中的对象按
actionPath
升序排序。

enter image description here

实际执行顺序是先运行StepB,再运行StepA。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.