Споделяне чрез


Ръководство за удостоверяване за Power Apps тестова машина (предварителен преглед)

Бележка

Функциите за предварителен преглед не са предназначени за производствена употреба и може да са с ограничена функционалност. Тези функции са достъпни преди официалното издание, за да могат клиентите да получат ранен достъп и да дадат обратна връзка.

Това ръководство предоставя инструкции стъпка по стъпка за настройване на удостоверяване в тестовата машина. За бърз преглед на опциите за удостоверяване вижте Удостоверяване в тестовата машина.

Първи стъпки с удостоверяването

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: Завършете интерактивното влизане

Въведете идентификационните данни за тестовия си потребителски акаунт

  1. Прозорецът на браузъра се отваря автоматично
  2. Влезте с вашия тестов потребителски акаунт
  3. Ако бъдете подканени, одобрете MFA и подканите за съгласие
  4. Изберете "Останете влезли", когато бъдете подканени

Удостоверяването ви вече е запазено.

  • Test Engine сигурно съхранява вашето удостоверяване
  • Бъдещите тестови изпълнения използват записаното състояние, без да се изисква влизане
  • Токените се опресняват автоматично, когато е необходимо

Настройка на екипа: Dataverse удостоверяване

Dataverse удостоверяването е идеално за екипи и CI/CD тръбопроводи. Той сигурно съхранява удостоверени потребителски състояния Dataverse, криптирани с X.509 сертификати.

Стъпка 1: Изтеглете и импортирайте решението Test Engine

  1. Изтеглете Power Platform решението от https://aka.ms/TestEngineAuth.
  2. Влезте в Power Apps.
  3. Изберете целевата си среда.
  4. Отидете на Решения и изберете Импортиране на решение .
  5. Следвайте съветника, за да качите и инсталирате решението 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: Настройване на тестовия потребител

Изпълнете следните стъпки, за да настроите тестовия си потребител:

  1. Отворете терминала си и излезте от всички съществуващи сесии:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Влезте с Azure CLI (изисква се за Dataverse удостоверяване):

    az login --allow-no-subscriptions
    
  3. Задайте името на сертификата като променлива на средата на PowerShell DataProtectionCertificateName с име:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Изпълнете теста си с 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.

  5. Завършете интерактивното влизане, когато бъдете подканени.

Настройване на принципали на услугата (за CI/CD)

За автоматизирано тестване в CI/CD тръбопроводи можете да използвате принципали на услуги вместо интерактивни потребителски акаунти.

Стъпка 1: Създайте регистрация на заявление в Microsoft Entra ID

Изпълнете следните стъпки, за да създадете регистрация на заявление в Microsoft Entra ID.

  1. Влезте в Центъра за администриране Microsoft Entra
  2. Навигирайте до Приложения>Регистрации на приложения
  3. Изберете Нова регистрация
  4. Въведете име (например "Test Engine Automation")
  5. Запазете опциите по подразбиране и изберете Регистрация
  6. След създаването отбележете ИД на приложение (клиент) и ИД на директория (клиент)

Стъпка 2: Конфигуриране на разрешения за API за Dataverse

Изпълнете следните стъпки, за да конфигурирате разрешенията за API Dataverse.

  1. При регистрацията на приложението си отидете на разрешения за API
  2. Изберете Добавяне на разрешение
  3. Избор на API, които моята организация използва
  4. Потърсете и изберете Dataverse
  5. Изберете Делегирани разрешения
  6. Проверете user_impersonation
  7. Изберете Добавяне на разрешения
  8. Изберете Предоставяне на съгласие на администратор

Стъпка 3: Създайте клиентска тайна

Изпълнете следните стъпки, за да създадете клиентска тайна.

  1. Към Сертификати и тайни
  2. Изберете Нова тайна на клиента
  3. Добавете описание и изберете срок на валидност
  4. Копирайте тайната стойност незабавно (не можете да я видите отново)

Стъпка 4: Добавете потребителя на приложението към Dataverse

Изпълнете следните стъпки, за да добавите потребителя на приложението Dataverse.

  1. Отворете центъра за администриране Power Platform
  2. Изберете своята среда
  3. Отидете на Настройки>Потребители + разрешения>Потребители на приложения
  4. Изберете + Нов потребител на приложението
  5. Потърсете и изберете вашето приложение
  6. Присвояване на подходящи роли на бизнес единица и защита (включете роля "Потребител на тестова машина")
  7. Запишете промените

Стъпка 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 удостоверяването

  1. Test Engine използва Azure CLI, за да получи маркер за достъп, специфичен за ресурса
  2. Токенът се използва за удостоверяване директно с Dataverse API
  3. Не е включено удостоверяване на браузър или уеб-базирано удостоверяване

Настройване на PowerFx/Dataverse удостоверяване

  1. Уверете се, че Azure CLI е инсталиран и актуален:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Влезте с Azure CLI:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Изпълнете теста си с доставчика на 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"
    

Отстраняване на неизправности при удостоверяване

Този раздел съдържа информация за отстраняване на неизправности при удостоверяване с тестовата машина.

Често срещани проблеми със StorageState

  • Проблем: Подкана за удостоверяване се появява при всяко изпълнение.

    • Решение: Проверете дали сте избрали Остани влязъл по време на влизане.
  • Проблем: Cannot access secure storage грешка.

    • Решение: Уверете се, че имате подходящ достъп до папката на вашия потребителски профил.

Често срещани проблеми с Dataverse удостоверяването

  • Проблем: Certificate not found грешка.

    • Решение: Проверете дали името на сертификата съвпада точно с това, което има във вашия магазин за сертификати.
  • Проблем: Unable to connect to Dataverse грешка.

    • Решение: Проверете дали Azure CLI е влязъл. az login --allow-no-subscriptions
  • Проблем: Access denied грешка с принципала на услугата.

    • Решение: Проверете дали приложението има правилни Dataverse разрешения и подходящи права за достъп.

Често срещани проблеми с PowerFx/Dataverse удостоверяване

  • Проблем: Unable to obtain access token грешка

    • Решение: Уверете се, че сте влезли с Azure CLI, като използвате az account get-access-token
  • Задача: Access denied до Dataverse

    • Решение: Уверете се, че Dataverse вашият влезъл потребител има подходящи разрешения в средата
  • Проблем: Изтичане на токена по време на дълги тестови изпълнения

    • Решение: Използвайте принципал на услуга с по-дълго изтичане на маркера или обработете повторно удостоверяване в тестови стъпки

Архитектура за сигурност на удостоверяването
Тестови приложения за платно
Тествайте приложения, управлявани от модел
Тестови Dataverse разширения