Я пытаюсь создать отчет с результатом каждого шага, выполненного в тестовом примере, и я могу получить шаги тестирования, ожидаемый результат, результат этапа , сообщение об ошибке, вложения.Не удалось получить результаты теста в правильном порядке, как указано в MTM
Шаги тестов и ожидаемый результат перечислены в правильном порядке, как показано на MTM, но результат шага и сообщение об ошибке, похоже, перегруппированы для всего тестового примера, который я извлекаю. Это мой код, пожалуйста, помогите.
foreach (ITestSuiteEntry testcase in ts.TestCases)
{
var testResults = testProject.TestResults.ByTestId(testcase.TestCase.Id);
foreach (ITestCaseResult result in testResults)
{
for (int actionIndex = 0; actionIndex < testcase.TestCase.Actions.Count; actionIndex++)
{
resultData = new TestResultData();
var actionStep = testcase.TestCase.Actions[actionIndex] as ITestStep;
if (actionStep != null)
{
resultData.TestCaseName = result.TestCaseTitle;
resultData.Step = Regex.Replace(actionStep.Title, @"<[^>]+>| ", "").Trim();
resultData.ExpectedResult = Regex.Replace(actionStep.ExpectedResult, @"<[^>]+>| ", "").Trim();
}
var topIteration = result.Iterations.FirstOrDefault();
if (topIteration != null && actionIndex < topIteration.Actions.Count)
{
var actionResult = topIteration.Actions[actionIndex];
resultData.StepOutcome = actionResult.Outcome.ToString();
resultData.Comment = actionResult.ErrorMessage;
foreach (var attachment in actionResult.Attachments)
{
resultData.AttachmentName = attachment.Name;
resultData.AttachmentUri = attachment.Uri.ToString();
}
}
resultDataList.Add(resultData);
}
}
}
Я подозреваю, что вы должны использовать 'topIteration.Actions.FirstOrDefault (результат => result.ActionId == actionstep.Id)'Не каждый шаг может иметь связанный с ним результат. – jessehouwing
Большое вам спасибо! который работал как шарм. У меня есть еще один вопрос: я понимаю, что привязки могут быть связаны с этапом тестового теста, а также с тестовым примером. Я могу получить вложения, связанные с результатами тестирования. Не могли бы вы рассказать мне, как я могу получить вложения, связанные с тестовым случаем. Большое вам спасибо за ваше время. – Div