Я хотел бы создать простой отчет для результатов ручного тестирования тестовых случаев с использованием REST API:
Я использую следующий запрос
(Последняя поддерживаемая версия API на нашем сервере — 5.1)
Часть ответа ниже.
Моя проблема в том, что результаты действий не соответствуют порядку шагов тестового примера. Глядя на комментарии, я вижу, что шаг 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",
},
....
}
}
]
}





Согласно Результаты - Список ,
actionPath— идентификатор пути для шага теста в рабочем элементе тестового набора.
Он увеличивается в том порядке, в котором шаги добавляются в тестовый набор, а не в том порядке, в котором шаги фактически появляются в тестовом примере.
Например, вы добавили в тестовый пример первый шаг «Шаг A». На данный момент actionPath этого шага — 00000002. Затем вы вставили новый шаг «Шаг B» перед «Шаг A». На данный момент actionPath в «StepB» — 00000003. actionPath в «StepA» остается неизменным, то есть по-прежнему 00000002.
В теле ответа API объекты в actionResults сортируются в порядке возрастания по actionPath.
Фактический порядок выполнения заключается в том, чтобы сначала запустить StepB, а затем StepA.
В дополнение к ответу выше: шаги в тестовом примере определяются, как показано ниже, в поле «Microsoft.VSTS.TCM.Steps». Внутренние идентификаторы не совпадают с идентификаторами шагов, отображаемыми в пользовательском интерфейсе. Идентификаторы соответствуют actionPath в результатах тестового запуска: идентификатор 1 будет соответствовать actionPath 00000001, идентификатор 2 будет соответствовать actionPath 00000002 и т. д. Это несколько громоздко, но позволяет сопоставить результат шага теста с фактическим шагом теста.
<steps id = "0" last = "9">
<step id = "2" type = "ValidateStep">
<P>Select the menu "change PW" </P>
<P>User has access to change PW menu item </P>
</step>
<step id = "3" type = "ValidateStep">
<P>Type in previous pw and new password in selected fields </P>
<P>User is able to type in pw's </P>
</step>
<compref id = "7" ref = "16354">
<step id = "6" type = "ValidateStep">
<SPAN xml:lang = "da-dk">do some stuff</SPAN>
<SPAN xml:lang = "da-dk">NA</SPAN>
</step>
<compref id = "8" ref = "16354">
<step id = "4" type = "ValidateStep">
<P>Test other stuff.. </P>
<P>other stuff tested </P>
</step>
<compref id = "9" ref = "16354">
<step id = "5" type = "ActionStep">
<P>End of test case </P>
<P> </P>
</step>
</compref>
</compref>
</compref>