Поделиться через


AzureTestPlan@0 — задача плана тестирования Azure версии 0

Выполняйте ручные и автоматические тесты в плане тестирования на языках Java, JavaScript и Python.

Замечание

Эта задача находится в общедоступной предварительной версии.

Синтаксис

# Azure Test Plan v0
# Run manual and automated tests points of test plan for different testing frameworks like Maven and Gradle for Java, PyTest for Python and Jest for JavaScript.
- task: AzureTestPlan@0
  inputs:
    testSelector: # 'manualTests' | 'automatedTests'. Required. Test cases to be executed. 
    testPlanOrRunSelector: 'testPlan' # 'testPlan' | 'testRun'. Required. Select tests using. Default: testPlan.
    #testRunId: '$(test.RunId)' # string. Required when testPlanOrRunSelector = testRun. Test Run. Default: $(test.RunId).
    testPlan: # string. Required when testPlanOrRunSelector = testPlan. Test plan. 
    testSuite: # string. Required when testPlanOrRunSelector = testPlan. Test suite. 
    testConfiguration: # string. Required. Test configuration. 
    #testLanguageInput: # 'JavaMaven' | 'JavaGradle' | 'Python' | 'JavaScriptJest'. Select Test framework language. 
    #pomFilePath: # string. Optional. Use when testLanguageInput = JavaMaven. Pom file path. 
    #gradleFilePath: # string. Optional. Use when testLanguageInput = JavaGradle. Gradle file path. 
    #failTaskOnFailedTests: true # boolean. Fail if there are test failures. Default: true.
    #failTaskOnFailureToPublishResults: false # boolean. Fail if there is failure in publishing test results. Default: false.
    #failTaskOnMissingResultsFile: false # boolean. Fail if no result files are found. Default: false.
  # advanced
    #publishRunAttachments: true # boolean. Upload test results files. Default: true.

Входные данные

testSelector - Тестовые сценарии для выполнения
string. Обязательное. Допустимые значения: manualTests (Ручные тесты), automatedTests (Автоматические тесты).

  • Ручные тесты: Используйте этот параметр для запуска ручных тестов из плана тестирования.
  • Автоматизированные тесты: Используйте этот параметр для выполнения тестов из плана тестирования, с которыми связан метод автоматического тестирования.
  • .

testPlanOrRunSelector - Выбор тестов с помощью
string. Обязательное. Допустимые значения: testPlan (План тестирования), testRun (Тестовый прогон). Значение по умолчанию: testPlan.

  • Тестовая сборка: Используйте этот параметр, чтобы указать одну или несколько тестовых сборок, содержащих тесты. При необходимости можно указать критерии фильтра, чтобы выбрать только определенные тесты.
  • План тестирования: Используйте этот параметр для выполнения тестов из плана тестирования, с которыми связан метод автоматического тестирования.
  • Тестовый запуск: Используйте этот параметр при настройке среды для выполнения тестов из тестового центра. Этот параметр не следует использовать при выполнении тестов в конвейере непрерывной интеграции / непрерывного развертывания (CI/CD).
  • .

testRunId - Тестовый прогон
string. Требуется, если testPlanOrRunSelector = testRun. Значение по умолчанию: $(test.RunId).

Выбор на основе тестового прогона используется при запуске автоматических тестовых запусков из тестового хаба, значение для которого должно быть сохранено как есть.


testPlan - План испытаний
string. Требуется, если testPlanOrRunSelector = testPlan.

Введите или вставьте идентификатор плана тестирования, содержащий наборы тестов с тестовыми случаями.


testSuite - Набор тестов
string. Требуется, если testPlanOrRunSelector = testPlan.

Выберите один или несколько наборов тестов, содержащих тестовые случаи.


testConfiguration - Тестовая конфигурация
string. Обязательное.

Выберите Тестовая конфигурация.


testLanguageInput - Выберите язык тестовой платформы
string. Допустимые значения: JavaMaven (Java - Maven), JavaGradle (Java - Gradle), Python (Python - PyTest), JavaScriptJest (JavaScript - Jest).

Test Framework Язык автоматических тестов в плане тестирования.


pomFilePath - Путь к файлу Pom
string. Необязательно. Используется при testLanguageInput = JavaMaven.

Относительный путь от корня репозитория к файлу Maven POM.


gradleFilePath - Путь к файлу Gradle
string. Необязательно. Используется при testLanguageInput = JavaGradle.

Относительный путь от корня репозитория к файлу build.gradle.


publishRunAttachments - Отправка файлов результатов теста
boolean. Значение по умолчанию: true.

Отправка журналов и других файлов, содержащих диагностическую информацию, собранную при выполнении тестов.


failTaskOnFailedTests - Сбой при наличии тестовых сбоев
boolean. Значение по умолчанию: true.

Провалите задачу, если есть какие-либо сбои в тесте. Отметьте этот флажок, чтобы не выполнить задачу, если в файлах результатов обнаружены сбои теста.


failTaskOnFailureToPublishResults - Сбой при сбое при публикации результатов теста
boolean. Значение по умолчанию: false.

Ошибка в случае сбоя при публикации результатов теста. Отметьте этот флажок, чтобы не выполнить задачу, если публикация результатов теста была частично завершена.


failTaskOnMissingResultsFile - Сбой, если не найдены файлы результатов
boolean. Значение по умолчанию: false.

Сбой задачи, если не найдены файлы результатов.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе "Параметры управления" и общие свойства задачи.

Выходные переменные

Нет.

Замечания

Интеграция автоматических тестов с планом тестирования

Выполните следующие действия, чтобы интегрировать автоматические тесты с ручными тестовыми случаями и выполнить их из планов тестирования или с помощью задачи Azure Test Plan в конвейерах сборки:

  1. Убедитесь, что ваш проект находится в репозиториях Azure DevOps (или репозиториях GitHub).

  2. Создайте конвейер, который выполняет тесты с помощью таких задач, как Gradle или Maven. Если тесты уже выполняются в рамках существующего конвейера, этот шаг можно пропустить. Выполнение тестов имеет важное значение — только после того, как они будут выполнены хотя бы один раз, они будут доступны для связи с ручными тестовыми сценариями.

     trigger: none
    
     pool:
       vmImage: ubuntu-latest
    
     steps:
     - task: Gradle@3
       inputs:
         gradleWrapperFile: 'gradlew'
         workingDirectory: '$(Build.SourcesDirectory)'
         tasks: 'build'
         publishJUnitResults: true
         testResultsFiles: '**/TEST-*.xml'
         testRunTitle: 'gridinitialexecution'
         javaHomeOption: 'JDKVersion'
         sonarQubeRunAnalysis: false
         spotBugsAnalysis: false
    
  3. Следующим шагом является связывание тестовых случаев с вкладки "Тест" сводки выполнения конвейера с рабочим элементом тестового случая, созданным вручную. Для этого создайте новый тестовый случай или используйте существующий (обратите внимание на столбец Automation Status для TC4):

    Скриншот тест-кейса без автоматизации.

  4. Получив тестовый случай, вернитесь на страницу сводки по запуску конвейера и свяжите автоматический тест с тестовым случаем.

    Снимок экрана взаимодействия с ассоциациями в Azure Pipelines

  5. Вот как можно определить, связан ли с ручным тестовым случаем автоматизированный тест:

    Скриншот тестового случая с автоматизацией.

    Скриншот тестового случая с соответствующим автоматическим тестом.

  6. Теперь, когда тестовый случай связан с рабочим элементом ручного тестового случая, его можно выполнить как часть конвейера, передав план тестирования в качестве аргумента в задаче Azure Test Plan.

    trigger: none
    pool:
      vmImage: ubuntu-latest
    
    steps:
    - task: AzureTestPlan@0
      inputs:
        testSelector: 'automatedTests'
        testPlanOrRunSelector: 'testPlan'
        testPlan: '21294'
        testSuite: '229461'
        testConfiguration: '82'
        testLanguageInput: 'JavaGradle'
    

Сохраните и запустите конвейер.

Ниже приведена сводка результатов конвейера, в которой показан результат для TC4 вместе с другими тестовыми случаями:

Скриншот соответствующей вкладки автоматизации.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Отсутствует
Возможности Эта задача не удовлетворяет требованиям к последующим задачам в задании.
Ограничения команд Любое
Переменные settable Любое
Версия агента 2.144.0 или более поздней версии
Категория задач Тест