Заметки консультанта

Шамрай Александр Владимирович

Azure DevOps Rest Api. 15. Создание результатов тестирования без планов тестирования

Posted by Shamrai Alexander на 29 марта, 2019

<< Перейти в радел «Azure DevOps Services (TFS/VSTS) Rest Api»

Создание результатов тестирования в Azure DevOps может быть интересным в случае выполнения автоматических или других тестовых сценариев вне Azure DevOps (например, ручных в офлайне) и публикации их результатов в удобном для обработки виде.

Создание результатов тестирования

Для создания тестовых сценариев используем клиент TestManagementHttpClient по следующему сценарию:

  1. Необходимо создать запись о выполнении тестов.
  2. Создать и добавить нужное количество записей о результатах тестирования.
  3. Обновить информацию о тестировании по ее результатам.

Для создания записи о выполнении тестов используется метод CreateTestRunAsync, который принимает модель создания RunCreateModel и имя командного проекта. Модель создания записи о выполнении в рамках решения примера включает следующие основные параметры:

  1. name – понятное наименование сессии тестирования.
  2. startedDate – дата начала тестирования.
  3. isAutomated – тесты автоматические или ручные

Пример выполнения метода:

RunCreateModel runCreate = new RunCreateModel(

name: «Test run from console — completed»,

startedDate: DateTime.Now.ToString(«o»),

isAutomated: true

);

TestRun testRun = TestManagementClient.CreateTestRunAsync(runCreate, TeamProjectName).Result;

Для добавления результатов тестирования используем метод AddTestResultsToTestRunAsync, который принимает массив результатов выполнения отдельных тестов, наименование командного проекта и идентификатор запуска тестирования. Для создания результатов выполнения тестов используется класс TestCaseResult со следующими основными параметрами:

  1. TestCaseTitle – наименование сценария тестирования.
  2. Outcome – результат выполнения теста. Список можно посмотреть в перечислении TestOutcome.
  3. State – текущее состояние процесса тестирования этого теста. Список доступных значений можно посмотреть в перечислении TestRunState

Пример добавления результатов для теста:

TestRun testRun = TestManagementClient.CreateTestRunAsync(runCreate, TeamProjectName).Result;

TestCaseResult testCaseResult = new TestCaseResult();

testCaseResult.AutomatedTestName = «MyTestSuite.TestName»;

testCaseResult.TestCaseTitle = «Check my function»;

testCaseResult.StackTrace = «Add StackTrace here»;

testCaseResult.ErrorMessage = «Test ‘MyTestSuite.TestName’ failed»;

testCaseResult.Outcome = Enum.GetName(typeof(TestOutcome), TestOutcome.Failed);

testCaseResult.CompletedDate = DateTime.Now;

testCaseResult.State = Enum.GetName(typeof(TestRunState), TestRunState.Completed);

TestManagementClient.AddTestResultsToTestRunAsync(new TestCaseResult[] { testCaseResult }, TeamProjectName, testRun.Id).Wait();

Обновление информации о тестовом запуске выполняется с помощью UpdateTestRunAsync через модель обновления RunUpdateModel, которая имеет схожую структуру с RunCreateModel. Пример обновления текущего состояния тестового запуска:

RunUpdateModel runUpdateModel = new RunUpdateModel(

completedDate: DateTime.Now.ToString(«o»),

state: Enum.GetName(typeof(TestRunState), TestRunState.Completed)

);

testRun = TestManagementClient.UpdateTestRunAsync(runUpdateModel, TeamProjectName, testRun.Id).Result;

Проверка результатов

Результаты выполнения в Azure DevOps видны в разделе Test PlansàRuns:

Далее в каждом тестовом запуске можно увидеть его детализацию:

При этом заполняемая информация также попадает в дефект, если выполнить его создание на основе выполненного теста:

Пример тестового приложения можно посмотреть здесь:

https://github.com/ashamrai/TFRestApi/tree/master/15.TFRestApiAppRunTests

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

 
%d такие блоггеры, как: