Jagamisviis:


Testimismootori laiendatavus (eelvaade)

Märkus.

Eelvaatefunktsioonid ei ole mõeldud kasutamiseks tootmises ja nende funktsioonid võivad olla piiratud. Need funktsioonid on saadaval enne ametlikku väljastamist, et kliendid saaksid sellele varakult juurdepääsu ja võiksid tagasisidet anda.

Ülevaade

Power Apps Test Engine’il on tugev laiendatavuse raamistik, mis võimaldab laiendada põhilisi testimisvõimalusi erinevate laienduspunktide kaudu. Selles artiklis selgitatakse:

  • Kuidas Microsoft allkirjastab ja valideerib esimese osapoole laiendusi?
  • Kuidas laiendatavuse mudel töötab hallatava laiendatavuse raamistiku (MEF) abil?
  • Organisatsioonide võimalused oma laiendite loomiseks

Microsofti allkirjastatud komponendid

Oluline

Avaliku eelvaate faasis laadib pac test run käsk ainult Microsofti allkirjastatud laiendusi. See disain tagab Test Engine’i platvormi turvalisuse, stabiilsuse ja jõudluse.

Microsoft koostab, allkirjastab ja valideerib esimese osapoole komponente, et tagada nende vastavus kvaliteedi- ja turbestandarditele. Nende komponentide hulka kuuluvad:

  • Põhilised autentimise pakkujad
  • Lõuendirakenduse ja mudelipõhise rakenduse pakkujad
  • Standardfunktsioonid Power Fx ja -toimingud

Laiendatavuse raamistik (MEF)

Test Engine kasutab ühendatava arhitektuuri lubamiseks hallatavat laiendatavuse raamistikku (MEF). See raamistik võimaldab kolme peamist laiendustüüpi:

Autentimise laiendused

Autentimislaiendid võimaldavad autentimist erinevatel viisidel Power Platform:

  • Salvestusoleku autentimine – brauseripõhise autentimise vaikemeetod
  • Sertifikaadipõhine autentimine – mitteinteraktiivse testi käivitamiseks
  • Kohandatud autentimise pakkujad – spetsiaalsete autentimisstsenaariumide jaoks

Lisateavet leiate teemast Autentimine testmootoris.

Pakkuja laiendused

Teenusepakkuja laiendused võimaldavad testida erinevat tüüpi rakendusi:

  • Lõuendirakenduse pakkuja – lõuendirakenduste testimiseks Power Apps
  • Mudelipõhine rakenduse pakkuja – mudelipõhiste rakenduste testimiseks Dataverse
  • Power Fx Pakkuja - Avalduste iseseisvaks Power Fx täitmiseks
  • Portaali pakkuja – toimingute automatiseerimiseks Power Apps

Lisateavet leiate teemast Lõuendirakendused, Mudelipõhised rakendused ja Dataverse Laiendused.

Power Fx Laiendused

Power Fx Laiendused lisavad kohandatud funktsioonide kaudu uusi testimisvõimalusi:

  • Kasutaja määratletud funktsioonid – testimisplaanis määratletud vähese koodiga funktsioonid
  • C# ReflectionFunction Implementations- C# moodulites rakendatud kohandatud funktsioonid

Lisateavet leiate teemadest Power Fx Funktsioonid ja C# ReflectionFunctioni rakendused.

Laienduse arendamise võimalused

Organisatsioonidel on Test Engine’i laiendamiseks mitu võimalust:

Avatud lähtekoodiga versiooni kasutamine

Power Apps Test Engine on saadaval avatud lähtekoodiga projektina MIT-i litsentsi alusel. Esimese osapoole Microsoft, kolmanda osapoole meeskonnad ja organisatsioonid saavad:

  • Uute pakkujate loomine spetsiaalsete testimisstsenaariumide jaoks
  • Kohandatud autentimismehhanismide väljatöötamine
  • Looge uusi C# ReflectionFunctioni rakendusi
  • Looge mooduleid, mis laiendavad põhifunktsioone
  • Esitage vastused põhitootes kaalumiseks

Power Fx kasutaja määratletud funktsioonid

Lihtsamate stsenaariumide korral saate luua kasutaja määratletud funktsioone otse oma testiplaanides.

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

Kohandatud C#- Power Fx funktsioonid koos ReflectionFunctioniga

Keerukamate stsenaariumide korral saavad organisatsioonid arendada kohandatud C# funktsioone, rakendades ReflectionFunction klassi ja registreerides need mooduli kaudu.

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

Koostöö Test Engine’i meeskonnaga

Organisatsioonid, kes arendavad väärtuslikke laiendusi, kasutades avatud lähtekoodiga testmootorit, võivad kaaluda oma laienduste jaoks tõmbetaotluse loomist, et muuta need ametlikus tootes kättesaadavaks. Protsess hõlmab tavaliselt järgmist:

  1. Arendus - Loo oma laiendus avatud lähtekoodiga testimismootori abil
  2. Valideerimine - Testige oma laiendust põhjalikult oma keskkonnas
  3. Koostöö - Tehke laienduse hindamiseks koostööd Core Test Engine’i meeskonnaga
  4. Integratsioon – Kui see on heaks kiidetud, allkirjastab Microsoft laienduse ja integreerib selle tootesse.

See koostöömudel võimaldab innovatsiooni, säilitades samal ajal ametliku Test Engine’i toote turvalisuse ja usaldusväärsuse.

Tehnilised integratsioonipunktid

Järgmistes osades kirjeldatakse, kuidas testimismootori laiendatavus integreerub põhitehnoloogiatega, nagu Playwright ja funktsioonide elutsükkel. Nende integratsioonipunktide mõistmine aitab teil kohandatud laiendusi tõhusalt arendada ja juurutada.

Näitekirjaniku integratsioon

Power Apps Testimootor on loodud `Playwright`i `versiooni peale, mis loob aluse brauseri automatiseerimiseks. ... Kohandatud laiendused saavad suhelda Playwrighti `IBrowserContext`iga, et luua keerukaid brauseripõhiseid testimisvõimalusi. ...

Funktsiooni elutsükkel

Uued laiendused järgivad **funktsioonide elutsüklit**: ...

  1. Eelvaate nimeruum - Uued laiendused on varajaseks testimiseks esmalt saadaval eelvaate nimeruumis
  2. TestEngine’i nimeruum - Pärast valideerimist liiguvad laiendused TestEngine’i põhinimeruumi

Laiendatavuse mudeli eelised

Laiendatavusmudel pakub olulisi eeliseid:

  • Standardiseerimine – Microsofti allkirjastatud komponendid tagavad järjepideva kvaliteedi ja turvalisuse
  • Innovatsioon – Avatud lähtekoodiga mudel võimaldab kogukonnapõhist innovatsiooni
  • Paindlikkus - Organisatsioonid saavad luua spetsiaalseid laiendusi ainulaadsete vajaduste jaoks
  • Integratsioon - Väärtuslike laienduste lisamist ametlikku tootesse kaalutakse