Testimoduulin laajennettavuus (vanhentunut)

Muistiinpano

Testimoduuli on vanhentunut , ja se poistetaan tulevassa versiossa. Käytä Power Platform Playwright -näytteitä Power Platformin ja Dynamics 365-palveluiden testien automatisointiominaisuuksiin.

Yleiskuvaus

Power Apps Test Engine sisältää vankan laajennettavuuskehyksen, jonka avulla ydintestausominaisuuksia voidaan laajentaa eri laajennuspisteiden kautta. Tässä artikkelissa kerrotaan:

  • Miten Microsoft allekirjoittaa ja vahvistaa ensimmäisen osapuolen laajennuksia
  • Miten laajennettavuusmalli toimii Managed Extensibility Frameworkin (MEF) avulla
  • Organisaatioiden vaihtoehdot omien laajennusten luomiseen

Microsoft allekirjoitetut osat

Tärkeää

Julkisen esikatselun vaiheessa pac -komento lataa vain Microsoft allekirjoitetut laajennukset. Tämä rakenne varmistaa Test Engine -alustan turvallisuuden, vakauden ja suorituskyvyn.

Microsoft rakentaa, allekirjoittaa ja vahvistaa ensimmäisen osapuolen osia varmistaakseen, että ne täyttävät laatu- ja suojausstandardit. Näitä komponentteja ovat:

  • Keskeiset todennuksen tarjoajat
  • Pohjaan perustuvan sovelluksen ja mallipohjaisen sovelluksen tarjoajat
  • Vakiotoiminnot ja toiminnot Power Fx:ssa

Laajennettavuuskehys (MEF)

Test Engine käyttää Managed Extensibility Frameworkia (MEF) kytkettävän arkkitehtuurin mahdollistamiseen. Tämä kehys sallii kolme pääasiallista laajennustyyppiä:

Todennuksen laajennukset

Todennuslaajennukset mahdollistavat erilaisia tapoja todentaa seuraavilla tavoilla Power Platform:

  • Tallennustilan tilan todennus - Oletusselainpohjainen todennusmenetelmä
  • Varmennepohjainen todennus - Ei-interaktiiviseen testin suorittamiseen
  • Mukautetut todennuspalveluntarjoajat – Erikoistuneisiin todennusskenaarioihin

Lisätietoja on kohdassa Todennus testimoottorissa.

Palveluntarjoajan laajennukset

Palveluntarjoajalaajennukset mahdollistavat erityyppisten sovellusten testaamisen:

  • Canvas-sovelluspalvelu – pohjaan perustuvien sovellusten Power Apps testaamiseen
  • Mallipohjaisen sovelluksen tarjoaja - Mallipohjaisten sovellusten testaamiseen Dataverse
  • Power Fx Tarjoaja - Lauseiden itsenäiseen Power Fx suorittamiseen
  • Portal Provider – toimintojen automatisoinnissa Power Apps

Lisätietoja on kohdassa Pohjaan perustuvat sovellukset, Mallipohjaiset sovellukset ja Dataverse Laajennukset.

Power Fx laajennukset

Power Fx Laajennukset lisäävät uusia testausominaisuuksia mukautettujen toimintojen avulla:

  • Käyttäjän määrittämät funktiot – testisuunnitelmassa määritellyt vähäkoodiset funktiot
  • C# ReflectionFunction -toteutukset - C#-moduuleissa toteutetut mukautetut funktiot

Lisätietoja on kohdassa Power Fx Funktiot ja C# ReflectionFunction -toteutukset.

Laajennuksen kehitysvaihtoehdot

Organisaatioilla on useita vaihtoehtoja Test Enginen laajentamiseen:

avoin lähdekoodi version käyttäminen

Power Apps Test Engine on saatavilla avoin lähdekoodi projektina MIT:n käyttöoikeuden nojalla. Ensimmäisen osapuolen Microsoft, kolmansien osapuolten tiimit ja organisaatiot voivat:

  • Luo uusia palveluntarjoajia erikoistuneisiin testausskenaarioihin
  • Kehitä mukautettuja todennusmekanismeja
  • Rakenna uusia C# ReflectionFunction -toteutuksia
  • Luo moduuleja, jotka laajentavat ydintoimintoja
  • Lähetä lahjoituksia harkittavaksi ydintuotteessa

Power Fx käyttäjän määrittämät toiminnot

Yksinkertaisemmissa skenaarioissa voit luoda käyttäjän määrittämiä funktioita suoraan testisuunnitelmissasi:

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

Mukautetut C# Power Fx -funktiot ReflectionFunctionin kanssa

Monimutkaisemmissa skenaarioissa organisaatiot voivat kehittää mukautettuja C#-funktioita toteuttamalla ReflectionFunction luokan ja rekisteröimällä ne moduulin kautta:

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

Yhteistyö Test Engine -tiimin kanssa

organisaatiot, jotka kehittävät arvokkaita laajennuksia käyttämällä avoin lähdekoodi Test Engine -moduulia, voivat harkita pull-pyynnön luomista laajennuksilleen, jotta ne ovat saatavilla virallisella tuotteella. Prosessiin kuuluu tyypillisesti:

  1. Development – Luo laajennus käyttämällä avoin lähdekoodi Testimoduulia
  2. Validointi - Testaa laajennustasi perusteellisesti omassa ympäristössäsi
  3. Yhteistyö - Työskentele Core Test Engine -tiimin kanssa laajennuksen arvioimiseksi
  4. Integration – Jos se hyväksytään, Microsoft merkkejä ja integroi laajennuksen tuotteeseen

Tämä yhteistyömalli mahdollistaa innovoinnin säilyttäen samalla virallisen Test Engine -tuotteen turvallisuuden ja luotettavuuden.

Tekniset integrointipisteet

Seuraavissa osissa kuvataan, miten Test Enginen laajennettavuus integroituu ydintekniikoihin, kuten Playwrightiin ja ominaisuuden elinkaareen. Näiden integrointipisteiden ymmärtäminen auttaa sinua kehittämään ja ottamaan käyttöön mukautettuja laajennuksia tehokkaasti.

Näytelmäkirjailijan integrointi

Power Apps Test Engine on kehitetty selaimen automaation perustan tarjoavan Playwright pohjalta. Mukautetut laajennukset voivat olla vuorovaikutuksessa Playwrightin IBrowserContextin kanssa luodakseen kehittyneitä selainpohjaisia testausominaisuuksia.

Ominaisuuden elinkaari

Uudet laajennukset noudattavat ominaisuuden elinkaarta:

  1. Esikatselunimiavaruus – Uudet laajennukset ovat ensin saatavilla esikatselunimiavaruudessa varhaista testausta varten
  2. TestEngine-nimiavaruus – Vahvistuksen jälkeen laajennukset siirtyvät TestEngine-ydinnimitilaan

Laajennettavuusmallin hyödyt

Laajennettavuusmalli tarjoaa merkittäviä etuja:

  • Standardization – Microsoft allekirjoitetut osat takaavat tasaisen laadun ja suojauksen
  • Innovation – avoin lähdekoodi-malli mahdollistaa yhteisöpohjaisen innovoinnin
  • Joustavuus – Organisaatiot voivat luoda erikoistuneita laajennuksia yksilöllisiin vaatimuksiin
  • Integrointi - Arvokkaita laajennuksia harkitaan sisällytettäväksi viralliseen tuotteeseen