Freigeben über


Grundlegendes zu Test Engine-Anbietern (Vorschauversion)

Test Engine verwendet eine anbieterbasierte Architektur, die es ermöglicht, Tests über verschiedene Anwendungstypen hinweg zu unterstützen. Jeder Anbieter ist für einen bestimmten Anwendungstyp optimiert, was eine effiziente Testautomatisierung ermöglicht und gleichzeitig eine konsistente Testerfahrung bietet.

Was sind Anbieter?

Anbieter sind spezialisierte Module innerhalb von Test Engine, die die Besonderheiten der Interaktion mit verschiedenen Anwendungstypen behandeln:

  • Sie abstrahieren die Komplexität des Testens verschiedener Anwendungstechnologien
  • Sie bieten eine typspezifische Implementierung von Testaktionen
  • Sie behandeln Authentifizierung und Kontext entsprechend für jeden Anwendungstyp
  • Sie bestimmen, wie Tests ausgeführt und interpretiert werden

Anbietertypen

In den folgenden Abschnitten werden die verschiedenen Anbieter beschrieben, die in Test Engine verfügbar sind. Jeder Anbieter ist für ein bestimmtes Anwendungsszenario konzipiert und bietet maßgeschneiderte Funktionen für webbasierte und API-basierte Tests.

Webbasierte Anbieter

Webbasierte Anbieter erweitern die Browser-Automatisierungsfunktionen von Playwright, indem sie anwendungsspezifische Abstraktionen hinzufügen, die es einfacher machen, Webanwendungen zu testen, ohne sich mit Low-Level-DOM-Elementen befassen zu müssen.

Canvas Anwendungsanbieter

Der Anbieter der Canvas-Anwendung (canvas) ist auf das Testen von Power Apps Canvas-Apps spezialisiert:

  • Abstraktionsebene: Funktioniert mit Steuerelementnamen, die im Entwicklerstudio für Apps definiert wurden
  • Technologie: Erweitert Playwright für die browserbasierte Automatisierung
  • Wichtige Funktionen:
    • Greift auf Canvas-App-Steuerelemente über logische Namen zu
    • Verarbeitet Canvas-spezifische Steuerelementtypen und Ereignisse
    • Unterstützt Navigation und Interaktion mit Galeriesteuerelementen

Beispiel für Befehle:

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

Weitere Informationen zum Testen von Canvas-Apps.

Anbieter modellgesteuerter Apps

Der Anbieter modellgesteuerter Apps (mda) ist auf modellgesteuerte Dataverse-Apps spezialisiert:

  • Abstraktionsebene: Arbeitet mit Elementen für modellgesteuerte Apps, wie Formularen, Ansichten und Geschäftsprozessflüssen
  • Technologie: Erweitert Playwright für die browserbasierte Automatisierung
  • Wichtige Funktionen:
    • Navigiert durch komplexe modellgesteuerte App-Schnittstellen
    • Verarbeitet die Eingabe und Überprüfung von Formulardaten
    • Unterstützt Entitätsdatensatzvorgänge

Beispiel für Befehle:

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"

Weitere Informationen zum Testen modellgesteuerter Apps.

API-basierte Anbieter

API-basierte Anbieter interagieren direkt mit Back-End-Diensten, ohne notwendigerweise eine Browserschnittstelle zu verwenden.

Power Fx-Anbieter

Der Power Fx-Anbieter (powerfx) ermöglicht die direkte Ausführung von Power Fx-Formeln, die für Dataverse-Integrationstests hilfreich sind:

  • Authentifizierung: Verwendet OAuth-Token, die über den Azure CLI-Befehl az login abgerufen wurden
  • Technologie: Direkte Aufrufe von Dataverse-API-Endpunkten
  • Wichtige Funktionen:
    • Führt CRUD-Vorgänge für Dataverse-Tabellen durch
    • Führt Geschäftslogik ohne Interaktion mit der Benutzeroberfläche aus
    • Ermöglicht fokussierte Integrationstests

Beispiel für Befehle:

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"

Weitere Informationen zum Testen von Dataverse-Erweiterungen.

Technische Implementierung

In den folgenden Abschnitten werden die zugrunde liegende Architektur, die Authentifizierungsflows und doe Dataverse-Integration für Test Engine-Anbieter erläutert. Wenn Sie diese Details verstehen, können Sie Anbieter für Ihre spezifischen Testanforderungen konfigurieren und erweitern.

Architektur

Die Anbieterarchitektur von Test Engine folgt einem mehrschichtigen Ansatz:

  1. Core-Engine-Ebene: Enthält gemeinsam genutzte Funktionen aller Anbieter
  2. Anbieterebene: Implementiert anwendungsspezifische Testlogik
  3. Authentifizierungsebene: Verarbeitet den Identitäts- und Sicherheitskontext
  4. Erweiterungsebene: Ermöglicht das Hinzufügen benutzerdefinierter Funktionen

Authentifizierungsflow

Anbieter verwenden je nach ihren Anforderungen unterschiedliche Authentifizierungsabläufe:

  • Webanbieter (Canvas, modellgesteuert): Verwenden browserbasierte Authentifizierung mit Speicherstatus
  • API-Anbieter (Power Fx): Verwenden OAuth-Token aus Azure-CLI für den direkten API-Zugriff

Dataverse-Integration

Alle Anbieter können von der Dataverse-Integration profitieren, die Folgendes ermöglicht:

  • Direkter Tabellenzugriff über Power Fx-Funktionen
  • Datenseeding- und -bereinigungsvorgänge
  • Verifizierung von Backend-Statusänderungen

Um die Dataverse-Integration zu aktivieren, fügen Sie Ihren Testeinstellungen Folgendes hinzu:

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

Erfahren Sie, wie Sie Dataverse-Erweiterungen testen.

Auswählen des richtigen Anbieters

Wählen Sie einen Anbieter basierend auf Ihrem Anwendungstyp und Ihren Testanforderungen aus:

Anwendungstyp Anbieter Am besten geeignet für
Canvas-Apps canvas UI-Tests, Steuerelementinteraktion, Bildschirmnavigation
Modellbasierte Apps mda Formulare, Ansichten, Geschäftsprozessflows, Entitätsvorgänge
Reine Dataverse-Integration powerfx Backend-Logik, Tabellenoperationen, Plugin-Validierung

Canvas-Apps testen
Modellgesteuerte Apps testen
Dataverse-Erweiterungen testen
Erweiterbarkeit von Test Engine
Test Engine und Playwright