Bagikan melalui


Panduan autentikasi untuk Power Apps Test Engine (pratinjau)

Catatan

Fitur pratinjau tidak dibuat untuk penggunaan produksi dan mungkin memiliki fungsionalitas yang dibatasi. Fitur ini tersedia sebelum rilis resmi agar pelanggan bisa memperoleh akses awal dan memberikan tanggapan.

Panduan ini memberikan petunjuk langkah demi langkah untuk menyiapkan autentikasi di Test Engine. Untuk gambaran singkat tentang opsi autentikasi, lihat Autentikasi di Test Engine.

Memulai autentikasi

Test Engine mendukung dua metode autentikasi untuk pengujian berbasis web untuk aplikasi kanvas dan berbasis model:

  • StorageState - Penyiapan default dan mudah untuk pengembangan individu (untuk kanvas berbasis web dan pengujian aplikasi berbasis model)
  • Dataverse - Pendekatan berbasis tim untuk berbagi pengguna pengujian dan CI/CD (untuk pengujian aplikasi berbasis web dan aplikasi berbasis model)

Autentikasi ditangani secara berbeda untuk penyedia PowerFx dan pengujian langsung Dataverse . Pengujian ini memperoleh token akses langsung dari sesi Azure CLI Anda yang masuk menggunakan az perintah untuk mendapatkan token akses sumber daya. Pastikan Anda masuk sebelum az login --allow-no-subscriptions menjalankan jenis pengujian ini.

Penyiapan cepat: Autentikasi StorageState

Autentikasi StorageState adalah cara paling sederhana untuk memulai. Ini menggunakan API Perlindungan Data Windows untuk menyimpan token autentikasi dengan aman di komputer lokal Anda.

Langkah 1: Jalankan pengujian dengan autentikasi default

Jalankan perintah PowerShell berikut mengganti parameter yang dimulai dengan your.

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

Catatan

Parameter pac test run--user-auth tidak digunakan dalam contoh ini karena penyedia defaultnya adalah StorageState. Anda dapat memasukkannya jika Anda mau.

Langkah 2: Selesaikan login interaktif

Masukkan kredensial akun pengguna pengujian Anda

  1. Jendela browser terbuka secara otomatis
  2. Masuk dengan akun pengguna pengujian Anda
  3. Jika diminta, setujui MFA dan permintaan persetujuan
  4. Pilih "Tetap masuk" saat diminta

Autentikasi Anda sekarang disimpan.

  • Test Engine menyimpan autentikasi Anda dengan aman
  • Uji coba mendatang menggunakan status tersimpan tanpa memerlukan login
  • Token diperbarui secara otomatis saat diperlukan

Penyiapan tim: Dataverse autentikasi

Dataverse autentikasi sangat cocok untuk tim dan alur CI/CD. Ini dengan aman menyimpan status Dataverse pengguna yang diautentikasi, dienkripsi dengan sertifikat X.509.

Langkah 1: Unduh dan impor solusi Test Engine

  1. Unduh Power Platform solusinya dari. https://aka.ms/TestEngineAuth
  2. Masuk ke Power Apps.
  3. Pilih lingkungan target Anda.
  4. Buka Solusi dan pilih Impor solusi .
  5. Ikuti wizard untuk mengunggah dan menginstal solusi Test Engine.

Langkah 2: Buat sertifikat untuk enkripsi

Untuk sertifikat yang ditandatangani sendiri (khusus pengembangan), 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 produksi, gunakan sertifikat dari otoritas sertifikat perusahaan Anda.

Langkah 3: Siapkan pengguna pengujian Anda

Selesaikan langkah-langkah berikut untuk menyiapkan pengguna pengujian:

  1. Buka terminal Anda dan keluar dari sesi yang ada:

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

    az login --allow-no-subscriptions
    
  3. Atur nama sertifikat Anda sebagai variabel lingkungan PowerShell bernama DataProtectionCertificateName:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Jalankan pengujian dengan Dataverse autentikasi:

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

    Catatan

    Tidak seperti StorageState, dalam hal ini Anda harus menggunakan --user-auth parameter dengan nilai dari. Dataverse

  5. Selesaikan masuk interaktif saat diminta.

Menyiapkan perwakilan layanan (untuk CI/CD)

Untuk pengujian otomatis di alur CI/CD, Anda dapat menggunakan perwakilan layanan alih-alih akun pengguna interaktif.

Langkah 1: Buat pendaftaran aplikasi di Microsoft Entra ID

Selesaikan langkah-langkah berikut untuk membuat pendaftaran aplikasi di Microsoft Entra ID.

  1. Masuk ke Microsoft Entra Pusat Admin
  2. Navigasikan ke Pendaftaran aplikasi Aplikasi>
  3. Pilih Pendaftaran baru
  4. Masukkan nama (Misalnya "Otomatisasi Mesin Uji")
  5. Pertahankan opsi default dan pilih Daftar
  6. Setelah pembuatan, catat ID Aplikasi (klien) dan ID Direktori (penyewa)

Langkah 2: Konfigurasikan izin API untuk Dataverse

Selesaikan langkah-langkah berikut untuk mengonfigurasi izin API untuk Dataverse.

  1. Dalam pendaftaran aplikasi Anda, buka izin API
  2. Pilih Tambahkan izin
  3. Memilih API yang digunakan organisasi saya
  4. Cari dan pilih Dataverse
  5. Pilih Izin yang didelegasikan
  6. Periksa user_impersonation
  7. Pilih Tambahkan izin
  8. Pilih Berikan izin admin

Langkah 3: Buat rahasia klien

Selesaikan langkah-langkah berikut untuk membuat rahasia klien.

  1. Pergi ke Sertifikat & rahasia
  2. Pilih Rahasia klien baru
  3. Tambahkan deskripsi dan pilih kedaluwarsa
  4. Salin Nilai rahasia segera (Anda tidak dapat melihatnya lagi)

Langkah 4: Tambahkan pengguna aplikasi ke Dataverse

Selesaikan langkah-langkah berikut untuk menambahkan pengguna Dataverse aplikasi.

  1. Buka Power Platform Pusat Admin
  2. Pilih lingkungan Anda
  3. Buka Pengaturan>Pengguna + izin>Pengguna aplikasi
  4. Pilih+ Pengguna aplikasi baru
  5. Cari dan pilih aplikasi Anda
  6. Tetapkan unit bisnis dan peran keamanan yang sesuai (sertakan peran "Pengguna Mesin Uji")
  7. Simpan perubahan

Langkah 5: Konfigurasikan alur CI/CD Anda

Tambahkan variabel ini ke alur 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 aman di Grup Variabel dengan izin yang sesuai.

PowerFx dan otentikasi pengujian langsung Dataverse

Untuk pengujian penyedia PowerFx dan pengujian langsung Dataverse , autentikasi bekerja secara berbeda daripada pengujian berbasis web.

Cara kerja PowerFx/Dataverse autentikasi

  1. Test Engine menggunakan Azure CLI untuk mendapatkan token akses khusus sumber daya
  2. Token digunakan untuk mengautentikasi langsung dengan Dataverse API
  3. Tidak ada browser atau autentikasi berbasis web yang terlibat

Menyiapkan PowerFx/Dataverse otentikasi

  1. Pastikan Azure CLI diinstal dan diperbarui:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. 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 pengujian Anda dengan penyedia 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"
    

Memecahkan masalah otentikasi

Bagian ini berisi informasi tentang pemecahan masalah autentikasi dengan Test Engine.

Masalah umum dengan StorageState

  • Masalah: Prompt autentikasi muncul di setiap eksekusi.

    • Solusi: Periksa apakah Anda memilih Tetap masuk saat login.
  • Masalah: Cannot access secure storage kesalahan.

    • Solusi: Pastikan Anda memiliki akses yang sesuai ke folder profil pengguna Anda.

Masalah umum dengan Dataverse autentikasi

  • Masalah: Certificate not found kesalahan.

    • Solusi: Verifikasi bahwa nama sertifikat sama persis dengan apa yang ada di penyimpanan sertifikat Anda.
  • Masalah: Unable to connect to Dataverse kesalahan.

    • Solusi: Periksa apakah Azure CLI masuk dengan az login --allow-no-subscriptions.
  • Masalah: Access denied kesalahan dengan perwakilan layanan.

    • Solusi: Verifikasi aplikasi memiliki izin yang benar dan Dataverse peran keamanan yang sesuai.

Masalah umum dengan PowerFx/Dataverse autentikasi

  • Masalah: Unable to obtain access token kesalahan

    • Solusi: Verifikasi bahwa Anda masuk dengan Azure CLI menggunakan az account get-access-token
  • Masalah: Access denied untuk Dataverse

    • Solusi: Pastikan pengguna yang login memiliki izin yang sesuai di Dataverse lingkungan
  • Masalah: Kedaluwarsa token selama pengujian yang lama

    • Solusi: Gunakan perwakilan layanan dengan kedaluwarsa token yang lebih lama atau tangani autentikasi ulang dalam langkah-langkah pengujian

Arsitektur keamanan autentikasi
Uji aplikasi kanvas
Uji aplikasi berbasis model
Ekstensi pengujian Dataverse