Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anmerkung
Das Testmodul ist veraltet und wird in einer zukünftigen Version entfernt. Verwenden Sie Power Platform Playwright-Beispiele für Testautomatisierungsfunktionen in Power Platform- und Dynamics 365-Diensten.
Overview
Power Apps Testmodul verfügt über ein robustes Erweiterbarkeitsframework, mit dem die Kerntestfunktionen durch verschiedene Erweiterungspunkte erweitert werden können. In diesem Artikel erfahren Sie:
- So signiert und überprüft Microsoft Erweiterungen von Erstanbietern
- Funktionsweise des Erweiterbarkeitsmodells mit dem Managed Extensibility Framework (MEF)
- Optionen für Organisationen, ihre eigenen Erweiterungen zu erstellen
Microsoft signierte Komponenten
Wichtig
Während der öffentlichen Vorschauphase lädt der pac test run Befehl nur von Microsoft signierte Erweiterungen. Dieses Design gewährleistet die Sicherheit, Stabilität und Leistung der Test Engine-Plattform.
Microsoft erstellt, überprüft und validiert Erstanbieterkomponenten, um sicherzustellen, dass sie die Qualitäts- und Sicherheitsstandards erfüllen. Zu diesen Komponenten gehören:
- wichtige Authentifizierungsanbieter
- Anbieter von Canvas-Apps und modellgesteuerten Apps
- Standard-Power Fx-Funktionen und -aktionen
Erweiterbarkeitsframework (MEF)
Test Engine verwendet das Managed Extensibility Framework (MEF), um eine austauschbare Architektur zu ermöglichen. Dieses Framework ermöglicht drei Haupttypen von Erweiterungen:
Authentifizierungserweiterungen
Authentifizierungserweiterungen ermöglichen verschiedene Möglichkeiten zur Authentifizierung mit Power Platform:
- Speicherstatusauthentifizierung – die standardmäßige browserbasierte Authentifizierungsmethode
- Zertifikatbasierte Authentifizierung – für nicht-interaktive Testausführung
- Benutzerdefinierte Authentifizierungsanbieter – für spezielle Authentifizierungsszenarien
Weitere Informationen finden Sie unter Authentifizierung in Test Engine.
Anbietererweiterungen
Anbietererweiterungen ermöglichen das Testen verschiedener Arten von Anwendungen:
- Canvas App Provider – Zum Testen von Power Apps-Canvas-Anwendungen
- Modellgesteuerter App-Anbieter – Zum Testen von modellgesteuerten Dataverse-Apps
- Power Fx-Anbieter – Zum selbstständigen Ausführen von Power Fx-Anweisungen
- Portal Provider – Zum Automatisieren von Vorgängen in Power Apps
Weitere Informationen finden Sie unter Canvas-Anwendungen, Modellgesteuerte Anwendungen und Dataverse-Erweiterungen.
Power Fx-Erweiterungen
Power Fx-Erweiterungen fügen neue Testfunktionen durch benutzerdefinierte Funktionen hinzu:
- Benutzerdefinierte Funktionen – Low-Code-Funktionen, die im Testplan definiert sind
- C# ReflectionFunction-Implementierungen – benutzerdefinierte Funktionen, die in C#-Modulen implementiert sind
Weitere Informationen finden Sie unter Power Fx-Funktionen und C# ReflectionFunction-Implementierungen.
Entwicklungsoptionen für Erweiterungen
Organisationen haben mehrere Optionen zum Erweitern von Test Engine:
Verwenden der Open Source-Version
Das Power Apps Testmodul ist als Open Source Projekt unter der MIT-Lizenz verfügbar. Microsoft-Erstanbieter, Drittanbieter-Teams und Organisationen können:
- Erstellen Sie neue Anbieter für spezialisierte Testszenarien
- Benutzerdefinierte Authentifizierungsmechanismen entwickeln
- Neue C# ReflectionFunction-Implementierungen erstellen
- Erstellen von Modulen, die die Kernfunktionalität erweitern
- Beiträge zur Aufnahme in das Kernprodukt einreichen
Benutzerdefinierte Power Fx-Funktionen
Für einfachere Szenarien können Sie benutzerdefinierte Funktionen direkt in Ihren Testplänen erstellen:
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())
Benutzerdefinierte Power Fx-Funktionen in C# mit ReflectionFunction
Für komplexere Szenarien können Organisationen benutzerdefinierte C#-Funktionen entwickeln, indem sie die ReflectionFunction-Klasse implementieren und über ein Modul registrieren:
// 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...
}
Zusammenarbeit mit dem Test Engine-Team
Organisationen, die wertvolle Erweiterungen mit dem Open Source Testmodul entwickeln, können erwägen, eine Pull-Anforderung für ihre Erweiterungen zu erstellen, um sie im offiziellen Produkt verfügbar zu machen. Der Prozess umfasst in der Regel:
- Development – Erstellen Sie Ihre Erweiterung mithilfe des Open Source Testmoduls.
- Validierung – Testen Sie Ihre Erweiterung gründlich in Ihrer eigenen Umgebung
- Zusammenarbeit – Arbeiten Sie mit dem Core Test Engine-Team zusammen, um die Erweiterung zu evaluieren
- Integration - Falls genehmigt, signiert Microsoft die Erweiterung und integriert sie in das Produkt.
Dieses Kooperationsmodell ermöglicht Innovationen bei gleichzeitiger Aufrechterhaltung der Sicherheit und Zuverlässigkeit des offiziellen Test Engine-Produkts.
Aspekte der technischen Integration
In den folgenden Abschnitten wird beschrieben, wie die Erweiterbarkeit der Test Engine in Kerntechnologien wie Playwright und den Funktionslebenszyklus integriert wird. Wenn Sie diese Integrationspunkte verstehen, können Sie benutzerdefinierte Erweiterungen effektiv entwickeln und bereitstellen.
Playwright-Integration
Power Apps Testmodul basiert auf Playwright, das die Grundlage für die Browserautomatisierung bietet. Benutzerdefinierte Erweiterungen können mit IBrowserContext von Playwright interagieren, um anspruchsvolle browserbasierte Testfunktionen zu erstellen.
Funktionslebenszyklus
Neue Erweiterungen folgen einem Funktionslebenszyklus:
- Vorschau-Namespace – Neue Erweiterungen sind zunächst als Vorschau-Namespace für erste Tests verfügbar
- TestEngine-Namespace: Nach der Validierung werden die Erweiterungen in den Namespace von TestEngine verschoben.
Vorteile des Erweiterungsmodells
Das Erweiterbarkeitsmodell bietet erhebliche Vorteile:
- Standardization - Microsoft signierte Komponenten sorgen für konsistente Qualität und Sicherheit
- Innovation - Das Open Source-Modell ermöglicht communitygesteuerte Innovationen
- Flexibilität – Organisationen können spezielle Erweiterungen für individuelle Anforderungen erstellen
- Integration – Wertvolle Erweiterungen werden für die Aufnahme in das offizielle Produkt in Betracht gezogen