Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.
В этом руководстве приведены пошаговые инструкции по настройке аутентификации в Test Engine. Краткий обзор вариантов аутентификации см. в разделе Аутентификация в тестовом движке.
Начало работы с аутентификацией
Test Engine поддерживает два метода аутентификации для веб-тестов приложений на основе холста и моделей:
- StorageState — простая настройка по умолчанию для индивидуальной разработки (для веб-приложений на основе холста и тестирования приложений на основе моделей)
- Dataverse - Командный подход к совместному использованию пользователей для тестирования и CI/CD (для веб-тестов на основе холста и приложений на основе моделей)
Аутентификация обрабатывается по-разному для провайдера PowerFx и прямых Dataverse тестов. Эти тесты получают токены доступа непосредственно из сеанса Azure CLI, вошедшего в систему, с помощью az команд для получения токенов доступа к ресурсам. Перед запуском подобных тестов убедитесь, что вы вошли в систему с помощью az login --allow-no-subscriptions .
Быстрая настройка: аутентификация StorageState
Аутентификация StorageState — самый простой способ начать работу. Он использует API защиты данных Windows для безопасного хранения токенов аутентификации на вашем локальном компьютере.
Шаг 1: Запустите тест с аутентификацией по умолчанию
Выполните следующую команду PowerShell, заменив параметры, начинающиеся с your.
pac test run `
--provider canvas `
--test-plan-file your-test-plan.yaml `
--tenant your-tenant-id `
--environment-id your-environment-id
Примечание.
Параметр pac test run--user-auth в этом примере не используется, поскольку поставщиком по умолчанию является StorageState. Вы можете включить его, если хотите.
Шаг 2: Завершите интерактивную регистрацию
Введите данные вашей тестовой учетной записи пользователя.
- Окно браузера открывается автоматически.
- войдите в систему, используя свою тестовую учетную запись пользователя
- При необходимости подтвердите запрос на предоставление MFA и согласия.
- При появлении запроса выберите «Оставаться в системе».
Ваша аутентификация теперь сохранена.
- Test Engine надежно хранит вашу аутентификацию
- При последующих тестовых запусках сохраненное состояние будет использоваться без необходимости входа в систему.
- Токены обновляются автоматически при необходимости
Настройка команды: Dataverse аутентификация
Dataverse Аутентификация идеально подходит для команд и конвейеров CI/CD. Он надежно хранит аутентифицированные состояния пользователя в Dataverse, зашифрованные с помощью сертификатов X.509.
Шаг 1: Загрузите и импортируйте решение Test Engine
- Загрузите Power Platform решение с https://aka.ms/TestEngineAuth.
- Выполните вход в Power Apps.
- Выберите целевую среду.
- Перейдите в раздел Решения и выберите Импорт решения.
- Следуйте указаниям мастера, чтобы загрузить и установить решение Test Engine.
Шаг 2: Создайте сертификат для шифрования
Для самоподписанного сертификата (только для разработки) запустите следующий скрипт PowerShell:
$Params = @{
DnsName = @("testengine", "testengine")
CertStoreLocation = "Cert:\CurrentUser\My"
NotAfter = (Get-Date).AddMonths(6)
KeyAlgorithm = "RSA"
KeyLength = 2048
}
New-SelfSignedCertificate @Params
Для производства используйте сертификат, выданный центром сертификации вашего предприятия.
Шаг 3: Настройте тестового пользователя
Чтобы настроить тестового пользователя, выполните следующие шаги:
Откройте терминал и выйдите из всех существующих сеансов:
# Clear Power Platform CLI credentials pac auth clear # Clear Azure CLI credentials az logoutвойдите с помощью Azure CLI (требуется для Dataverse аутентификации):
az login --allow-no-subscriptionsЗадайте имя вашего сертификата как переменную среды PowerShell с именем
DataProtectionCertificateName:$env:DataProtectionCertificateName = "CN=testengine"Запустите тест с Dataverse аутентификацией:
pac test run ` --provider canvas ` --user-auth Dataverse ` --auth Certstore ` --test-plan-file testplan.yaml ` --tenant your-tenant-id ` --environment-id your-environment-idПримечание.
В отличие от StorageState, в этом случае необходимо использовать
--user-authпараметр со значениемDataverse.При появлении соответствующего запроса завершите интерактивную регистрацию.
Настройка принципалов обслуживания (для CI/CD)
Для автоматизированного тестирования в конвейерах CI/CD вместо интерактивных учетных записей пользователей можно использовать субъекты-службы.
Шаг 1: Создайте регистрацию приложения в Microsoft Entra ID
Выполните следующие шаги для создания регистрации приложения в Microsoft Entra ID.
- войдите в Microsoft Entra центр администрирования
- Перейдите в раздел Приложения>Регистрация приложений
- Выберите Новую регистрацию
- Введите имя (например, «Автоматизация тестового движка»)
- Оставьте параметры по умолчанию и выберите Зарегистрироваться
- После создания запишите идентификатор приложения (клиента) и идентификатор каталога (арендатора)
Шаг 2: Настройте разрешения API для Dataverse
Выполните следующие шаги для настройки разрешений API Dataverse.
- В разделе «Регистрация приложения» перейдите в раздел Разрешения API.
- Выберите Добавить разрешение
- Выберите API, которые использует моя организация
- Найдите и выберите Dataverse
- Выберите Делегированные разрешения
- Проверьте имитацию_пользователя
- Выберите Добавить разрешения
- Выберите Предоставить согласие администратора.
Шаг 3: Создайте секрет клиента
Чтобы создать секрет клиента, выполните следующие шаги.
- Перейти к Сертификаты и секреты
- Выберите Новый секрет клиента
- Добавьте описание и выберите срок действия
- Скопируйте секретное значение немедленно (вы не сможете увидеть его снова)
Шаг 4: Добавьте пользователя приложения в Dataverse
Выполните следующие шаги, чтобы добавить пользователя приложения в Dataverse.
- Откройте Power Platform Центр администрирования
- Выберите свою среду
- Перейдите в раздел Настройки>Пользователи + разрешения>Пользователи приложения
- Выберите + Новый пользователь приложения
- Найдите и выберите свое приложение
- Назначьте соответствующие роли бизнес-подразделений и безопасности (включая роль «Пользователь тестового модуля»)
- Сохранить изменения
Шаг 5: Настройте конвейер CI/CD
Добавьте эти переменные в свой конвейер:
AZURE_CLIENT_ID: (your application ID)
AZURE_CLIENT_SECRET: (your client secret)
AZURE_TENANT_ID: (your tenant ID)
DataProtectionCertificateValue: (base64 encoded certificate)
ENVIRONMENT_URL: (your Dataverse environment URL)
Для Azure DevOps безопасно сохраните их в группах переменных с соответствующими разрешениями.
PowerFx и прямая Dataverse тестовая аутентификация
Для тестов поставщика PowerFx и прямых Dataverse тестов аутентификация работает иначе, чем для веб-тестов.
Как работает аутентификация PowerFx/Dataverse
- Test Engine использует Azure CLI для получения токена доступа к конкретному ресурсу.
- Токен используется для аутентификации напрямую с помощью Dataverse API.
- Браузерная или веб-аутентификация не требуется.
Настройка PowerFx/Dataverse аутентификации
Убедитесь, что Azure CLI установлен и обновлен:
winget install -e --id Microsoft.AzureCLI # Or update it if already installed az upgradeвойдите с помощью Azure CLI:
# The --allow-no-subscriptions flag is important as you may not have Azure subscriptions az login --allow-no-subscriptionsЗапустите тест с провайдером PowerFx:
pac test run ` --provider powerfx ` --test-plan-file testplan.yaml ` --tenant your-tenant-id ` --environment-id your-environment-id ` --domain "https://your-environment.crm.dynamics.com"
Устранение неполадок аутентификации
В этом разделе содержится информация об устранении неполадок аутентификации с помощью Test Engine.
Распространенные проблемы с StorageState
Проблема: Запрос на аутентификацию появляется при каждом запуске.
- Решение: Проверьте, выбрали ли вы Оставаться в системе при входе в систему.
Проблема:
Cannot access secure storageошибка.- Решение: Убедитесь, что у вас есть соответствующий доступ к папке вашего профиля пользователя.
Распространенные проблемы с Dataverse аутентификацией
Проблема:
Certificate not foundошибка.- Решение: Убедитесь, что имя сертификата точно соответствует имени в вашем хранилище сертификатов.
Проблема:
Unable to connect to Dataverseошибка.-
Решение: Убедитесь, что вход в Azure CLI выполнен с помощью
az login --allow-no-subscriptions.
-
Решение: Убедитесь, что вход в Azure CLI выполнен с помощью
Проблема:
Access deniedошибка в субъекте-службе.- Решение: Убедитесь, что приложение имеет правильные разрешения в Dataverse и соответствующие роли безопасности.
Распространенные проблемы с PowerFx/Dataverse аутентификацией
Проблема:
Unable to obtain access tokenошибка-
Решение: Убедитесь, что вы вошли в систему с помощью Azure CLI, используя
az account get-access-token
-
Решение: Убедитесь, что вы вошли в систему с помощью Azure CLI, используя
Задача:
Access deniedDataverse- Решение: Убедитесь, что у вошедшего в систему пользователя есть соответствующие разрешения в Dataverse среде
Проблема: Истечение срока действия токена во время длительных тестовых запусков
- Решение: Используйте субъект-службу с более длительным сроком действия токена или выполняйте повторную аутентификацию на этапах тестирования.
Связанные статьи
Архитектура безопасности аутентификации
Тестовые приложения Canvas
Тестирование приложений на основе моделей
Тестовые Dataverse расширения