Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
- Jendela browser terbuka secara otomatis
- Masuk dengan akun pengguna pengujian Anda
- Jika diminta, setujui MFA dan permintaan persetujuan
- 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
- Unduh Power Platform solusinya dari. https://aka.ms/TestEngineAuth
- Masuk ke Power Apps.
- Pilih lingkungan target Anda.
- Buka Solusi dan pilih Impor solusi .
- 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:
Buka terminal Anda dan keluar dari sesi yang ada:
# Clear Power Platform CLI credentials pac auth clear # Clear Azure CLI credentials az logoutMasuk dengan Azure CLI (diperlukan untuk Dataverse autentikasi):
az login --allow-no-subscriptionsAtur nama sertifikat Anda sebagai variabel lingkungan PowerShell bernama
DataProtectionCertificateName:$env:DataProtectionCertificateName = "CN=testengine"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-idCatatan
Tidak seperti StorageState, dalam hal ini Anda harus menggunakan
--user-authparameter dengan nilai dari.DataverseSelesaikan 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.
- Masuk ke Microsoft Entra Pusat Admin
- Navigasikan ke Pendaftaran aplikasi Aplikasi>
- Pilih Pendaftaran baru
- Masukkan nama (Misalnya "Otomatisasi Mesin Uji")
- Pertahankan opsi default dan pilih Daftar
- 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.
- Dalam pendaftaran aplikasi Anda, buka izin API
- Pilih Tambahkan izin
- Memilih API yang digunakan organisasi saya
- Cari dan pilih Dataverse
- Pilih Izin yang didelegasikan
- Periksa user_impersonation
- Pilih Tambahkan izin
- Pilih Berikan izin admin
Langkah 3: Buat rahasia klien
Selesaikan langkah-langkah berikut untuk membuat rahasia klien.
- Pergi ke Sertifikat & rahasia
- Pilih Rahasia klien baru
- Tambahkan deskripsi dan pilih kedaluwarsa
- 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.
- Buka Power Platform Pusat Admin
- Pilih lingkungan Anda
- Buka Pengaturan>Pengguna + izin>Pengguna aplikasi
- Pilih+ Pengguna aplikasi baru
- Cari dan pilih aplikasi Anda
- Tetapkan unit bisnis dan peran keamanan yang sesuai (sertakan peran "Pengguna Mesin Uji")
- 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
- Test Engine menggunakan Azure CLI untuk mendapatkan token akses khusus sumber daya
- Token digunakan untuk mengautentikasi langsung dengan Dataverse API
- Tidak ada browser atau autentikasi berbasis web yang terlibat
Menyiapkan PowerFx/Dataverse otentikasi
Pastikan Azure CLI diinstal dan diperbarui:
winget install -e --id Microsoft.AzureCLI # Or update it if already installed az upgradeMasuk dengan Azure CLI:
# The --allow-no-subscriptions flag is important as you may not have Azure subscriptions az login --allow-no-subscriptionsJalankan 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 storagekesalahan.- Solusi: Pastikan Anda memiliki akses yang sesuai ke folder profil pengguna Anda.
Masalah umum dengan Dataverse autentikasi
Masalah:
Certificate not foundkesalahan.- Solusi: Verifikasi bahwa nama sertifikat sama persis dengan apa yang ada di penyimpanan sertifikat Anda.
Masalah:
Unable to connect to Dataversekesalahan.-
Solusi: Periksa apakah Azure CLI masuk dengan
az login --allow-no-subscriptions.
-
Solusi: Periksa apakah Azure CLI masuk dengan
Masalah:
Access deniedkesalahan 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 tokenkesalahan-
Solusi: Verifikasi bahwa Anda masuk dengan Azure CLI menggunakan
az account get-access-token
-
Solusi: Verifikasi bahwa Anda masuk dengan Azure CLI menggunakan
Masalah:
Access denieduntuk 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
Artikel terkait
Arsitektur keamanan autentikasi
Uji aplikasi kanvas
Uji aplikasi berbasis model
Ekstensi pengujian Dataverse