Megosztás:


Hitelesítési útmutató a Power Apps tesztmotorhoz (előzetes verzió)

Feljegyzés

Az előzetes funkciókat nem célszerű termelési környezetben használni, és előfordulhat, hogy korlátozott funkcionalitással rendelkeznek. Ezek a funkciók a hivatalos kiadás előtt érhetők el, hogy az ügyfelek korán megismerkedhessenek velük, és visszajelzést adhassanak róluk.

Ez az útmutató lépésről lépésre ismerteti a hitelesítés beállítását a Test Engine-ben. A hitelesítési lehetőségek gyors áttekintését lásd: Hitelesítés a tesztmotorban.

A hitelesítés első lépései

A Test Engine két hitelesítési módszert támogat a vászonalapú és modellvezérelt alkalmazások webalapú tesztjeihez:

  • StorageState – Alapértelmezett, egyszerű beállítás egyéni fejlesztéshez (webalapú vászon- és modellvezérelt alkalmazástesztekhez)
  • Dataverse - Csapatalapú megközelítés a tesztfelhasználók és a CI/CD megosztásához (webalapú vászon- és modellvezérelt alkalmazástesztekhez)

A hitelesítés kezelése a PowerFx-szolgáltató és a közvetlen Dataverse tesztek esetében eltérő. Ezek a tesztek közvetlenül a bejelentkezett Azure CLI-munkamenetből szerezzék be a hozzáférési jogkivonatokat az erőforrás-hozzáférési jogkivonatok lekéréséhez szükséges parancsok használatával az . Az ilyen típusú tesztek futtatása előtt győződjön meg arról, hogy be van jelentkezve az login --allow-no-subscriptions .

Gyors telepítés: StorageState hitelesítés

A StorageState hitelesítés a legegyszerűbb módja az első lépéseknek. A Windows Data Protection API-val biztonságosan tárolja a hitelesítési jogkivonatokat a helyi gépen.

1. lépés: A teszt futtatása alapértelmezett hitelesítéssel

Futtassa a következő PowerShell-parancsot, amely lecseréli a következővel your kezdődő paramétereket:

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

Feljegyzés

Ebben a példában a pac tesztfuttatási--user-auth paraméter nem használatos, mert az alapértelmezett szolgáltató igen StorageState. Ha szeretné, beillesztheti.

2. lépés: Az interaktív bejelentkezés befejezése

Adja meg a tesztfelhasználói fiók hitelesítő adatait

  1. A böngészőablak automatikusan megnyílik
  2. Jelentkezzen be tesztfelhasználói fiókjával
  3. Ha a rendszer kéri, hagyja jóvá az MFA-t és a hozzájárulási kéréseket
  4. Válassza a "Bejelentkezve marad" lehetőséget, amikor a rendszer kéri

A hitelesítés mentésre került.

  • A Test Engine biztonságosan tárolja a hitelesítést
  • A jövőbeli tesztfuttatások a mentett állapotot használják bejelentkezés nélkül
  • A jogkivonatok szükség esetén automatikusan frissülnek

Csapatbeállítás: Dataverse hitelesítés

Dataverse A hitelesítés tökéletes csapatok és CI/CD-folyamatok számára. Biztonságosan tárolja a hitelesített felhasználói állapotokat Dataverse, X.509 tanúsítványokkal titkosítva.

1. lépés: A Test Engine megoldás letöltése és importálása

  1. Töltse le a Power Platform megoldást innen https://aka.ms/TestEngineAuth.
  2. Jelentkezzen be a Power Apps rendszerbe.
  3. Válassza ki a célkörnyezetet.
  4. Lépjen a Megoldások elemre, és válassza a Megoldás importálása lehetőséget .
  5. A varázslót követve töltse fel és telepítse a Test Engine megoldást.

2. lépés: Tanúsítvány létrehozása titkosításhoz

Önaláírt tanúsítvány esetén (csak fejlesztés esetén) futtassa ezt a következő PowerShell-szkriptet:

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

Éles környezetben használja a vállalati hitelesítésszolgáltató tanúsítványát.

3. lépés: A tesztfelhasználó beállítása

A tesztfelhasználó beállításához hajtsa végre az alábbi lépéseket:

  1. Nyissa meg a terminált, és jelentkezzen ki a meglévő munkamenetekből:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Jelentkezzen be az Azure CLI-vel (a hitelesítéshez Dataverse szükséges):

    az login --allow-no-subscriptions
    
  3. Állítsa be a tanúsítvány nevét egy PowerShell-környezeti változóként DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Futtassa a tesztet hitelesítéssel 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
    

    Feljegyzés

    A StorageState értéktől eltérőenebben az esetben a --user-auth paramétert a következővel Dataverse kell használnia: .

  5. Végezze el az interaktív bejelentkezést, amikor a rendszer kéri.

Szolgáltatásnevek beállítása (CI/CD esetén)

A CI/CD-folyamatok automatizált teszteléséhez interaktív felhasználói fiókok helyett szolgáltatásneveket használhat.

1. lépés: Alkalmazásregisztráció létrehozása az azonosítóban Microsoft Entra

Az alábbi lépésekkel hozzon létre egy alkalmazásregisztrációt az azonosítóban Microsoft Entra .

  1. Bejelentkezés a felügyeleti központba Microsoft Entra
  2. Lépjen az Alkalmazások alkalmazásregisztrációk lapra>
  3. Válassza az Új regisztráció lehetőséget
  4. Adjon meg egy nevet (például "Tesztmotor automatizálása")
  5. Tartsa meg az alapértelmezett beállításokat, és válassza a Regisztráció lehetőséget
  6. A létrehozás után jegyezze fel az alkalmazás (ügyfél) azonosítóját és a címtár (bérlő) azonosítóját

2. lépés: API-engedélyek konfigurálása Dataverse

Az API-engedélyek konfigurálásához kövesse az alábbi lépéseket Dataverse.

  1. Az alkalmazásregisztrációban lépjen az API-engedélyek elemre
  2. Válassza az Engedély hozzáadása lehetőséget
  3. A szervezet által használt API-k kiválasztása
  4. Keresse meg és válassza ki Dataverse
  5. Válassza a Delegált engedélyek lehetőséget
  6. Ellenőrizze user_impersonation
  7. Válassza az Engedélyek hozzáadása lehetőséget
  8. Válassza a Rendszergazdai jóváhagyás megadása lehetőséget

3. lépés: Titkos ügyfélkód létrehozása

Titkos ügyfélkód létrehozásához kövesse az alábbi lépéseket.

  1. Ugrás a Tanúsítványok és titkos kulcsok elemre
  2. Válassza az Új titkos ügyfélkód lehetőséget
  3. Adjon hozzá egy leírást és válassza ki a lejáratot
  4. Azonnal másolja ki a titkos értéket (nem láthatja újra)

4. lépés: Az alkalmazás felhasználójának hozzáadása Dataverse

Az alkalmazás felhasználójának Dataverse hozzáadásához kövesse az alábbi lépéseket.

  1. A Felügyeleti központ megnyitása Power Platform
  2. Válassza ki a környezetét
  3. Lépjen a Beállítások Felhasználók + engedélyek>elemre>Alkalmazásfelhasználók
  4. Kiválasztás+ Új alkalmazásfelhasználó
  5. Keresse meg és válassza ki az alkalmazást
  6. Rendelje hozzá a megfelelő részleget és biztonsági szerepköröket (beleértve a "Tesztmotor felhasználója" szerepkört)
  7. Mentse el a módosításokat

5. lépés: A CI/CD-folyamat konfigurálása

Adja hozzá a következő változókat a folyamathoz:

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)

Mert Azure DevOps biztonságosan tárolja ezeket változócsoportokban a megfelelő engedélyekkel.

PowerFx és közvetlen Dataverse teszthitelesítés

A PowerFx-szolgáltatói tesztek és a közvetlen Dataverse tesztek esetében a hitelesítés másképp működik, mint a webalapú teszteknél.

A PowerFx/Dataverse hitelesítés működése

  1. A tesztmotor az Azure CLI-t használja egy erőforrás-specifikus hozzáférési jogkivonat beszerzéséhez
  2. A jogkivonat az API-kkal való közvetlen Dataverse hitelesítésre szolgál
  3. Nincs szükség böngészőre vagy webalapú hitelesítésre

A PowerFx/Dataverse hitelesítés beállítása

  1. Győződjön meg arról, hogy az Azure CLI telepítve van és naprakész:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Jelentkezzen be az Azure CLI-vel:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Futtassa a tesztet a PowerFx-szolgáltatóval:

    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"
    

Hitelesítés hibaelhárítása

Ez a szakasz a Test Engine hitelesítéssel kapcsolatos hibaelhárításról tartalmaz információkat.

A StorageState gyakori problémái

  • Probléma: A hitelesítési kérés minden futtatáskor megjelenik.

    • Megoldás: Ellenőrizze, hogy a bejelentkezés során a Bejelentkezve maradás lehetőséget választotta-e .
  • Probléma: Cannot access secure storage hiba.

    • Megoldás: Győződjön meg arról, hogy megfelelő hozzáféréssel rendelkezik a felhasználói profil mappájához.

A hitelesítéssel kapcsolatos Dataverse gyakori problémák

  • Probléma: Certificate not found hiba.

    • Megoldás: Ellenőrizze, hogy a tanúsítvány neve pontosan megegyezik-e a tanúsítványtárolóban található névvel.
  • Probléma: Unable to connect to Dataverse hiba.

    • Megoldás: Ellenőrizze, hogy az Azure CLI be van-e jelentkezve az login --allow-no-subscriptions.
  • Probléma: Access denied hiba a szolgáltatásnévvel.

    • Megoldás: Ellenőrizze, hogy az alkalmazás rendelkezik-e megfelelő engedélyekkel Dataverse és megfelelő biztonsági szerepkörökkel.

A PowerFx/Dataverse hitelesítéssel kapcsolatos gyakori problémák

  • probléma: Unable to obtain access token hiba

    • Megoldás: Ellenőrizze, hogy be van-e jelentkezve az Azure CLI-vel a használatával az account get-access-token
  • Probléma: Access denied nak Dataverse

    • Megoldás: Győződjön meg arról, hogy a bejelentkezett felhasználó rendelkezik a megfelelő engedélyekkel a Dataverse környezetben
  • Probléma: Jogkivonat lejárata hosszú tesztfuttatások során

    • Megoldás: Használjon hosszabb jogkivonat-lejáratú szolgáltatásnevet, vagy kezelje az újrahitelesítést a tesztelési lépésekben

Hitelesítési biztonsági architektúra
Vászonalkalmazások tesztelése
Modellvezérelt alkalmazások tesztelése
Bővítmények tesztelése Dataverse