Power Apps Test Engine-YAML-Format (Vorschauversion)
[Dieses Thema ist Teil der Dokumentation zur Vorabversion und kann geändert werden.]
Tests werden in YAML nach denselben Richtlinien definiert wie bei Power Fx. Erfahren Sie mehr über die Power Fx-YAML-Formelgrammatik.
Ausführliche Beispiele finden Sie im Ordner PowerApps-TestEngine/Beispiele.
YAML-Schemadefinition
Eigenschaften | Eigenschaft |
---|---|
testSuite | Definiert eine Testsuite, die Testfälle in der Testsuite und die für die Testsuite spezifische Konfiguration |
testSettings | Definiert Einstellungen für die Testsuite, die in mehreren Testfällen wiederverwendet werden |
environmentVariables | Definiert Variablen, die sich möglicherweise ändern können, wenn die App in verschiedene Umgebungen portiert wird |
testSuite
Wird zum Definieren eines Tests verwendet.
Test-YAML-Schemadefinition
Eigenschaften | Erforderlich | Beschreibung |
---|---|---|
testSuiteName |
Ja | Der Name der Testsuite |
testSuiteDescription |
Nein | Zusätzliche Informationen zum Beschreiben der Funktion der Testsuite |
persona |
Ja | Der Benutzende, der angemeldet ist, um den Test durchzuführen. Muss mit einer im Abschnitt Benutzer aufgeführten Persona übereinstimmen |
appLogicalName |
Ja | Der logische Name der App, die eingeführt werden soll. Sie kann aus der Lösung gewonnen werden. Für Canvas-Apps müssen Sie sie einer Lösung hinzufügen, um sie zu erhalten |
appId |
Nein | Die ID der App, die eingeführt werden soll. Erforderlich und nur verwendet, wenn der logische App-Name nicht vorhanden ist. Die App-ID sollte nur für Canvas-Apps verwendet werden, die nicht in der Lösung enthalten sind |
networkRequestMocks |
Nein | Definiert Netzwerkanforderungs-Pseudodaten, die für den Test benötigt werden |
testCases |
Ja | Definiert Testfälle in der Testsuite. In Testsammlungen enthaltene Testfälle werden sequenziell ausgeführt. Der App-Status wird für alle Testfälle in einer Suite beibehalten |
onTestCaseStart |
Nein | Definiert die Schritte, die für jeden Testfall in einer Testsuite ausgelöst werden müssen, bevor die Ausführung des Falls beginnt |
onTestCaseComplete |
Nein | Definiert die Schritte, die für jeden Testfall in einer Testsuite ausgelöst werden müssen, nachdem die Ausführung des Falls abgeschlossen ist |
onTestSuiteComplete |
Nein | Definiert die Schritte, die ausgelöst werden müssen, nachdem die Ausführung durch die Suite abgeschlossen ist |
NetworkRequestMocks testen
Eigenschaften | Erforderlich | Beschreibung |
---|---|---|
requestURL |
Ja | Die Anforderungs-URL, die eine Simulationsantwort erhält. Globale Muster werden akzeptiert |
responseDataFile |
Ja | Eine Textdatei mit dem Inhalt der Simulationsantwort. Der gesamte Text in dieser Datei wird als Antwort gelesen |
method |
Nein | Die Anforderungsmethode (GET, POST, usw.) |
headers |
Nein | Eine Liste der Kopfzeilenfelder in der Anforderung im Format [fieldName: fieldValue] |
requestBodyFile |
Nein | Eine Textdatei mit dem Anforderungstext. Der gesamte Text in dieser Datei wird als Anforderungstext gelesen |
Wenn für optionale Eigenschaften kein Wert angegeben wird, gilt das Routing für alle. Zum Beispiel, wenn method
Null ist, senden wir die Simulationsantwort unabhängig von der Methode zurück, solange alle anderen Eigenschaften übereinstimmen.
Bei Sharepoint/Dataverse/Konnektor-Apps können requestURL
und method
für alle Anforderungen gleich sein. x-ms-request-method
und x-ms-request-url
in Kopfzeilen müssen in diesem Fall möglicherweise konfiguriert werden, um unterschiedliche Anforderungen zu identifizieren.
TestCases testen
Eigenschaften | Erforderlich | Eigenschaft |
---|---|---|
testCaseName |
Ja | Der Name des Testfalls, der für die Erfolgs- und Fehlermeldung verwendet wird |
testCaseDescription |
Nein | Zusätzliche Informationen zum Beschreiben der Funktion des Testfalls |
testSteps |
Ja | Eine Reihe von Power Fx-Funktionen, die die zur Durchführung des Testfalls erforderlichen Schritte beschreiben |
TestSteps testen
- Hierzu können alle vorhandenen Test Engine Power Fx-Funktionen oder spezifischen Testfunktionen verwendet werden, die durch dieses Framework definiert werden.
- Dies sollte mit einem
|
beginnen, um mehrzeilige YAML-Ausdrücke gefolgt von einem=
-Zeichen zu ermöglichen, um anzuzeigen, dass es sich um einen Power Fx-Ausdruck handelt - Funktionen sollten durch ein
;
getrennt werden - Kommentare können verwendet werden und sollten mit
//
beginnen
testSettings
Wird verwendet, um Einstellungen für die Tests im Testplan zu definieren.
testSettings-YAML-Schemadefinition
Eigenschaften | Erforderlich | Beschreibung |
---|---|---|
locale |
Ja | Die Gebietsschema-/Kultursyntax, in der die Testfälle oder Testschritte geschrieben sind. Weitere Informationen erhalten Sie unter Globaler Support in Microsoft Power Fx. Falls nicht angegeben, wird CultureInfo.CurrentCulture standardmäßig für das Gebietsschema zum Parsen der Testschritte verwendet. |
browserConfigurations |
Ja | Eine Liste der zu testenden Browserkonfigurationen. Es muss mindestens ein Browser angegeben sein. |
recordVideo |
Nein | Standardwert ist „falsch“. Bei „true“ wird eine Videoaufzeichnung des Tests erfasst. |
headless |
Nein | Der Standardwert ist korrekt. Wenn der Wert auf „false“ gesetzt ist, wird der Browser während der Testausführung angezeigt. |
timeout |
Nein | Timeout-Wert in Millisekunden. Der Standardwert beträgt 30.000 Millisekunden (30 Sekunden). Wenn ein Vorgang länger dauert als das Timeout-Limit, wird der Test mit einem Fehler beendet. |
filePath |
Nein | Der Dateipfad zu einer separaten Yaml-Datei mit allen Testeinstellungen. Falls angegeben, werden alle Testeinstellungen im Testplan überschrieben. |
testSettings-Browserkonfiguration
Eigenschaften | Erforderlich | Beschreibung |
---|---|---|
browser |
Ja | Der Browser, der beim Testen gestartet werden soll. Sollte mit den von Playwright unterstützten Browsern übereinstimmen. |
device |
Nein | Das Gerät, das beim Starten des Browsers emuliert werden soll. Sollte mit den von Playwright unterstützten Geräten übereinstimmen |
screenHeight |
Nein | Die Höhe der Anzeige, die beim Starten des Browsers verwendet werden soll. Falls angegeben, muss auch screenWidth angegeben werden. |
screenWidth |
Nein | Die Breite der Anzeige, die beim Starten des Browsers verwendet werden soll. Falls angegeben, muss auch screenHeight angegeben werden. |
Users
Um sicherzustellen, dass Anmeldeinformationen sicher gespeichert werden, verweist die Testdefinition mithilfe eines Persona-Namens auf Benutzende. Das Speichern von Anmeldeinformationen in Testplandateien wird nicht unterstützt.
Verweise auf die Benutzeranmeldeinformationen finden Sie im Abschnitt environmentVariables
als Liste von users
Beispiel:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
passwordKey: "user1Password"
- personaName: "User2"
emailKey: "user2Email"
passwordKey: "user2Password"
Der personaName
wird als Teil der Testdefinition verwendet, um anzugeben, unter welchem Benutzenden der Test ausgeführt werden soll.
Unterstützte Speichermechanismen für Anmeldeinformationen
Hinweis
Die Multi-Faktor-Authentifizierung wird nicht unterstützt.
Umgebungsvariablen
Um Anmeldeinformationen als Umgebungsvariablen zu speichern, können Sie dies wie folgt festlegen:
# <a name="in-powershell---replace-variablename-and-variablevalue-with-the-correct-values"></a>In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
In der YAML müssen zwei Eigenschaften definiert werden, um anzugeben, dass die Anmeldeinformationen dieses Benutzenden in Umgebungsvariablen gespeichert werden:
emailKey
: Die Umgebungsvariable, die zum Speichern der E-Mail-Adresse des Benutzenden verwendet wird.passwordKey
: Die Umgebungsvariable, die zum Speichern des Kennworts des Benutzenden verwendet wird.
Beispiel-YAML:
- personaName: "User1"
emailKey: "user1Email"
passwordKey: "user1Password"
Beispiel-PowerShell zum Festlegen von Benutzeranmeldeinformationen basierend auf YAML:
$env:user1Email = "someone@example.com"
$env:user1Password = "fake password"
Siehe auch
Übersicht über die Power Apps Test Engine (Vorschauversion)
Power Apps Test Engine – Power Fx-Funktionen (Vorschauversion)
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).