Sdílet prostřednictvím


Průvodce ověřováním pro Power Apps Test Engine (náhled)

Poznámka:

Funkce Preview nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.

Tato příručka poskytuje podrobné pokyny pro nastavení ověřování v Test Engine. Stručný přehled možností ověřování naleznete v části Ověřování v testovacím enginu .

Začínáme s ověřováním

Testovací engine podporuje dvě metody ověřování pro webové testy pro aplikace řízené modelem a aplikace založené na canvasu:

  • StorageState – Výchozí, snadné nastavení pro individuální vývoj (pro webové plátno a testy modelem řízených aplikací)
  • Dataverse - Týmový přístup pro sdílení testovacích uživatelů a CI/CD (pro webové plátno a testy modelem řízených aplikací)

Ověřování se provádí odlišně pro testy poskytovatele PowerFx a pro přímé testy. Dataverse Tyto testy získávají přístupové tokeny přímo z vaší přihlášené relace Azure CLI pomocí příkazů az k získání tokenů přístupu k prostředkům. Před spuštěním těchto typů testů se ujistěte, že jste přihlášeni pomocí účtu az login --allow-no-subscriptions .

Rychlé nastavení: Ověřování StorageState

Ověřování StorageState je nejjednodušší způsob, jak začít. Používá rozhraní Windows Data Protection API k bezpečnému ukládání ověřovacích tokenů na vašem místním počítači.

Krok 1: Spusťte test s výchozím ověřováním

Spusťte následující příkaz PowerShellu a nahraďte parametry začínající znaky your.

pac test run `
   --provider canvas `
   --test-plan-file your-test-plan.yaml `
   --tenant your-tenant-id `
   --environment-id your-environment-id

Poznámka:

Parametr pac test run--user-auth se v tomto příkladu nepoužívá, protože výchozím poskytovatelem je StorageState. Můžete to zahrnout, pokud chcete.

Krok 2: Dokončete interaktivní přihlášení

Zadejte přihlašovací údaje k testovacímu uživatelskému účtu

  1. Automaticky se otevře okno prohlížeče
  2. Přihlaste se pomocí svého testovacího uživatelského účtu
  3. Pokud budete vyzváni, schválejte MFA a výzvy k souhlasu.
  4. Po zobrazení výzvy vyberte možnost „Zůstat přihlášen/a“.

Vaše ověření je nyní uloženo.

  • Test Engine bezpečně ukládá vaši autentizaci
  • Budoucí testovací běhy použijí uložený stav bez nutnosti přihlášení.
  • Tokeny se automaticky obnovují v případě potřeby

Nastavení týmu: Dataverse ověřování

Dataverse Autentifikace je ideální pro týmy a CI/CD kanály. Bezpečně ukládá ověřené stavy uživatelů v souboru Dataverse, šifrovaném certifikáty X.509.

Krok 1: Stažení a import řešení Test Engine

  1. Stáhněte si řešení z webu Power Platform . https://aka.ms/TestEngineAuth
  2. Přihlaste se ke službě Power Apps.
  3. Vyberte si cílové prostředí.
  4. Přejděte do sekce Řešení a vyberte možnost Importovat řešení.
  5. Postupujte podle pokynů průvodce a nahrajte a nainstalujte řešení Test Engine.

Krok 2: Vytvořte certifikát pro šifrování

Pro certifikát podepsaný svým držitelem (pouze pro vývojáře) spusťte následující skript PowerShellu:

$Params = @{
  DnsName = @("testengine", "testengine")
  CertStoreLocation = "Cert:\CurrentUser\My"
  NotAfter = (Get-Date).AddMonths(6)
  KeyAlgorithm = "RSA"
  KeyLength = 2048
}
New-SelfSignedCertificate @Params

Pro produkční prostředí použijte certifikát od vaší podnikové certifikační autority.

Krok 3: Nastavení testovacího uživatele

Pro nastavení testovacího uživatele proveďte následující kroky:

  1. Otevřete terminál a odhlaste se ze všech existujících relací:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Přihlaste se pomocí Azure CLI (vyžadováno pro ověřování): Dataverse

    az login --allow-no-subscriptions
    
  3. Nastavte název certifikátu jako proměnnou prostředí PowerShell s názvem a : DataProtectionCertificateName

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Spusťte test s ověřováním: 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
    

    Poznámka:

    Na rozdíl od parametru StorageState musíte v tomto případě použít parametr --user-auth s hodnotou Dataverse.

  5. Po zobrazení výzvy dokončete interaktivní přihlášení.

Nastavení instančních objektů služeb (pro CI/CD)

Pro automatizované testování v kanálech CI/CD můžete místo interaktivních uživatelských účtů použít instanční objekty služeb.

Krok 1: Vytvořte registraci aplikace v ID Microsoft Entra

Pro vytvoření registrace aplikace v ID postupujte podle následujících kroků. Microsoft Entra

  1. Přihlaste se do administračního centra Microsoft Entra
  2. Přejděte do sekce Aplikace>Registrace aplikací
  3. Vyberte Nová registrace
  4. Zadejte název (například „Automatizace testovacího enginu“)
  5. Ponechte výchozí možnosti a vyberte možnost Registrovat
  6. Po vytvoření si poznamenejte ID aplikace (klienta) a ID adresáře (nájemce).

Krok 2: Konfigurace oprávnění API pro Dataverse

Proveďte následující kroky pro konfiguraci oprávnění API pro Dataverse.

  1. V registraci aplikace přejděte do sekce **Oprávnění API**.
  2. Vyberte Přidat oprávnění
  3. Vyberte API, která moje organizace používá
  4. Vyhledat a vybrat Dataverse
  5. Vyberte Delegovaná oprávnění
  6. Zkontrolujte user_impersonation
  7. Vyberte možnost Přidat oprávnění
  8. Vyberte možnost Udělit souhlas správce

Krok 3: Vytvořte tajný klíč klienta

Chcete-li vytvořit tajný klíč klienta, proveďte následující kroky.

  1. Přejděte na Certifikáty a tajné kódy
  2. Vyberte Nový tajný kód klienta
  3. Přidejte popis a vyberte dobu platnosti
  4. Tajnou hodnotu Value zkopírujte ihned (už ji nebudete moci znovu vidět)

Krok 4: Přidání uživatele aplikace do Dataverse

Pro přidání uživatele aplikace do Dataverse proveďte následující kroky.

  1. Otevřete Power Platform Centrum pro správu
  2. Vyberte prostředí
  3. Přejděte do Nastavení>Uživatelé a oprávnění>Uživatelé aplikace
  4. Vyberte + Nový uživatel aplikace
  5. Vyhledejte a vyberte svou aplikaci
  6. Přiřaďte příslušné obchodní jednotky a bezpečnostní role (včetně role „Uživatel testovacího enginu“)
  7. Uložení změn

Krok 5: Konfigurace kanálu CI/CD

Přidejte do svého kanálu tyto proměnné:

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)

Pro Azure DevOps je bezpečně uložte do skupin proměnných s příslušnými oprávněními.

PowerFx a přímé testování ověřování Dataverse

U testů poskytovatelů PowerFx a přímých testů funguje ověřování jinak než u webových testů. Dataverse

Jak funguje ověřování PowerFx/Dataverse

  1. Testovací engine používá rozhraní Azure CLI k získání přístupového tokenu specifického pro daný prostředek.
  2. Token se používá k přímému ověřování pomocí API Dataverse
  3. Není nutné žádné ověřování v prohlížeči ani na webu.

Nastavení ověřování PowerFx/Dataverse

  1. Ujistěte se, že je rozhraní Azure CLI nainstalované a aktuální:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Přihlaste se pomocí příkazového řádku Azure:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Spusťte test s poskytovatelem 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"
    

Řešení problémů s ověřováním

Tato část obsahuje informace o řešení problémů s ověřováním pomocí testovacího enginu.

Běžné problémy se StorageState

  • Problém: Výzva k ověření se zobrazuje při každém spuštění.

    • Řešení: Zkontrolujte, zda jste během přihlašování vybrali možnost Zůstat přihlášen .
  • Problém: Cannot access secure storage chyba.

    • Řešení: Ujistěte se, že máte odpovídající přístup ke složce uživatelského profilu.

Běžné problémy s ověřováním Dataverse

  • Problém: Certificate not found chyba.

    • Řešení: Ověřte, zda název certifikátu přesně odpovídá názvu ve vašem úložišti certifikátů.
  • Problém: Unable to connect to Dataverse chyba.

    • Řešení: Zkontrolujte, zda je rozhraní Azure CLI přihlášeno pomocí az login --allow-no-subscriptions.
  • Problém: Access denied chyba s instančním objektem služby.

    • Řešení: Ověřte, zda má aplikace správná oprávnění v Dataverse a příslušné bezpečnostní role.

Běžné problémy s ověřováním PowerFx/Dataverse

  • Problém: Unable to obtain access token Chyba

    • Řešení: Ověřte, zda jste přihlášeni pomocí rozhraní Azure CLI. az account get-access-token
  • Problém: Access denied k Dataverse

    • Řešení: Ujistěte se, že váš přihlášený uživatel má v daném prostředí příslušná oprávnění. Dataverse
  • Problém: Vypršení platnosti tokenu během dlouhých testovacích běhů

    • Řešení: Použijte instanční objekt služby s delší platností tokenu nebo zpracujte opětovné ověřování v testovacích krocích.

Architektura zabezpečení ověřování
Testovací aplikace plátna
Testování aplikací řízených modelem
Testovací rozšíření Dataverse