Автоматизация тестов с Azure Pipelines с помощью классического редактора

В этой статье вы узнаете, как настроить и запустить тесты приложений на основе холста, созданные в Test Studio, с помощью классического редактора Azure Pipelines в Azure DevOps Services.

Вы можете использовать публичный проект на GitHub — Microsoft/PowerAppsTestAutomation, чтобы:

  • Автоматизировать операции входа в ваше приложение.
  • Открыть браузер на агенте сборки и выполнить набор тестовых случаев и пакеты тестов
  • Посмотреть статус выполнения теста в Azure DevOps Pipeline.

Предварительные условия

Прежде чем начать, вы должны выполнить следующие шаги:

Шаг 1. Создание вилки проекта PowerAppsTestAutomation

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

  1. Войдите в GitHub.

  2. Перейдите в репозиторий Microsoft/PowerAppsTestAutomation. Вы также можете выполнить поиск microsoft/PowerAppsTestAutomation, затем выбрать репозиторий:

    Поиск в GitHub.

  3. Выберите Создать вилку:

    Создать вилку.

  4. Выберите, где вы хотите создать вилку:

    Выберите учетную запись вилки.

Ваша вилка репозитория теперь будет доступна.

Шаг 2. Создание файла .json URL-адресов тестов

Файл .json URL-адресов тестов будет содержать URL-адреса набор тестов и тестовых случаев для проверки вашего приложения. URL-адреса набора тестов и тестовых случаев приложения можно получить, выбрав Скопировать ссылку воспроизведения в Test Studio.

Вы можете найти образец файла Samples/TestAutomationURLs.json в репозитории, который вы создали ранее.

  1. Создайте новый файл TestURLs.json в вашем репозитории или используйте любое другое имя файла.
    Имя и местоположение файла будут отображены в переменных конвейера позже в документе.

  2. Скопируйте формат из файла Samples/TestAutomationURLs.json.

  3. Обновите раздел "URL-адреса тестов" на тесты, которые вы хотите проверить в своем приложении.

  4. Отправьте изменения в свой репозиторий:

    Обновленный JSON.

Создание конвейера

  1. Выполните вход в экземпляр Azure DevOps.

  2. Выберите существующий проект или создайте новый проект.

  3. Выберите Конвейеры в левом меню.

  4. Выберите Создать конвейер.

    Созданный конвейер.

  5. Выберите Использовать классический редактор:

    Классический редактор.

  6. Выберите GitHub в качестве источника.

  7. При необходимости авторизуйте ваше соединение с GitHub с помощью Oauth или личного маркер доступа:

    Конвейер в GitHub.

  8. При необходимости отредактируйте имя соединения.

  9. Выберите ... (многоточие) с правой стороны входа Репозиторий.

  10. Введите название вашего проекта на GitHub, затем Выберите его:

    Выберите репозиторий.

  11. Выберите Продолжить.

  12. На экране выбора шаблона выберите Пустое задание:

    Выберите пустое задание.

  13. Сохраните свой конвейер.

Добавление задач в конвейер

Теперь вы добавите новые задачи и настроите задачи для запуска тестов из конвейера в следующей последовательности:

  1. Настройте разрешение экрана с помощью PowerShell.

  2. Восстановите пакеты NuGet для решения PowerAppsTestAutomation.

  3. Выполните сборку решения PowerAppsTestAutomation.

  4. Добавьте тесты Visual Studio для Google Chrome.

  5. Добавление тестов Visual Studio для Mozilla Firefox.

Шаг 1. Настройте разрешение экрана с помощью PowerShell

  1. Выберите + рядом с Задание агента 1.

  2. Выполните поиск PowerShell.

  3. Выберите Добавить, чтобы добавить задачу PowerShell к заданию:

    Добавьте PowerShell.

  4. Выберите задачу.
    Вы также можете обновить отображаемое имя на Установить разрешение экрана агента на 1920 x 1080 или похожее.

  5. Выберите Встроенный в качестве типа сценария и введите в окне сценария следующее:

    # Set agent screen resolution to 1920x1080 to avoid sizing issues with Portal  
    Set-DisplayResolution -Width 1920 -Height 1080 -Force
    # Wait 10 seconds  
    Start-Sleep -s 10
    # Verify Screen Resolution is set to 1920x1080  
    Get-DisplayResolution
    

    Пример скрипта.

Шаг 2. Восстановите пакеты NuGet

  1. Выберите + рядом с Задание агента 1.

  2. Выполните поиск NuGet.

  3. Выберите Добавить, чтобы добавить задачу NuGet к заданию.

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

  5. Выберите (многоточие) в поле конфигурации Путь к решению, packages.config или project.json.

  6. Выберите файл решения PowerAppsTestAutomation.sln.

  7. Выберите ОК:

    Пакет NuGet.

Шаг 3. Выполните сборку решения PowerAppsTestAutomation

  1. Выберите + рядом с Задание агента 1.

  2. Выполните поиск Сборка Visual Studio.

  3. Выберите Добавить, чтобы добавить задачу сборки Visual Studio к заданию.

  4. Выберите задачу.
    Вы также можете обновить отображаемое имя до Сборка решения для автоматизации тестирования Power Apps или похожее.

  5. Выберите (многоточие) в поле конфигурации Решение.

  6. Выберите файл решения PowerAppsTestAutomation.sln.

  7. Нажмите ОК.

Шаг 4. Добавьте тесты Visual Studio для Google Chrome

  1. Выберите + рядом с Задание агента 1.

  2. Выполните поиск Тест Visual Studio.

  3. Выберите Добавить, чтобы добавить задачу теста Visual Studio к заданию.

  4. Выберите задачу.
    Вы также можете обновить отображаемое имя до Запуск тестов автоматизации тестирования Power Apps через $(BrowserTypeChrome) или похожее.

  5. Удалите записи по умолчанию в текстовом поле Тестовые файлы и добавьте следующее:

    **\Microsoft.PowerApps.TestAutomation.Tests\bin\\Debug\Microsoft.PowerApps.TestAutomation.Tests.dll

  6. Введите TestCategory=PowerAppsTestAutomation в поле Критерии тестового фильтра.

  7. Выберите Тестовая смесь содержит тесты пользовательского интерфейса.

    Тестовая смесь содержит тесты пользовательского интерфейса.

  8. Выберите (многоточие) в поле Файл настроек.

  9. Разверните Microsoft.PowerApps.TestAutomation.Tests, выберите файл patestautomation.runsettings, затем выберите OK:

    Параметры запуска.

  10. Скопируйте следующее в поле Переопределить параметры тестового запуска.

    -OnlineUsername "$(OnlineUsername)" -OnlinePassword "$(OnlinePassword)" -BrowserType "$(BrowserTypeChrome)" -OnlineUrl "$(OnlineUrl)" -UsePrivateMode "$(UsePrivateMode)" -TestAutomationURLFilePath "$(TestAutomationURLFilePath)" -DriversPath "$(ChromeWebDriver)"
    

    Примечание

    Здесь настраиваются переменные в конвейере, представленные выше в виде $(VariableName).

  11. Введите Запуск тестов автоматизации тестирования Power Apps через $(BrowserTypeChrome) или подобное имя в поле Название тестового запуска.

    Запуск теста.

Шаг 5 — Добавление тестов Visual Studio для Mozilla Firefox

  1. Щелкните правой кнопкой мыши Добавить тесты Visual Studio для Chrome и выберите Клонировать задачи.

  2. Выберите задачу и обновите следующие области:

    1. Заголовок: Запуск тестов автоматизации тестирования Power Apps через $(BrowserTypeFirefox)

    2. Переопределить параметры тестового запуска

      -OnlineUsername "$(OnlineUsername)" -OnlinePassword "$(OnlinePassword)" -BrowserType "$(BrowserTypeFirefox)" -OnlineUrl "$(OnlineUrl)" -UsePrivateMode "$(UsePrivateMode)" -TestAutomationURLFilePath "$(TestAutomationURLFilePath)" -DriversPath "$(GeckoWebDriver)"
      
    3. Заголовок запуска теста: Запуск тестов автоматизации тестирования Power Apps через $(BrowserTypeFirefox)

Настройка переменных конвейера

Теперь вы настроите переменные конвейера, определенные в добавленных вами ранее задачах.

  1. Выберите вкладку Переменные.

  2. Выберите Добавить и повторите этот шаг для настройки следующих переменных:

Имя переменной Значение переменной
BrowserTypeChrome Chrome
BrowserTypeFirefox Firefox
OnlineUrl https://make.powerapps.com
TestAutomationURLFilePath $(Build.SourcesDirectory)\<test URL file>.json
Примечание. Это файл .json URL-адресов тестов, который вы создали ранее.
UsePrivateMode истина
OnlineUsername Введите адрес электронной почты Microsoft Entra контекста пользователя, который будет входить в приложение. Тесты будут выполняться в контексте этой учетной записи пользователя. Убедитесь, что у этого пользователя есть возможность запускать приложение и подключаться к любым источникам данных, к которым может подключаться приложение.
  1. Выберите Добавить и введите OnlinePassword в имени переменной.

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

    Сделать переменную секретной.

  3. Сохраните ваши конфигурации конвейера.

Запуск и анализ тестов

Чтобы убедиться, что ваши тесты успешно выполняются, выберите Очередь, затем выберите Запустить. Ваше задание начнет выполняться.

Запуск задания.

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

Сведения о задании.

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

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

Chrome — сбой.

Выберите тест RunTestAutomation, чтобы детализировать сведения о том, на чем произошел сбой этого тестового случая. На вкладке Вложения вы можете увидеть сводные данные о выполнении теста и о том, какие тестовые случаи не пройдены или пройдены в вашем наборе тестов:

Вкладка вложений.

Примечание

Если вы выполните набор тестов, вы увидите сводку пройденных и неудачных тестовых случаев. Если вы выполните тестовый случай, вы увидите конкретные сведения об ошибке со всей информацией о трассировке, если таковая имеется.

Известные ограничения

  • Многофакторная аутентификация не поддерживается.

  • Сводка теста сообщит об одном результате теста для браузера. Результат теста будет содержать один или несколько тестовых случаев или набор тестов.

  • Любой процесс аутентификации, кроме потока входа Microsoft Entra, требует настройки процесса входа в решении PowerAppsTestAutomation.

См. также

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).