Kongsi melalui


Panduan pengesahan untuk Power Apps Enjin Ujian (pratonton)

Nota

Ciri pratonton bukan untuk kegunaan pengeluaran dan kefungsian mungkin terbatas. Ciri ini tersedia sebelum keluaran rasmi agar pelanggan boleh mendapat akses awal dan memberikan maklum balas.

Panduan ini menyediakan arahan langkah demi langkah untuk menyediakan pengesahan dalam Test Engine. Untuk gambaran keseluruhan ringkas tentang pilihan pengesahan, lihat Pengesahan dalam Enjin Ujian.

Bermula dengan pengesahan

Test Engine menyokong dua kaedah pengesahan untuk ujian berasaskan web untuk aplikasi kanvas dan dipacu model:

  • StorageState - Persediaan lalai dan mudah untuk pembangunan individu (untuk kanvas berasaskan web dan ujian apl dipacu model)
  • Dataverse - Pendekatan berasaskan pasukan untuk berkongsi pengguna ujian dan CI/CD (untuk kanvas berasaskan web dan ujian aplikasi dipacu model)

Pengesahan dikendalikan secara berbeza untuk pembekal PowerFx dan ujian langsung Dataverse . Ujian ini memperoleh token capaian terus daripada sesi Azure CLI anda yang dilog masuk menggunakan az arahan untuk mendapatkan token capaian sumber. Pastikan anda log masuk sebelum az login --allow-no-subscriptions menjalankan jenis ujian ini.

Persediaan pantas: Pengesahan StorageState

Pengesahan StorageState ialah cara paling mudah untuk bermula. Ia menggunakan API Perlindungan Data Windows untuk menyimpan token pengesahan dengan selamat pada mesin tempatan anda.

Langkah 1: Jalankan ujian anda dengan pengesahan lalai

Jalankan arahan PowerShell berikut menggantikan parameter bermula dengan your.

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

Nota

Parameter larian--user-auth ujian pac tidak digunakan dalam contoh ini kerana pembekal lalai adalah StorageState. Anda boleh memasukkannya jika anda mahu.

Langkah 2: Lengkapkan log masuk interaktif

Masukkan kelayakan akaun pengguna ujian anda

  1. Tetingkap penyemak imbas dibuka secara automatik
  2. Log masuk dengan akaun pengguna ujian anda
  3. Jika digesa, luluskan gesaan MFA dan persetujuan
  4. Pilih "Kekal log masuk" apabila digesa

Pengesahan anda kini disimpan.

  • Test Engine menyimpan pengesahan anda dengan selamat
  • Ujian yang dijalankan pada masa hadapan menggunakan keadaan yang disimpan tanpa memerlukan log masuk
  • Token dimuat semula secara automatik apabila diperlukan

Persediaan pasukan: Dataverse pengesahan

Dataverse pengesahan sesuai untuk pasukan dan saluran paip CI/CD. Ia menyimpan keadaan pengguna yang disahkan dengan Dataverse selamat, disulitkan dengan sijil X.509.

Langkah 1: Muat turun dan import penyelesaian Enjin Ujian

  1. Muat turun Power Platform penyelesaian daripada. https://aka.ms/TestEngineAuth
  2. Daftar masuk ke Power Apps.
  3. Pilih persekitaran sasaran anda.
  4. Pergi ke Penyelesaian dan pilih Import penyelesaian .
  5. Ikuti wizard untuk memuat naik dan memasang penyelesaian Test Engine.

Langkah 2: Buat sijil untuk penyulitan

Untuk sijil yang ditandatangani sendiri (pembangunan sahaja), jalankan skrip PowerShell berikut ini:

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

Untuk pengeluaran, gunakan sijil daripada pihak berkuasa sijil perusahaan anda.

Langkah 3: Sediakan pengguna ujian anda

Lengkapkan langkah berikut untuk menyediakan pengguna ujian anda:

  1. Buka terminal anda dan log keluar daripada mana-mana sesi sedia ada:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Log masuk dengan Azure CLI (diperlukan untuk Dataverse pengesahan):

    az login --allow-no-subscriptions
    
  3. Tetapkan nama sijil anda sebagai pembolehubah persekitaran PowerShell bernama DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Jalankan ujian anda dengan Dataverse pengesahan:

    pac test run `
       --provider canvas `
       --user-auth Dataverse `
       --auth Certstore `
       --test-plan-file testplan.yaml `
       --tenant your-tenant-id `
       --environment-id your-environment-id
    

    Nota

    Tidak seperti StorageState, dalam kes ini anda mesti menggunakan --user-auth parameter dengan nilai daripada. Dataverse

  5. Lengkapkan log masuk interaktif apabila digesa.

Menyediakan prinsipal perkhidmatan (untuk CI/CD)

Untuk ujian automatik dalam saluran paip CI/CD, anda boleh menggunakan prinsipal perkhidmatan dan bukannya akaun pengguna interaktif.

Langkah 1: Buat pendaftaran permohonan dalam Microsoft Entra ID

Lengkapkan langkah-langkah berikut untuk membuat pendaftaran permohonan dalam Microsoft Entra ID.

  1. Log masuk ke Pusat Pentadbiran Microsoft Entra
  2. Navigasi ke Pendaftaran Apl Aplikasi>
  3. Pilih Pendaftaran baharu
  4. Masukkan nama (Contohnya "Automasi Enjin Ujian")
  5. Kekalkan pilihan lalai dan pilih Daftar
  6. Selepas penciptaan , perhatikan ID Aplikasi (pelanggan) dan ID Direktori (penyewa)

Langkah 2: Konfigurasikan kebenaran API untuk Dataverse

Lengkapkan langkah berikut untuk mengkonfigurasi keizinan API untuk Dataverse.

  1. Dalam pendaftaran aplikasi anda, pergi ke kebenaran API
  2. Pilih Tambah keizinan
  3. Pilih API yang digunakan oleh organisasi saya
  4. Cari dan pilih Dataverse
  5. Pilih Keizinan yang diwakilkan
  6. Semak user_impersonation
  7. Pilih Tambah kebenaran
  8. Pilih Berikan persetujuan pentadbir

Langkah 3: Buat rahsia pelanggan

Lengkapkan langkah berikut untuk mencipta rahsia klien.

  1. Pergi ke Sijil & rahsia
  2. Pilih Rahsia pelanggan baharu
  3. Tambah perihalan dan pilih tamat tempoh
  4. Salin Nilai rahsia dengan segera (anda tidak dapat melihatnya lagi)

Langkah 4: Tambah pengguna aplikasi kepada Dataverse

Lengkapkan langkah berikut untuk menambah pengguna Dataverse aplikasi.

  1. Buka Pusat Pentadbiran Power Platform
  2. Pilih persekitaran anda
  3. Pergi ke Tetapan>Pengguna + kebenaran>Pengguna aplikasi
  4. Pilih+ Pengguna apl baharu
  5. Cari dan pilih permohonan anda
  6. Tugaskan unit perniagaan dan peranan keselamatan yang sesuai (termasuk peranan "Pengguna Enjin Ujian")
  7. Simpan perubahan

Langkah 5: Konfigurasikan saluran paip CI/CD anda

Tambahkan pembolehubah ini pada saluran paip anda:

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)

Untuk Azure DevOps, simpan ini dengan selamat dalam Kumpulan Pembolehubah dengan kebenaran yang sesuai.

PowerFx dan pengesahan ujian langsung Dataverse

Untuk ujian pembekal PowerFx dan ujian langsung Dataverse , pengesahan berfungsi secara berbeza daripada ujian berasaskan web.

Bagaimana PowerFx/Dataverse pengesahan berfungsi

  1. Test Engine menggunakan Azure CLI untuk mendapatkan token capaian khusus sumber
  2. Token digunakan untuk mengesahkan secara langsung dengan Dataverse API
  3. Tiada pengesahan penyemak imbas atau berasaskan web terlibat

Menyediakan PowerFx/Dataverse pengesahan

  1. Pastikan Azure CLI dipasang dan dikemas kini:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Log masuk dengan Azure CLI:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Jalankan ujian anda dengan pembekal 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"
    

Menyelesaikan masalah pengesahan

Bahagian ini mengandungi maklumat tentang penyelesaian masalah pengesahan dengan Test Engine.

Isu biasa dengan StorageState

  • Masalah: Gesaan pengesahan muncul pada setiap larian.

    • Penyelesaian: Semak sama ada anda memilih Kekal log masuk semasa log masuk.
  • Masalah: Cannot access secure storage ralat.

    • penyelesaian: Pastikan anda mempunyai akses yang sesuai kepada folder profil pengguna anda.

Isu biasa dengan Dataverse pengesahan

  • Masalah: Certificate not found ralat.

    • Penyelesaian: Sahkan bahawa nama sijil sepadan dengan apa yang ada dalam stor sijil anda.
  • Masalah: Unable to connect to Dataverse ralat.

    • penyelesaian: Semak sama ada Azure CLI dilog masuk dengan. az login --allow-no-subscriptions
  • Masalah: Access denied ralat dengan prinsipal perkhidmatan.

    • Penyelesaian: Sahkan apl mempunyai keizinan yang betul dan Dataverse peranan keselamatan yang sesuai.

Isu biasa dengan PowerFx/Dataverse pengesahan

  • Masalah: Unable to obtain access token ralat

    • Penyelesaian: Sahkan anda log masuk dengan Azure CLI menggunakan az account get-access-token
  • Masalah: Access denied kepada Dataverse

    • penyelesaian: Pastikan pengguna log masuk anda mempunyai keizinan yang sesuai dalam Dataverse persekitaran
  • Masalah: Tamat tempoh token semasa ujian yang panjang

    • penyelesaian: Gunakan prinsipal perkhidmatan dengan tamat tempoh token yang lebih lama atau kendalikan pengesahan semula dalam langkah ujian

Seni bina keselamatan pengesahan
Aplikasi kanvas ujian
Ujian aplikasi dipacu model
Sambungan ujian Dataverse