Dela via


Förstå testmotorproviders (förhandsversion)

Testmotorn använder en providerbaserad arkitektur som gör att den kan stödja testning över olika programtyper. Varje leverantör är optimerad för en specifik applikationstyp, vilket möjliggör effektiv testautomatisering samtidigt som den ger en konsekvent testupplevelse.

Vad är leverantörer?

Leverantörer är specialiserade moduler inom testmotorn som hanterar detaljerna för att interagera med olika programtyper:

  • De abstraherar komplexiteten i att testa olika applikationstekniker
  • De tillhandahåller typspecifik implementering av teståtgärder
  • De hanterar autentisering och kontext på rätt sätt för varje programtyp
  • De bestämmer hur tester utförs och tolkas

Typer av leverantörer

I följande avsnitt beskrivs de olika typerna av leverantörer som är tillgängliga i Test Engine. Varje leverantör är utformad för ett specifikt applikationsscenario och erbjuder skräddarsydda funktioner för webbaserad och API-baserad testning.

Webbaserade leverantörer

Webbaserade leverantörer utökar Playwrights webbläsarautomatiseringsfunktioner genom att lägga till applikationsspecifika abstraktioner, vilket gör det lättare att testa webbapplikationer utan att hantera DOM-element på låg nivå.

Leverantör av arbetsyteprogram

Canvas Application Provider (canvas) är specialiserad för att testa Power Apps canvas-applikationer:

  • Abstraktionsnivå: Fungerar med kontrollnamn som definieras i App Maker Studio
  • Teknik: Utökar Playwright för webbläsarbaserad automatisering
  • Viktiga funktioner:
    • Åtkomst till kontroller för arbetsyteappar efter logiska namn
    • Hanterar arbetsytespecifika kontrolltyper och händelser
    • Stöder gallerikontroll, navigering och interaktion

Exempel på kommandon:

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

Läs mer om hur du testar arbetsyteprogram.

Modelldriven programleverantör

Den modellbaserade programprovidern (mdaModel-based Application Provider) är specialiserad för Dataverse modellbaserade program:

  • Abstraktionsnivå: Fungerar med modelldrivna programelement som formulär, vyer och affärsprocessflöden
  • Teknik: Utökar Playwright för webbläsarbaserad automatisering
  • Viktiga funktioner:
    • Navigerar i komplexa modellbaserade appgränssnitt
    • Hanterar inmatning och validering av formulärdata
    • Stöder åtgärder för entitetsposter

Exempel på kommandon:

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"

Läs mer om att testa modellbaserade program.

API-baserade leverantörer

API-baserade leverantörer interagerar direkt med backend-tjänster utan att nödvändigtvis använda ett webbläsargränssnitt.

Power Fx familjeförsörjare

Providern Power Fx (powerfx) tillåter direkt exekvering av Power Fx formler, vilket är användbart för Dataverse integrationstestning:

  • Autentisering: Använder OAuth token som hämtats via Azure CLI az login command
  • Teknik: Anropar Dataverse API-slutpunkter direkt
  • Viktiga funktioner:
    • Utför CRUD-åtgärder på Dataverse tabeller
    • Kör affärslogik utan interaktion med användargränssnittet
    • Möjliggör fokuserad integrationstestning

Exempel på kommandon:

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"

Läs mer om hur du testar Dataverse tillägg.

Tekniskt genomförande

I följande avsnitt beskrivs den underliggande arkitekturen, autentiseringsflödena och Dataverse integreringen för testmotorleverantörer. Genom att förstå den här informationen kan du konfigurera och utöka leverantörer för dina specifika testbehov.

Arkitektur

Test Engines providerarkitektur följer en skiktad metod:

  1. Core Engine Layer: Innehåller delade funktioner mellan alla leverantörer
  2. Providerlager: Implementerar applikationsspecifik testlogik
  3. Autentiseringslager: Hanterar identitets- och säkerhetskontext
  4. Tilläggslager: Gör det möjligt att lägga till anpassade funktioner

Flöde för autentisering

Leverantörer använder olika autentiseringsflöden baserat på deras krav:

  • Webbleverantörer (Canvas, modelldriven): Använd webbläsarbaserad autentisering med lagringstillstånd
  • API-providers (Power Fx): Använd OAuth token från Azure CLI för direkt API-åtkomst

Dataverse-integrering

Alla leverantörer kan dra nytta av Dataverse integration, vilket möjliggör:

  • Direkt åtkomst till bordet via Power Fx funktioner
  • Åtgärder för dataseeding och rensning
  • Verifiering av ändringar av serverdelstillstånd

Om du vill aktivera Dataverse integrering lägger du till följande i testinställningarna:

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

Läs om hur du testar Dataverse tillägg

Att välja rätt leverantör

Välj en leverantör baserat på din programtyp och dina testkrav:

Programtyp Provider Bäst för
Arbetsyteappar canvas UI-testning, kontrollinteraktion, skärmnavigering
Modellbaserade program mda Formulär, vyer, affärsprocessflöden, entitetsåtgärder
Ren Dataverse integration powerfx Backend-logik, tabelloperationer, plugin-validering

Testa arbetsyteprogram
Testa modellbaserade program
Testa Dataverse tillägg
Utbyggbarhet för testmotor
Testmotor och dramatiker