Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Napomena
Test Engine je zastario i bit će uklonjen u budućem izdanju. Koristite Power Platform Playwright samples za mogućnosti automatizacije testiranja u Power Platformi i Dynamics 365 uslugama.
Pregled
Power Apps Test Engine ima robustan okvir za proširivost koji omogućuje proširenje osnovnih mogućnosti testiranja kroz različite točke proširenja. Ovaj članak objašnjava:
- Kako Microsoft potpisuje i potvrđuje ekstenzije 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 potpisane od strane Microsoft-a
Važno
Tijekom faze javnog pregleda, naredba pac test run učitava samo ekstenzije s Microsoft potpisom. Ovaj dizajn osigurava sigurnost, stabilnost i performanse platforme Test Engine.
Microsoft izrađuje, potpisuje i provjerava komponente 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:
- Canvas App Provider - Za testiranje Power Apps canvas aplikacija
- Davatelj aplikacija stvorenih prema modelu – za testiranje Dataverse aplikacija utemeljenih na modelu
- Power Fx Pružatelj - Za samostalno izvršavanje Power Fx izjava
- Portal Provider - 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 open source verzije
Power Apps Test Engine dostupan je kao open source projekt pod MIT licencom. Microsoft iz prve ruke, timovi trećih strana i organizacije mogu:
- 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 vrijedne ekstenzije koristeći open source Test Engine mogu razmotriti izradu pull requesta za svoje ekstenzije kako bi ih učinili dostupnima u službenom proizvodu. Proces obično uključuje:
- Development - Kreirajte svoju ekstenziju koristeći open source Test Engine
- Provjera valjanosti - temeljito testirajte proširenje u vlastitom okruženju
- Suradnja - Surađujte s timom Core Test Engine kako biste procijenili proširenje
- Integration - 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 vrhu Playwright, 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:
- Prostor naziva pretpregleda – nova proširenja prvo su dostupna u prostoru naziva Pretpregled za rano testiranje
- 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 potpisane Microsoft osiguravaju dosljednu kvalitetu i sigurnost
- Innovation - Model open source omogućuje inovacije vođene zajednicom
- Fleksibilnost - Organizacije mogu stvoriti specijalizirana proširenja za jedinstvene zahtjeve
- Integracija - Vrijedna proširenja razmatraju se za uključivanje u službeni proizvod