Megosztás:


Tesztmotor bővíthetősége (előzetes verzió)

Feljegyzés

Az előzetes funkciókat nem célszerű termelési környezetben használni, és előfordulhat, hogy korlátozott funkcionalitással rendelkeznek. Ezek a funkciók a hivatalos kiadás előtt érhetők el, hogy az ügyfelek korán megismerkedhessenek velük, és visszajelzést adhassanak róluk.

Áttekintés

Power Apps A Test Engine egy robusztus bővíthetőségi keretrendszerrel rendelkezik, amely lehetővé teszi az alapvető tesztelési képességek bővítését különböző kiterjesztési pontokon keresztül. Ez a cikk a következőket magyarázza:

  • Hogyan írja alá és érvényesíti a Microsoft a belső bővítményeket?
  • A bővíthetőségi modell működése a felügyelt bővíthetőségi keretrendszer (MEF) használatával
  • Lehetőségek a szervezetek számára saját bővítmények létrehozására

Microsoft által aláírt összetevők

Fontos

A nyilvános előzetes verzió fázisában a pac test run parancs csak a Microsoft által aláírt bővítményeket tölti be. Ez a kialakítás biztosítja a Test Engine platform biztonságát, stabilitását és teljesítményét.

A Microsoft saját összetevőket hoz létre, ír alá és ellenőriz, hogy azok megfeleljenek a minőségi és biztonsági szabványoknak. Ezek az összetevők a következők:

  • Alapvető hitelesítésszolgáltatók
  • Vászonalapú alkalmazások és modellvezérelt alkalmazások szolgáltatói
  • Szabványos Power Fx funkciók és műveletek

Bővíthetőségi keretrendszer (MEF)

A tesztmotor a felügyelt bővíthetőségi keretrendszert (MEF) használja a csatlakoztatható architektúra engedélyezéséhez. Ez a keretrendszer három elsődleges kiterjesztéstípust tesz lehetővé:

Hitelesítési bővítmények

A hitelesítési bővítmények különböző hitelesítési módokat Power Platform tesznek lehetővé:

  • Storage állapot hitelesítése – Az alapértelmezett böngészőalapú hitelesítési módszer
  • Tanúsítvány alapú hitelesítés – Nem interaktív teszt végrehajtásához
  • Egyéni hitelesítésszolgáltatók – Speciális hitelesítési forgatókönyvekhez

További információ: Hitelesítés a tesztmotorban.

Szolgáltatói bővítmények

A szolgáltatói bővítmények lehetővé teszik a különböző típusú alkalmazások tesztelését:

  • Vászonalapú alkalmazás szolgáltató – Vászonalapú alkalmazások teszteléséhez Power Apps
  • Modellvezérelt alkalmazásszolgáltató – Modellvezérelt alkalmazások teszteléséhez Dataverse
  • Power Fx Szolgáltató - Utasítások független végrehajtásához Power Fx
  • Portálszolgáltató - A műveletek automatizálásához Power Apps

További információ: Vászonalapú alkalmazások,Modellvezérelt alkalmazások és Dataverse bővítmények.

Power Fx Kiterjesztés

Power Fx A bővítmények új tesztelési képességeket adnak hozzá az egyéni függvények révén:

  • Felhasználó által definiált függvények – A teszttervben meghatározott kevés kódolást igénylő függvények
  • C# ReflectionFunction implementációk – C# modulokban megvalósított egyéni függvények

További információ: Power Fx Függvények és C # ReflectionFunction implementációk.

Bővítményfejlesztési lehetőségek

A szervezeteknek több lehetőségük van a Test Engine kiterjesztésére:

A nyílt forráskódú verzió használata

A Power Apps tesztmotor nyílt forráskódú projektként érhető el az MIT licenc alatt. A Microsoft, a külső csapatok és szervezetek a következőket tehetik:

  • Új szolgáltatók létrehozása speciális tesztelési forgatókönyvekhez
  • Egyéni hitelesítési mechanizmusok fejlesztése
  • Új C# ReflectionFunction-implementációk létrehozása
  • Hozzon létre modulokat, amelyek kibővítik az alapvető funkciókat
  • Hozzájárulások benyújtása megfontolásra az alaptermékben

Power Fx Felhasználó által definiált függvények

Egyszerűbb forgatókönyvek esetén közvetlenül a teszttervekben hozhat létre felhasználó által definiált függvényeket:

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

Egyéni C# Power Fx -függvények a ReflectionFunction funkcióval

Összetettebb forgatókönyvek esetén a szervezetek egyéni C#-függvényeket fejleszthetnek az osztály implementálásával ReflectionFunction és egy modulon keresztüli regisztrálásával:

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

Együttműködés a Test Engine csapatával

Azok a szervezetek, amelyek értékes bővítményeket fejlesztenek a nyílt forráskódú tesztmotor használatával, fontolóra vehetik egy lekéréses kérelem létrehozását a bővítményeikhez, hogy elérhetővé tegyék azokat a hivatalos termékben. A folyamat jellemzően a következőket foglalja magában:

  1. Fejlesztés – Hozza létre bővítményét a nyílt forráskódú tesztmotor használatával
  2. Ellenőrzés – Tesztelje alaposan a bővítményt a saját környezetében
  3. Együttműködés – Dolgozzon együtt a Core Test Engine csapatával a bővítmény értékeléséhez
  4. Integráció – Jóváhagyás esetén a Microsoft aláírja és integrálja a bővítményt a termékbe

Ez az együttműködési modell lehetővé teszi az innovációt, miközben megőrzi a hivatalos Test Engine termék biztonságát és megbízhatóságát.

Technikai integrációs pontok

A következő szakaszok azt ismertetik, hogy a Test Engine bővíthetősége hogyan integrálható az olyan alapvető technológiákkal, mint a Playwright és a funkció életciklusa. Az integrációs pontok megértése segít az egyéni bővítmények hatékony fejlesztésében és üzembe helyezésében.

Drámaíró integráció

Power Apps A Test Engine a Playwrightra épül, amely biztosítja a böngésző automatizálásának alapját. Az egyéni bővítmények kölcsönhatásba léphetnek a Playwright IBrowserContext-jével , hogy kifinomult böngészőalapú tesztelési képességeket hozzanak létre.

Funkció életciklusa

Az új bővítmények a funkció életciklusát követik:

  1. Előzetes verziójú névtér – Az új bővítmények először az előzetes verziójú névtérben érhetők el a korai teszteléshez
  2. TestEngine névtér – Az ellenőrzés után a bővítmények az alapvető TestEngine névtérbe kerülnek

A bővíthetőségi modell előnyei

A bővíthetőségi modell jelentős előnyökkel jár:

  • Szabványosítás – A Microsoft által aláírt összetevők biztosítják az egyenletes minőséget és biztonságot
  • Innováció – A nyílt forráskódú modell lehetővé teszi a közösségvezérelt innovációt
  • Rugalmasság – A szervezetek speciális bővítményeket hozhatnak létre az egyedi követelményekhez
  • Integráció – Értékes bővítményeket fontolgatnak a hivatalos termékbe való beépítéshez