Power Apps Test Altyapısı için kimlik doğrulama kılavuzu (kullanım dışı)

Note

Test Altyapısı kullanım dışıdır ve gelecek bir sürümde kaldırılacaktır. Power Platform ve Dynamics 365 hizmetlerindeki test otomasyonu özellikleri için Power Platform Playwright örneklerini kullanın.

Bu kılavuz, Test Altyapısı'nda kimlik doğrulamasını ayarlamak için adım adım yönergeler sağlar. Kimlik doğrulama seçeneklerine hızlı bir genel bakış için, bkz: Test Motorunda Kimlik Doğrulama.

Kimlik doğrulamasını kullanmaya başlama

Test Altyapısı, tuval ve model yönetimli uygulamalar için web tabanlı testler için iki kimlik doğrulama yöntemini destekler:

  • StorageState - Varsayılan, bireysel geliştirme için kolay kurulum (web tabanlı tuval ve model yönetimli uygulama testleri için)
  • Dataverse - Test kullanıcılarını ve CI/CD'yi paylaşmak için ekip tabanlı yaklaşım (web tabanlı tuval ve model yönetimli uygulama testleri için)

Kimlik doğrulaması, PowerFx sağlayıcısı ve doğrudan Dataverse testler için farklı şekilde ele alınır. Bu testler, kaynak erişim belirteçlerini almak için az komutlarını kullanarak doğrudan oturum açmış Azure CLI oturumunuzdan erişim belirteçleri alır. Bu tür testleri çalıştırmadan önce az login --allow-no-subscriptions ile oturum açtığınızdan emin olun.

Hızlı kurulum: StorageState kimlik doğrulaması

StorageState kimlik doğrulaması, kullanmaya başlamanın en basit yoludur. Kimlik doğrulama belirteçlerini yerel makinenizde güvenli bir şekilde depolamak için Windows Veri Koruma API'sini kullanır.

1. Adım: Testinizi varsayılan kimlik doğrulamasıyla çalıştırın

ile your başlayan parametreleri değiştirerek aşağıdaki PowerShell komutunu çalıştırın.

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

Note

pac test run--user-auth parametresi bu örnekte kullanılmamıştır çünkü varsayılan sağlayıcı vardır StorageState. Dilerseniz dahil edebilirsiniz.

2. Adım: Etkileşimli oturum açma işlemini tamamlayın

Test kullanıcı hesabı kimlik bilgilerinizi girin

  1. Otomatik olarak bir tarayıcı penceresi açılır
  2. Test kullanıcı hesabınızla oturum açın
  3. İstenirse, MFA'yı ve onay istemlerini onaylayın
  4. İstendiğinde "Oturum açık kalsın"ı seçin

Kimlik doğrulamanız artık kaydedilmiştir.

  • Test Engine, kimlik doğrulamanızı güvenli bir şekilde saklar
  • Gelecekteki test çalıştırmaları, oturum açmaya gerek kalmadan kaydedilmiş durumu kullanır
  • İhtiyaç duyulduğunda belirteçler otomatik olarak yenilenir

Takım kurulumu: Dataverse kimlik doğrulama

Dataverse kimlik doğrulaması, ekipler ve CI/CD işlem hatları için mükemmeldir. Kimliği doğrulanmış kullanıcı durumlarını, X.509 sertifikalarıyla şifrelenerek güvenli bir şekilde Dataverse'te depolar.

1. Adım: Test Altyapısı çözümünü indirin ve içeri aktarın

  1. Çözümü Power Platform'dan https://aka.ms/TestEngineAuth indirin.
  2. Power Apps'e giriş yapın.
  3. Hedef ortamınızı seçin.
  4. Çözümler'e gidin ve Çözümü içeri aktar'ı seçin.
  5. Test Altyapısı çözümünü yüklemek ve kurulumunu yapmak için sihirbazı takip edin.

2. Adım: Şifreleme için bir sertifika oluşturun

Otomatik olarak imzalanan bir sertifika (yalnızca geliştirme) için aşağıdaki PowerShell betiğini çalıştırın:

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

Üretim için, kuruluş sertifika yetkilinizden bir sertifika kullanın.

3. Adım: Test kullanıcınızı ayarlayın

Test kullanıcınızı ayarlamak için aşağıdaki adımları tamamlayın:

  1. Terminalinizi açın ve mevcut oturumları kapatın:

    # Clear Power Platform CLI credentials
    pac auth clear
    
    # Clear Azure CLI credentials
    az logout
    
  2. Azure CLI ile oturum açın (Dataverse kimlik doğrulaması için gereklidir):

    az login --allow-no-subscriptions
    
  3. Sertifika adınızı şu şekilde bir PowerShell ortam değişkeni olarak DataProtectionCertificateNameayarlayın:

    $env:DataProtectionCertificateName = "CN=testengine"
    
  4. Dataverse kimlik doğrulaması ile testinizi çalıştırın.

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

    Note

    StorageState'ten farklı olarak, bu durumda --user-auth parametresini Dataverse değeriyle kullanmanız gerekir.

  5. İstendiğinde etkileşimli oturum açma işlemini tamamlayın.

Hizmet sorumlularını ayarlama (CI/CD için)

CI/CD işlem hatlarında otomatik test için etkileşimli kullanıcı hesapları yerine hizmet sorumlularını kullanabilirsiniz.

1. Adım: Microsoft Entra ID'de uygulama kaydı oluşturma

Microsoft Entra ID'de bir uygulama kaydı oluşturmak için aşağıdaki adımları tamamlayın.

  1. Microsoft Entra yönetim merkezinde oturum açın
  2. Uygulamalar Uygulama kayıtları'na>gidin
  3. Yeni kayıt'ı seçin
  4. Bir ad girin (Örneğin, "Test Motoru Otomasyonu")
  5. Varsayılan seçenekleri koruyun ve Kaydol'u seçin
  6. Oluşturulduktan sonra Uygulama (istemci) Kimliği ve Dizin (kiracı) Kimliği'ni not edin

2. Adım: Şunun için API izinlerini yapılandırın: Dataverse

Dataverse için API izinlerini yapılandırmak üzere aşağıdaki adımları tamamlayın.

  1. Uygulama kaydınızda API izinleri'ne gidin
  2. İzin ekle'yi seçin
  3. Kuruluşumun kullandığı API'leri seçme
  4. Arayın ve seçin Dataverse
  5. Temsilci izinlerini seçin
  6. Kullanıcı taklitini kontrol edin user_impersonation
  7. İzin ekle'yi seçin
  8. Yönetici onayı ver'i seçin

3. Adım: İstemci gizli anahtarı oluşturma

Öncelikle, istemci gizli anahtarı oluşturmak için belirtilen adımları sırasıyla takip edin.

  1. Sertifikalar ve Gizli Bilgiler'e gidin
  2. Yeni istemci parolası'nı seçin
  3. Bir açıklama ekleyin ve bir son kullanma tarihi seçin
  4. Gizli Değeri hemen kopyalayın (bir daha göremezsiniz)

4. Adım: Uygulama kullanıcısını şuraya ekleyin: Dataverse

Uygulama kullanıcısını Dataverse'e eklemek için aşağıdaki adımları tamamlayın.

  1. Yönetim Merkezi'ni Power Platform açın
  2. Ortamınızı eçin
  3. Ayarlar>Kullanıcılar + izinler>Uygulama kullanıcıları'na gidin
  4. + Yeni uygulama kullanıcısı'nı seçin
  5. Uygulamanızı arayın ve seçin
  6. Uygun departman ve güvenlik rolleri atayın ("Test Altyapısı Kullanıcısı" rolünü dahil edin)
  7. Değişiklikleri kaydedin

5. Adım: CI/CD işlem hattınızı yapılandırma

Bu değişkenleri işlem hattınıza ekleyin:

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)

Azure DevOps için, bunları uygun izinlerle Değişken Gruplarında güvenli bir şekilde saklayın.

PowerFx ve doğrudan Dataverse test kimlik doğrulaması

PowerFx sağlayıcı testleri ve doğrudan Dataverse testler için kimlik doğrulaması, web tabanlı testlerden farklı çalışır.

PowerFx/Dataverse kimlik doğrulaması nasıl çalışır?

  1. Test Altyapısı, kaynağa özgü bir erişim belirteci almak için Azure CLI kullanır
  2. Belirteç, Dataverse API'leri ile doğrudan kimlik doğrulamak için kullanılır
  3. Tarayıcı veya web tabanlı kimlik doğrulama söz konusu değildir

PowerFx/Dataverse kimlik doğrulamasını ayarlama

  1. Azure CLI'nin yüklü ve güncel olduğundan emin olun:

    winget install -e --id Microsoft.AzureCLI
    # Or update it if already installed
    az upgrade
    
  2. Azure CLI ile oturum açın:

    # The --allow-no-subscriptions flag is important as you may not have Azure subscriptions
    az login --allow-no-subscriptions
    
  3. Testinizi PowerFx sağlayıcısıyla çalıştırın:

    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"
    

Kimlik doğrulama sorunlarını giderme

Bu bölüm, Test Altyapısı ile kimlik doğrulama sorunlarını giderme hakkında bilgi içerir.

StorageState ile ilgili sık karşılaşılan sorunlar

  • Sorun: Her çalıştırmada kimlik doğrulama istemi görünüyor.

    • Çözüm: Oturum açma sırasında Oturum açık kalsın seçeneğini belirleyip seçmediğinizi kontrol edin.
  • Sorun: Cannot access secure storage hata.

    • Çözüm: Kullanıcı profili klasörünüze uygun erişiminiz olduğundan emin olun.

Dataverse kimlik doğrulama ile ilgili yaygın sorunlar

  • Sorun: Certificate not found hata.

    • Çözüm: Sertifika adının, sertifika deponuzdakiyle tam olarak eşleştiğini doğrulayın.
  • Sorun: Unable to connect to Dataverse hata.

    • Solution: Azure CLI az login --allow-no-subscriptions ile oturum açıp açmadığını denetleyin.
  • Sorun: Access denied hizmet sorumlusu ile ilgili hata.

    • Çözüm: Uygulamanın doğru izinlere Dataverse ve uygun güvenlik rollerine sahip olduğunu doğrulayın.

PowerFx/Dataverse kimlik doğrulaması ile ilgili sık karşılaşılan sorunlar

  • Sorun: Unable to obtain access token hata

    • Solution: az account get-access-token kullanarak Azure CLI oturum açtığınızı doğrulayın
  • Sorun: Access denied Dataverse'e

    • Çözüm: Oturum açmış kullanıcınızın, Dataverse ortamında uygun izinlere sahip olduğundan emin olun
  • Sorun: Uzun test çalışmaları sırasında belirtecin süresinin dolması

    • Çözüm: Süresi daha uzun olan bir hizmet ilkesi kullanın veya test adımlarında yeniden kimlik doğrulamasını işleyin

Kimlik doğrulama güvenlik mimarisi
Tuval uygulamalarını test edin
Model yönetimli uygulamaları test etme
Test Dataverse uzantıları