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

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

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

Posted by Shamrai Alexander на 28 февраля, 2019

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

Примечание: Устарело с версии 16.150.0-preview. Новые подходы описаны здесь.

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

План тестирования создается с помощью метода CreateTestPlanAsync из клиента TestManagementHttpClient. Данный метод принимает только два параметра:

  • Объект класса PlanUpdateModel, который описывает основные параметры плана тестирования.
  • И имя командного проекта.

Класс PlanUpdateModel включает следующие атрибуты, которые интересуют нас при создании на данном этапе:

  • name – наименование нового плана тестирования
  • startDate – дата начала плана тестирования в виде строки
  • endDate – дата окончания плана тестирования в виде строки
  • area – путь области, который описывается классом ShallowReference
  • iteration – путь итерации

Все атрибуты довольно просты, кроме area. Получить данные для пути области мы можем с помощью методов, которые рассматривались в статье Управление областями и итерациями в командном проекте. Т.е. мы получаем объект класса WorkItemClassificationNode и передаем его атрибуты в новый объект класса ShallowReference:

  1. В атрибут Id передаем Identifier.
  2. В атрибут Url передаем соответствующий Url области.

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

Microsoft.TeamFoundation.TestManagement.WebApi.ShallowReference areaRef = null;
if (AreaPath != «»)

{


var area = WitClient.GetClassificationNodeAsync(TeamProjectName, TreeStructureGroup.Areas, AreaPath).Result;

areaRef = new Microsoft.TeamFoundation.TestManagement.WebApi.ShallowReference() {

Id = area.Identifier.ToString(),

Name = TeamProjectName + «\\» + AreaPath,

Url = area.Url

};

}

if (IterationPath != «») IterationPath = TeamProjectName + «\\» + IterationPath;

PlanUpdateModel newPlanDef = new PlanUpdateModel(

name: TestPlanName,

startDate: (StartDate.HasValue) ? StartDate.Value.ToString(«o») : «»,

endDate: (FinishDate.HasValue) ? FinishDate.Value.ToString(«o») : «»,

area: areaRef,

iteration: IterationPath

);

TestManagementClient.CreateTestPlanAsync(newPlanDef, TeamProjectName).Wait();

Создание тестового набора

Создание тестового набора выполняется схожим методом с созданием плана тестирования, т.е. через отдельный объект, который описывает свойства нового набора тестов. Этот объект описывается классом SuiteCreateModel, который включает атрибуты:

  1. suiteType – тип набор тестирования, который может быть одним из:
    1. StaticTestSuite – статический набор тестов, который может включать дочерние наборы тестов и тестовые сценарии.
    2. DynamicTestSuite – динамический набор тестов, который содержит тесты, отобранные его запросом через атрибут queryString.
    3. RequirementTestSuite – набор тестов, который ассоциируется с рабочим элементов группы требований и может содержать только тестовые сценарии.
  2. name – наименование нового набора тестов.
  3. queryString – WIQL запрос для отбора тестов для динамического набора тестов.
  4. requirementIds – массив идентификаторов рабочих элементов группы требований, для которых будут созданы тестовые наборы с типом RequirementTestSuite.

Создание тестового набора выполняется с помощью метода CreateTestSuiteAsync, в который передаются:

  1. Экземпляр класса SuiteCreateModel.
  2. Наименование командного проекта.
  3. Идентификатор плана тестирования, в котором будет создан новый набор тестов.
  4. Идентификатор родительского набора тестов, который должен быть статическим. Если создаем в корне плана тестирования, то такой идентификатор можно найти в его атрибуте RootSuite.Id.

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

SuiteCreateModel newSuite = new SuiteCreateModel(TestSuiteType, TestSuiteName, SuiteQuery, RequirementIds);
List<TestSuite> testSuiteList = TestManagementClient.CreateTestSuiteAsync(newSuite, TeamProjectName, TestPlanId, parentsuiteId).Result;

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

https://github.com/ashamrai/TFRestApi/tree/master/13.TFRestApiAppCreateTestPlanAndSuites

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

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

Логотип WordPress.com

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

Google photo

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

Фотография Twitter

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

Фотография Facebook

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

Connecting to %s

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