Dijeli putem


Proširivost testnog motora (pretpregled)

Napomena

Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.

Pretpregled

Power Apps Test Engine ima robustan okvir proširivosti koji omogućuje proširenje osnovnih mogućnosti testiranja kroz različite točke proširenja. Ovaj članak objašnjava:

  • Kako Microsoft potpisuje i provjerava valjanost proširenja prve strane
  • Kako funkcionira model proširivosti pomoću upravljanog okvira proširivosti (MEF)
  • Mogućnosti za tvrtke ili ustanove za stvaranje vlastitih proširenja

Komponente koje je potpisao Microsoft

Važno

Tijekom faze javnog pretpregleda naredba pac test run učitava samo proširenja koja je potpisao Microsoft. Ovaj dizajn osigurava sigurnost, stabilnost i performanse platforme Test Engine.

Microsoft izrađuje, potpisuje i provjerava valjanost komponenti prve strane kako bi osigurao da zadovoljavaju standarde kvalitete i sigurnosti. Te komponente uključuju:

  • Osnovni davatelji usluga provjere autentičnosti
  • Davatelji aplikacija radnog područja i aplikacija stvorenih prema modelu
  • Standardne Power Fx funkcije i radnje

Okvir proširivosti (MEF)

Test Engine koristi Managed Extensibility Framework (MEF) da bi omogućio priključnu arhitekturu. Ovaj okvir dopušta tri primarne vrste proširenja:

Proširenja za provjeru autentičnosti

Proširenja za provjeru autentičnosti omogućuju različite načine provjere autentičnosti pomoću Power Platform:

  • Provjera autentičnosti stanja pohrane – zadana metoda provjere autentičnosti temeljena na pregledniku
  • Provjera autentičnosti temeljena na certifikatu - za neinteraktivno izvođenje testa
  • Prilagođeni pružatelji provjere autentičnosti - za specijalizirane scenarije provjere autentičnosti

Dodatne informacije potražite u odjeljku Provjera autentičnosti u testnom modulu.

Proširenja davatelja usluga

Proširenja davatelja usluga omogućuju testiranje različitih vrsta aplikacija:

  • Pružatelj aplikacija radnog područja - Za testiranje Power Apps aplikacija radnog područja
  • Davatelj aplikacija stvorenih prema modelu – za testiranje Dataverse aplikacija utemeljenih na modelu
  • Power Fx Pružatelj - Za samostalno izvršavanje Power Fx izjava
  • Davatelj portala - Za automatizaciju operacija u Power Apps

Dodatne informacije potražite u odjeljku Aplikacije radnog područja, Aplikacije utemeljene na modelu i Dataverse Proširenja.

Power Fx ekstenzije

Power Fx Proširenja dodaju nove mogućnosti testiranja putem prilagođenih funkcija:

  • Korisnički definirane funkcije - Funkcije s niskim kodom definirane u planu testiranja
  • Implementacije C# ReflectionFunction - Prilagođene funkcije implementirane u C# modulima

Dodatne informacije potražite u odjeljku Power Fx Funkcije i C# ReflectionFunction implementacije.

Mogućnosti razvoja proširenja

Organizacije imaju više opcija za proširenje Test Enginea:

Korištenje verzije otvorenog koda

Power Apps Test Engine dostupan je kao projekt otvorenog koda pod licencom MIT-a. Microsoft, timovi i tvrtke ili ustanove prve strane mogu učiniti sljedeće:

  • Stvaranje novih davatelja usluga za specijalizirane scenarije testiranja
  • Razviti prilagođene mehanizme provjere autentičnosti
  • Izrada novih implementacija C# ReflectionFunction
  • Stvaranje modula koji proširuju osnovnu funkcionalnost
  • Slanje doprinosa na razmatranje u osnovnom proizvodu

Power Fx korisnički definirane funkcije

Za jednostavnije scenarije možete stvoriti korisnički definirane funkcije izravno u svojim testnim planovima:

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())

Prilagođene C# Power Fx funkcije s funkcijom ReflectionFunction

Za složenije scenarije, organizacije mogu razviti prilagođene C# funkcije implementacijom klase ReflectionFunction i njihovom registracijom putem modula:

// 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...
}

Suradnja s timom Test Engine

Organizacije koje razvijaju vrijedna proširenja pomoću testnog modula otvorenog koda mogu razmisliti o stvaranju zahtjeva za povlačenje za svoja proširenja kako bi ih učinili dostupnima u službenom proizvodu. Proces obično uključuje:

  1. Razvoj - Izradite svoje proširenje pomoću testnog mehanizma otvorenog koda
  2. Provjera valjanosti - temeljito testirajte proširenje u vlastitom okruženju
  3. Suradnja - Surađujte s timom Core Test Engine kako biste procijenili proširenje
  4. Integracija – ako je odobreno, Microsoft potpisuje i integrira proširenje u proizvod

Ovaj model suradnje omogućuje inovacije uz održavanje sigurnosti i pouzdanosti službenog proizvoda Test Engine.

Točke tehničke integracije

U sljedećim odjeljcima opisano je kako se proširivost testnog modula integrira s osnovnim tehnologijama kao što su Playwright i životni ciklus značajki. Razumijevanje ovih integracijskih točaka pomaže vam da učinkovito razvijete i implementirate prilagođena proširenja.

Integracija dramatičara

Power Apps Test Engine izgrađen je na Playwrightu, koji pruža temelj za automatizaciju preglednika. Prilagođena proširenja mogu komunicirati s Playwrightovim IBrowserContext kako bi stvorila sofisticirane mogućnosti testiranja temeljene na pregledniku.

Životni ciklus značajki

Nova proširenja slijede životni ciklus značajki:

  1. Prostor naziva pretpregleda – nova proširenja prvo su dostupna u prostoru naziva Pretpregled za rano testiranje
  2. TestEngine imenski prostor - Nakon provjere valjanosti, proširenja se premještaju u jezgru imenskog prostora TestEngine

Prednosti modela proširivosti

Model proširivosti pruža značajne prednosti:

  • Standardizacija – komponente koje je potpisao Microsoft osiguravaju dosljednu kvalitetu i sigurnost
  • Inovacija – model otvorenog koda omogućuje inovacije koje pokreće zajednica
  • Fleksibilnost - Organizacije mogu stvoriti specijalizirana proširenja za jedinstvene zahtjeve
  • Integracija - Vrijedna proširenja razmatraju se za uključivanje u službeni proizvod