Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Нотатка
Підготовчі функції призначені для невиробничого використання і можуть бути обмежені. Ці функції доступні до офіційного випуску, щоб клієнти могли ознайомитися з ними заздалегідь і залишити відгуки.
Цей посібник містить покрокові інструкції з налаштування автентифікації в Test Engine. Щоб отримати швидкий огляд параметрів автентифікації, перегляньте статтю Автентифікація в 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
Нотатка
Параметр запуску--user-auth тесту pac не використовується в цьому прикладі, оскільки провайдером за замовчуванням є StorageState. За бажанням ви можете включити його.
Крок 2: Завершіть інтерактивний вхід
Введіть облікові дані тестового облікового запису користувача
- Вікно браузера відкривається автоматично
- Увійдіть за допомогою свого тестового облікового запису користувача
- Якщо з’явиться відповідний запит, підтвердьте багатофакторну автентифікацію та запити на отримання згоди
- Виберіть «Залишатися в системі», коли з’явиться запит
Тепер вашу автентифікацію збережено.
- 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параметр зі значенням ofDataverse.Завершіть інтерактивний вхід, коли з’явиться відповідний запит.
Налаштування принципалів служб (для CI/CD)
Для автоматизованого тестування в пайплайнах CI/CD ви можете використовувати службові принципи замість інтерактивних облікових записів користувачів.
Крок 1: Створення заявки на реєстрацію в Microsoft Entra ID
Виконайте наступні кроки, щоб створити заявку на реєстрацію в Microsoft Entra ID.
- Увійдіть в Центр Microsoft Entra адміністрування
- Перейдіть до розділу Додатки>Реєстрація додатків
- Виберіть Нова реєстрація
- Введіть назву (наприклад, "Test Engine Automation")
- Збережіть параметри за замовчуванням і виберіть Зареєструватися
- Після створення зверніть увагу на ідентифікатор програми (клієнта) та ідентифікатор довідника (клієнта)
Крок 2: Налаштуйте дозволи API для Dataverse
Виконайте наведені нижче дії, щоб налаштувати дозволи API для Dataverse.
- Під час реєстрації заявки перейдіть до розділу Дозволи API
- Виберіть Додати дозвіл
- Вибір API, які використовує моя організація
- Знайдіть і виберіть Dataverse
- Виберіть Делеговані дозволи
- Перевірте user_impersonation
- Виберіть Додати дозволи
- Виберіть Надати згоду адміністратора
Крок 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.
Поширені проблеми зі станом сховища
Проблема: запит на автентифікацію з’являється під час кожного запуску.
- Рішення: Перевірте, чи ви вибрали Залишатися в системі під час входу.
Проблема:
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 deniedдо Dataverse- Рішення: переконайтеся, що ваш користувач, який увійшов у систему, має відповідні дозволи в Dataverse середовищі
Проблема: закінчення терміну дії токена під час тривалих тестових запусків
- Рішення: використовуйте реєстраційний представник служби з довшим терміном дії токена або обробляйте повторну автентифікацію на етапах тестування
Пов’язані статті
Архітектура безпеки аутентифікації
Застосування на тестовому полотні
Тестування додатків на основі моделей
Тестові Dataverse розширення