Test Altyapısı genişletilebilirliği (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.

Overview

Power Apps Test Motoru, temel test yeteneklerinin çeşitli genişletme noktaları aracılığıyla genişletilmesine olanak tanıyan sağlam bir genişletilebilirlik çerçevesine sahiptir. Bu makalede şunlar açıklanmaktadır:

  • Microsoft birinci taraf uzantılarını nasıl imzalar ve doğrular?
  • Genişletilebilirlik modeli, Yönetilen Genişletilebilirlik Çerçevesi (MEF) kullanılarak nasıl çalışır?
  • Kuruluşların kendi uzantılarını oluşturma seçenekleri

Microsoft imzalı bileşenler

Important

Genel önizleme aşamasında, pac test run komutu yalnızca Microsoft imzalı uzantıları yükler. Bu tasarım, Test Motoru platformunun güvenliğini, kararlılığını ve performansını sağlar.

Microsoft, kalite ve güvenlik standartlarını karşıladıklarından emin olmak için birinci taraf bileşenleri oluşturur, imzalar ve doğrular. Bu bileşenler şunları içerir:

  • Temel kimlik doğrulama sağlayıcıları
  • Tuval uygulaması ve model temelli uygulama sağlayıcıları
  • Standart Power Fx işlevler ve eylemler

Genişletilebilirlik çerçevesi (MEF)

Test Altyapısı, takılabilir bir mimariyi etkinleştirmek için Yönetilen Genişletilebilirlik Çerçevesi'ni (MEF) kullanır. Bu çerçeve üç ana uzantı türüne izin verir:

Kimlik doğrulama uzantıları

Kimlik doğrulama uzantıları, Power Platform ile kimlik doğrulamanın farklı yollarını sağlar.

  • Depolama Durumu Kimlik Doğrulaması - Varsayılan tarayıcı tabanlı kimlik doğrulama yöntemi
  • Sertifika Tabanlı Kimlik Doğrulama - Etkileşimli olmayan test yürütmesi için
  • Özel Kimlik Doğrulama Sağlayıcıları - Özel kimlik doğrulama senaryoları için

Daha fazla bilgi için bkz: Test Motorunda Kimlik Doğrulama.

Hizmet Sağlayıcı Uzantıları

Sağlayıcı uzantıları, farklı uygulama türlerinin test edilmesini sağlar:

  • Tuval Uygulama Sağlayıcısı - Power Apps tuval uygulamalarını test etmek için
  • Model yönetimli uygulama sağlayıcısı - Dataverse model yönetimli uygulamaları test etmek için
  • Power Fx Sağlayıcı - Power Fx ifadelerini bağımsız olarak yürütmek için
  • Portal Sağlayıcı - Power Apps ile işlemleri otomatikleştirmek için

Daha fazla bilgi için bkz: Tuval Uygulamaları, Model Yönetimli Uygulamalar ve Dataverse Uzantılar.

Power Fx Uzantı -ları

Power Fx Uzantılar, özel işlevler aracılığıyla yeni test özellikleri ekler:

  • Kullanıcı Tanımlı İşlevler - Test planında tanımlanan düşük kodlu işlevler
  • C# ReflectionFunction Uygulamaları - C# modüllerinde uygulanan özel işlevler

Daha fazla bilgi için bkz: Power Fx İşlevler veC# ReflectionFunction Uygulamaları.

Uzantı geliştirme seçenekleri

Kuruluşların Test Engine'i genişletmek için birden çok seçeneği vardır:

Açık kaynak sürümünü kullanma

Test Motoru Power Apps , MIT lisansı altında açık kaynaklı bir proje olarak mevcuttur. Birinci taraf Microsoft, üçüncü taraf ekipler ve kuruluşlar şunları yapabilir:

  • Özel test senaryoları için yeni sağlayıcılar oluşturun
  • Özel kimlik doğrulama mekanizmaları geliştirin
  • Yeni C# ReflectionFunction uygulamaları oluşturun
  • Temel işlevselliği genişleten modüller oluşturun
  • Katkıları temel üründe değerlendirilmek üzere gönderin

Power Fx Kullanıcı tanımlı fonksiyonlar

Daha basit senaryolar için, doğrudan test planlarınızda kullanıcı tanımlı işlevler oluşturabilirsiniz:

testSuite:
  testCases:
    - testCaseName: "Test with custom functions"
      userDefineFunctions:
        - name: "FormatDateString"
          parameters: [date]
          expression: "Text(date, 'yyyy-MM-dd')"
      steps:
        # Use the custom function in your test steps
        - action: PowerFxTestStep
          expression: FormatDateString(Now())

ReflectionFunction ile özel C# Power Fx işlevleri

Daha karmaşık senaryolar için kuruluşlar, sınıfı uygulayarak ReflectionFunction ve bunları bir modül aracılığıyla kaydederek özel C# işlevleri geliştirebilir:

// Define your function class
public class SampleFunction : ReflectionFunction
{
    public SampleFunction() : base(DPath.Root.Append(new DName("Preview")), "Sample", FormulaType.Blank)
    {
    }

    public BlankValue Execute()
    {
        Console.WriteLine("Sample function executed");
        return BlankValue.NewBlank();
    }
}

// Register your function in a module
[Export(typeof(ITestEngineModule))]
public class TestEngineSampleModule : ITestEngineModule
{
    public void RegisterPowerFxFunction(PowerFxConfig config, ITestInfraFunctions testInfraFunctions, 
        ITestWebProvider testWebProvider, ISingleTestInstanceState singleTestInstanceState, 
        ITestState testState, IFileSystem fileSystem)
    {
        config.AddFunction(new SampleFunction());
    }
    
    // Implement other required interface methods...
}

Test Motoru ekibi ile işbirliği

Açık kaynaklı Test Motorunu kullanarak değerli uzantılar geliştiren kuruluşlar, uzantılarını resmi üründe kullanılabilir hale getirmek için bir çekme isteği oluşturmayı düşünebilir. İşlem genellikle şunları içerir:

  1. Geliştirme - Açık kaynaklı Test Motorunu kullanarak uzantınızı oluşturun
  2. Doğrulama - Uzantınızı kendi ortamınızda kapsamlı bir şekilde test edin
  3. İşbirliği - Uzantıyı değerlendirmek için Çekirdek Test Motoru ekibiyle birlikte çalışın
  4. Tümleştirme - Onaylanırsa, Microsoft uzantıyı imzalar ve ürüne entegre eder

Bu işbirliği modeli, resmi Test Motoru ürününün güvenliğini ve güvenilirliğini korurken inovasyonu mümkün kılar.

Teknik entegrasyon noktaları

Aşağıdaki bölümlerde, Test Altyapısı genişletilebilirliğinin Playwright ve özellik yaşam döngüsü gibi temel teknolojilerle nasıl tümleştirildiği açıklanmaktadır. Bu tümleştirme noktalarını anlamak, özel uzantıları etkili bir şekilde geliştirmenize ve dağıtmanıza yardımcı olur.

Playwright tümleştirmesi

Power Apps Test Altyapısı, tarayıcı otomasyonu için temel sağlayan Playwright üzerine kurulmuştur. Özel uzantılar, gelişmiş tarayıcı tabanlı test yetenekleri oluşturmak için Playwright'ın IBrowserContext ile etkileşime girebilir.

Özellik Yaşam Döngüsü

Yeni uzantılar bir Özellik Yaşam Döngüsü'nü takip eder:

  1. Önizleme Ad Alanı - Yeni uzantılar, erken test için ilk olarak Önizleme ad alanında kullanılabilir
  2. TestEngine Ad Alanı - Doğrulamadan sonra, uzantılar çekirdek TestEngine ad alanına taşınır

Genişletilebilirlik modelinin avantajları

Genişletilebilirlik modeli önemli avantajlar sağlar:

  • Standartlaştırma - Microsoft imzalı bileşenler tutarlı kalite ve güvenlik sağlar
  • Yenilik - Açık kaynak modeli, topluluk odaklı inovasyona izin verir
  • Esneklik - Kuruluşlar, benzersiz gereksinimler için özel uzantılar oluşturabilir
  • Entegrasyon - Resmi ürüne dahil edilmek üzere değerli uzantılar dikkate alınır