Delen via


Test Engine-providers begrijpen (preview)

Test Engine maakt gebruik van een providergebaseerde architectuur die testen op verschillende applicatietypen ondersteunt. Elke provider is geoptimaliseerd voor een specifiek applicatietype, waardoor u tests efficiënt kunt automatiseren en tegelijkertijd een consistente testervaring kunt bieden.

Wat zijn aanbieders?

Providers zijn gespecialiseerde modules binnen Test Engine die de specifieke aspecten van de interactie met verschillende applicatietypen afhandelen:

  • Ze abstraheren de complexiteit van het testen van verschillende applicatietechnologieën
  • Ze bieden typespecifieke implementatie van testacties
  • Ze behandelen authenticatie en context op de juiste manier voor elk type applicatie
  • Zij bepalen hoe tests worden uitgevoerd en geïnterpreteerd

Providertypen

In de volgende secties worden de verschillende typen providers beschreven die beschikbaar zijn in Test Engine. Elke provider is ontworpen voor een specifiek toepassingsscenario en biedt op maat gemaakte mogelijkheden voor webgebaseerde en API-gebaseerde tests.

Webgebaseerde aanbieders

Webgebaseerde aanbieders breiden de browserautomatiseringsmogelijkheden van Playwright uit door toepassingsspecifieke abstracties toe te voegen. Hierdoor wordt het eenvoudiger om webapplicaties te testen zonder dat u met DOM-elementen op laag niveau hoeft te werken.

Leverancier van Canvas-applicaties

De Canvas Application Provider (canvas) is gespecialiseerd in het testen van Power Apps canvas-applicaties:

  • Abstractieniveau: Werkt met besturingselementnamen zoals gedefinieerd in de app-makerstudio
  • Technologie: Uitbreiding van Playwright voor browsergebaseerde automatisering
  • Belangrijkste mogelijkheden:
    • Krijgt toegang tot canvas-app-besturingselementen via logische namen
    • Verwerkt canvas-specifieke besturingselementtypen en gebeurtenissen
    • Ondersteunt navigatie en interactie met galerijbediening

Voorbeeldopdracht:

pac test run `
   --provider canvas `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value

Meer informatie over het testen van canvas-applicaties.

Leverancier van modelgestuurde applicaties

De Model-driven Application Provider (mda) is gespecialiseerd in Dataverse modelgestuurde applicaties:

  • Abstractieniveau: Werkt met modelgestuurde applicatie-elementen zoals formulieren, weergaven en bedrijfsprocesstromen
  • Technologie: Uitbreiding van Playwright voor browsergebaseerde automatisering
  • Belangrijkste mogelijkheden:
    • Navigeert door complexe modelgestuurde app-interfaces
    • Verwerkt formuliergegevensinvoer en -validatie
    • Ondersteunt entiteitsrecordbewerkingen

Voorbeeldopdracht:

pac test run `
   --provider mda `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&pagetype=entityrecord&etn=account"

Meer informatie over het testen van modelgestuurde applicaties.

API-gebaseerde providers

API-gebaseerde aanbieders communiceren rechtstreeks met back-endservices zonder dat hiervoor noodzakelijkerwijs een browserinterface nodig is.

Power Fx aanbieder

De Power Fx Provider (powerfx) maakt directe uitvoering van Power Fx formules mogelijk, wat handig is voor Dataverse integratietesten:

  • Authenticatie: Gebruikt OAuth tokens verkregen via de Azure CLI az login opdracht
  • Technologie: roept API-eindpunten rechtstreeks aan Dataverse
  • Belangrijkste mogelijkheden:
    • Voert CRUD-bewerkingen uit op tabellen Dataverse
    • Voert bedrijfslogica uit zonder UI-interactie
    • Maakt gerichte integratietesten mogelijk

Voorbeeldopdracht:

pac test run `
   --provider powerfx `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com"

Meer informatie over het testen van Dataverse extensies.

Technische implementatie

In de volgende secties worden de onderliggende architectuur, authenticatiestromen en Dataverse integratie voor Test Engine-providers uitgelegd. Als u deze details begrijpt, kunt u providers configureren en uitbreiden voor uw specifieke testbehoeften.

Architectuur

De providerarchitectuur van Test Engine volgt een gelaagde aanpak:

  1. Core Engine Layer: Bevat gedeelde functionaliteit over alle providers
  2. Providerlaag: implementeert applicatiespecifieke testlogica
  3. Authenticatielaag: Verwerkt identiteits- en beveiligingscontext
  4. Extensielaag: Hiermee kan aangepaste functionaliteit worden toegevoegd

Authenticatiestroom

Providers gebruiken verschillende authenticatiestromen op basis van hun vereisten:

  • Webproviders (Canvas, modelgestuurd): Gebruik browsergebaseerde authenticatie met opslagstatus
  • API-providers (Power Fx): Gebruik OAuth tokens van Azure CLI voor directe API-toegang

Dataverse-integratie

Alle aanbieders kunnen profiteren van Dataverse integratie, wat het volgende mogelijk maakt:

  • Directe tabeltoegang via Power Fx functies
  • Data seeding- en opschoningsoperaties
  • Verificatie van backend-statuswijzigingen

Om integratie mogelijk te maken, voegt u het volgende toe aan uw testinstellingen: Dataverse

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true

Leer hoe u extensies kunt testen Dataverse

De juiste aanbieder kiezen

Selecteer een provider op basis van uw applicatietype en testvereisten:

Toepassingstype Provider Het beste voor
Canvas-apps canvas UI-testen, bedieningsinteractie, schermnavigatie
Modelgestuurde apps mda Formulieren, weergaven, bedrijfsprocesstromen, entiteitsbewerkingen
Zuivere Dataverse integratie powerfx Backendlogica, tabelbewerkingen, pluginvalidatie

Test canvas-toepassingen
Test modelgestuurde applicaties
Testextensies Dataverse
Test Engine-uitbreidbaarheid
Test Engine en toneelschrijver