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.
In dieser Schnellstartanleitung erstellen Sie Tests für eine Canvas-App namens Kudos. Sie können auch Testkonzepte erkunden und entdecken und sie auf das Schreiben von Tests für Ihre eigenen Canvas-Apps anwenden. Die Kudos-Beispiel-App ist Teil einer Suite von Mitarbeiterbindungs-Apps, die aus dem Employee Experience Starter Kit heruntergeladen werden können.
Schauen Sie sich dieses Video an, um zu erfahren, wie Sie mit Test Studio arbeiten:
Öffnen von Test Studio
Melden Sie sich bei Power Apps an.
Erstellen Sie eine neue App , oder bearbeiten Sie eine vorhandene App.
Speichern Sie Ihre App in Power Apps, um Test Studio zu öffnen.
Hinweis
Sie müssen eine App speichern, bevor Sie Tests für die App schreiben können.
Wählen Sie im linken Navigationsbereich erweiterte Tools aus.
Wählen Sie "Tests öffnen" aus, um das Test Studio für diese Anwendung zu öffnen. Diese Aktion öffnet Test Studio auf einer neuen Registerkarte.
Hinweis
Tests werden veröffentlicht und im App-Paket gespeichert. Das Exportieren und Importieren eines Canvas-App-Pakets in eine andere Umgebung umfasst auch alle Testdefinitionen wie Testsammlungen und Testfälle, die Sie erstellt haben.
Erstellen einer Testsuite
Standardmäßig werden eine Testsuite und ein Testfall für Sie in Test Studio erstellt. Testsuiten werden verwendet, um Ihre Testfälle zu organisieren. Eine App kann eine oder mehrere Testsuiten enthalten. Sie können die Standardtestsuite und den Fall verwenden, um sofort mit dem Schreiben Ihrer Tests zu beginnen oder eine neue Testsuite zu erstellen.
Wählen Sie "Neue Suite" aus.
Aktualisieren Sie den Namen und die Beschreibung der Testsuite , indem Sie die Felder im Hauptraster auswählen.
Erstellen eines Testfalls
Je nachdem, wie Sie Ihre Tests organisieren oder gruppieren möchten, können Sie mehrere Testfälle in einer Testsuite erstellen. Jeder Fall kann ein bestimmtes Feature oder eine Teilmenge von Funktionen in Ihrer App testen.
- Wählen Sie eine Testsuite aus.
- Wählen Sie im oberen Menü " Neuer Fall" aus, um einen neuen Fall zu erstellen.
- Aktualisieren Sie den Namen und die Beschreibung des Testfalls , indem Sie die Felder im Hauptraster auswählen.
Aufzeichnen eines Testfalls
Ein Testfall besteht aus Testschritten, die Aktionen enthalten. Testaktionen werden mithilfe von Power Apps-Ausdrücken geschrieben, die eine Aufgabe ausführen. Sie können den Recorder verwenden, um die Testschritte während der Interaktion mit Ihrer App automatisch zu generieren. Nach dem Aufzeichnen können Sie den Testfall aktualisieren, neue Schritte hinzufügen, Schritte löschen und Test assertionen schreiben, um das Ergebnis Ihres Tests zu überprüfen.
Hinweis
Nur veröffentlichte Apps können im Aufzeichnungsmodus wiedergeben werden. Veröffentlichen Sie alle kürzlich vorgenommenen Änderungen an der App, bevor Sie mit der Aufzeichnung eines Testfalls beginnen. Beim Aufzeichnen ohne die neuesten Änderungen zu veröffentlichen, wird die letzte veröffentlichte Version der App im Aufzeichnungsmodus abgespielt.
Wählen Sie im oberen Menü "Aufzeichnen" aus. Diese Aktion öffnet die veröffentlichte App mit dem Aufzeichnungsmodus in einem neuen Browser-Tab.
Von Bedeutung
Die Aufzeichnung in einem vorhandenen Testfall setzt alle vorhandenen Testschritte außer Kraft.
Interagieren Sie mit Ihrer App. Ihre Aktionen werden im linken Bereich aufgezeichnet .
Nachdem die Interaktion abgeschlossen ist, wählen Sie "Fertig" aus. Optional können Sie "Abbrechen " auswählen, um zu Test Studio zurückzukehren, ohne dass Ihre Interaktionen aufgezeichnet werden.
Zeigen Sie die Testschritte und die Ausdrücke an, die automatisch für Sie in Test Studio generiert wurden.
Bearbeiten Sie ggf. den Text der Schrittbeschreibung im Hauptraster. Sie können die Testschrittaktionen auch aktualisieren, indem Sie die Formel im Hauptraster auswählen.
Hinzufügen von Testschritten und Test assertionen
Jeder Testfall sollte ein erwartetes Ergebnis haben. Im Kudos-Beispiel ist eines der erwarteten Ergebnisse für das Senden eines Lobs das Erstellen eines neuen Datensatzes in der Microsoft Dataverse (Dataverse)-Datenbank. Sie aktualisieren nun den Testfall und fügen zusätzliche Testschritte hinzu, um zu überprüfen, ob ein Datensatz erfolgreich erstellt wurde.
Führen Sie die folgenden Schritte aus, um eine erfolgreiche Datensatzerstellung zu überprüfen:
- Initialisieren Sie eine Variable für die Anzahl der Kudo-Datensätze in der Datenbank am Anfang des Testfalls.
- Initialisieren Sie eine Variable für die Anzahl der Kudo-Datensätze in der Datenbank am Ende des Testfalls.
- Schreiben Sie einen Assertionsausdruck für den Test, um zu überprüfen, ob die Anzahl um 1 inkrementiert wurde. Wenn die Anzahl nicht um eine erhöht wird, schlägt die Test assertion fehl, und ihr Testfall schlägt fehl.
So fügen Sie Testschritte und Test assertionen in der Kudos-App hinzu:
Wählen Sie Schritt 1 oder den Schritt darüber aus, über dem Sie einen neuen Schritt einfügen möchten.
Wählen Sie Einfügen eines Schrittes oben im Menü aus, oder wählen Sie die Option aus der aktiven Zeile. Diese Aktion erstellt einen leeren Schritt.
Hinweis
Wenn Sie oben "Schritt einfügen" auswählen, wird oberhalb des aktuellen Schritts ein neuer leerer Schritt hinzugefügt. Sie können stattdessen auch Assert-, SetProperty-, Select - oder Trace-Aktionen verwenden. Dadurch wird ein Schritt mit einer entsprechenden Aktionsformel hinzugefügt, die Sie bearbeiten können.
Aktualisieren Sie die Schrittbeschreibung. Beispiel: "Zähle Kudo in der Datenbank".
Geben Sie einen Ausdruck oder eine Formel in die Aktionseingabe ein, um die Datensätze in der Datenbank zu zählen, bevor Sie den Test ausführen.
Sie können jeden unterstützten Ausdruck verwenden. Sie können auch alle Datenquellen, Sammlungen, Variablen oder Ausführungsflüsse abfragen, die in Ihrer App enthalten sind, und neue globale Variablen oder Sammlungen erstellen, die in Ihren Tests verwendet werden sollen.
Set(kudosBeforeTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```Wählen Sie Schritt 2 oder den Schritt darüber aus, über dem Sie einen neuen Schritt einfügen möchten.
Wählen Sie Einfügen eines Schritts darüber im oberen Menü aus oder wählen Sie die Option aus der aktiven Zeile aus. Diese Aktion erstellt einen leeren Schritt.
Geben Sie in die Aktionseingabe einen Überwachungs-Ausdruck oder eine entsprechende Formel ein, und schreiben Sie den Wert kudosBeforeTest in den Datensatz der Testergebnisse.
Trace("kudosBeforeTest : " & kudosBeforeTest);
Wechseln Sie zum Ende des Testfalls, und fügen Sie einen neuen Schritt ein, um die Datensätze in der Datenbank zu zählen, nachdem der Test abgeschlossen wurde.
Set(kudosAfterTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```Fügen Sie einen letzten Schritt hinzu, um zu überprüfen, ob die Datensatzanzahl in der Datenbank um 1 erhöht wurde, und geben Sie die folgende Assertionsaktion ein, um dies zu überprüfen:
Assert(kudosAfterTest = kudosBeforeTest + 1, "Kudos count incorrect. Expected : " & kudosBeforeTest + 1 & " Actual :" & kudosAfterTest)
Speichern Sie den Testfall im Menü oben rechts in Test Studio.
Spielen Sie Ihren Test ab
Sie können Den aufgezeichneten Test wiedergeben, um die App-Funktionalität zu überprüfen. Sie können alle Tests in einer einzigen Testsuite oder in einem einzigen Testfall wiedergeben.
Bevor Sie die Aufzeichnung mit den letzten Änderungen wiedergeben, müssen Sie die App veröffentlichen:
Von Bedeutung
Wenn Sie die Veröffentlichung überspringen, enthält die Wiedergabe der Aufzeichnung Ihre letzten Teständerungen nicht. In diesem Fall wird der zuletzt veröffentlichte Testfall oder die zuletzt veröffentlichte Testsammlung für die App wiedergegeben.
Wählen Sie "Veröffentlichen" aus, um Ihren Test automatisch zu speichern und zu veröffentlichen.
Wählen Sie entweder eine Testsuite oder einen einzelnen Testfall aus.
Wählen Sie Abspielen. Die veröffentlichte App wird im Wiedergabemodus geöffnet, und Sie können sich ansehen, wie Ihre Testschritte automatisch wiedergegeben werden. Ein grünes Häkchen gibt an, wann ein Testschritt erfolgreich ausgeführt wird. Wenn ein Schritt fehlschlägt, wird eine rote Fehleranzeige zusammen mit einer Fehlermeldung angezeigt.
Wählen Sie "Fertig" aus, um zu Test Studio zurückzukehren.
Assertionsfehler
In diesem Abschnitt ändern Sie die Testaussage, um einen fehlgeschlagenen Test zu simulieren.
Bearbeiten Sie den Assertionsschritt, indem Sie das Ausdrucksfeld auswählen.
Aktualisieren
+ 1auf+ 2in Testaktion. Dieses Update bedeutet, dass der Test erwartet, dass zwei Datensätze erstellt werden, was falsch ist. Wenn der Test erfolgreich ist, sollte nur ein Datensatz in der Datenbank erstellt werden.Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2 & " Actual :" & kudosAfterTest)
Wählen Sie Veröffentlichen aus.
Wählen Sie Abspielen.
Testwiedergabe anzeigen. Der letzte Schritt schlägt jetzt fehl und zeigt einen Fehler und die Meldung an, die Sie im Assertionsschritt angegeben haben.
Ausführen von Tests in einem Browser
Sie können einen Link kopieren, um einen Test in einem separaten Browser außerhalb von Test Studio wiederzugeben. Es hilft, Ihre Tests in eine fortlaufende Build- und Releasepipeline wie Azure DevOps zu integrieren.
Der Wiedergabelink für einen ausgewählten Test wird beibehalten. Es ändert sich nicht für die Testsuite oder den Testfall. Sie können Ihre Tests aktualisieren, ohne Dass Build- und Releaseprozesse geändert werden müssen.
So spielen Sie Tests in Ihrem Browser ab:
Wählen Sie im rechten Bereich eine Testsuite oder einen Testfall aus.
Wählen Sie die Option "Link zur Wiedergabe kopieren" aus.
Sie werden aufgefordert, Ihre Tests zu veröffentlichen, wenn unveröffentlichte Änderungen vorhanden sind.
Sie können auswählen, um den Veröffentlichungsprozess zu überspringen und den Wiedergabelink zu kopieren. Neue Teständerungen werden nicht abgespielt, wenn Sie überspringen.
Öffnen Sie einen Browser, und fügen Sie die URL in die Adressleiste ein, um den Test wiederzugeben.
Sehen Sie sich an, wie der Test wiedergeben wird.
Einrichten Ihrer Tests
Die OnTestCaseStart-Eigenschaft einer Test Suite kann verwendet werden, um Ihren Test einzurichten. Der für diese Eigenschaft eingegebene Ausdruck wird für jeden Testfall in einer Testsuite ausgelöst, bevor die Ausführung des Falls beginnt. OnTestCaseStart hilft Ihnen, das wiederholte Schreiben derselben Testschritte am Anfang jedes Falls zu vermeiden. Sie können diese Eigenschaft so anpassen, dass Aufgaben ausgeführt werden, die allen Fällen in der Suite gemeinsam sind, z. B.:
- Starten Sie immer die Testausführung vom ersten Bildschirm aus.
- Initialisierung gängiger Sammlungen oder Variablen.
- Abrufen von Testdaten aus einer Datenquelle für den aktuellen Ausgeführten Test
Der TestCaseInfo-Eintrag enthält Details für den aktuellen Test, der ausgeführt wird. Sie enthält die folgenden Eigenschaften:
- TestCaseName – der Name des Testfalls.
- TestCaseDescription – die Beschreibung des Testfalls.
- TestCaseId – die ID des Testfalls.
- TestSuiteName – der Name der Testsuite, zu dem der Fall gehört.
- TestSuiteDescription – die Beschreibung der Testsuite.
- TestSuiteId – die Testsuite-ID, zu der der Fall gehört.
Im folgenden Beispiel passen Sie die OnTestCaseStart-Eigenschaft so an, dass jeder Testfall vom ersten Bildschirm in Ihrer App beginnt. Außerdem rufen Sie die Testdaten aus einer Datenquelle ab, auf die in den Schritten für den Testfall verwiesen werden kann.
Wählen Sie "Test" im linken Bereich oder "View" in der Suite-Kopfzeile aus.
Wählen Sie die OnTestCaseStart-Aktion aus.
Geben Sie einen Ausdruck ein, um zum ersten Bildschirm zu navigieren und die Testdaten für Ihren Test abzurufen.
//Start every cases on the first screen in the Kudos app Navigate('Dashboard Screen'); //Initialize my test data for the current case. Set(currentTestData, LookUp(KudosTestData, TestCase = TestCaseInfo.TestCaseName)); //Set kudosBeforeTest to 0 Set(kudosBeforeTest, 0)
Verarbeiten von Testergebnissen
Der Testbereich, der beim Wiedergeben von Tests in Test Studio sichtbar ist, ist bei Verwendung eines Browsers nicht sichtbar. Aufgrund dieses Verhaltens können Sie nicht den spezifischen Testschritt ermitteln, der ausgeführt wird, oder ob ein Test bestanden oder fehlschlägt.
Um Testergebnisse außerhalb von Test Studio zu ermitteln, gibt es zwei Eigenschaften namens "OnTestCaseComplete " und "OnTestSuiteComplete" , die Sie zum Verarbeiten der Ergebnisse Ihrer Tests verwenden können. Wenn Sie Tests in eine fortlaufende Build- und Releasepipeline wie Azure DevOps integrieren, können diese Eigenschaften verwendet werden, um festzustellen, ob Sie mit der App-Bereitstellung fortfahren sollten.
Der für diese Eigenschaften eingegebene Ausdruck wird ausgelöst, wenn ein jeweiliger Testfall oder eine Testsammlung abgeschlossen ist. Sie können diese Eigenschaften so anpassen, dass sie verarbeitet werden, und die Ergebnisse Ihrer Tests an verschiedene Datenquellen oder Dienste senden, z. B.:
- SQL Server.
- Dataverse.
- Power Automate.
- E-Mail mit Office 365.
Diese Einstellungen gelten für jede Testsuite oder jeden Testfall in Ihrer App. Nach Abschluss jeder Testsuite oder jedes Testfalls sind die Testergebnisse und alle in den Tests enthaltenen Ablaufverfolgungsmeldungen in den Datensätzen TestCaseResult und TestSuiteResult verfügbar.
Der TestCaseResult-Datensatz enthält die folgenden Eigenschaften:
- TestCaseName – der Name des Testfalls.
- TestCaseDescription – die Beschreibung des Testfalls.
- TestCaseId – die ID des Testfalls.
- TestSuiteName – der Name der Testsuite, zu dem der Fall gehört.
- TestSuiteDescription – die Beschreibung der Testsuite.
- TestSuiteId – die Testsuite-ID, zu der der Fall gehört.
- StartTime – die Startausführungszeit des Tests.
- EndTime – die Endausführungszeit des Tests.
- Traces: Ergebnisse aller Testassertionen und gegebenenfalls aufgetretene Meldungen der Nachverfolgungsfunktion
- Erfolg – gibt an, ob der Testfall erfolgreich abgeschlossen wurde.
- TestFailureMessage – wenn der Fall fehlgeschlagen ist, wird die Fehlermeldung angezeigt.
Der TestSuiteResult-Eintrag enthält die folgenden Eigenschaften:
- TestSuiteName – der Name der Testsuite.
- TestSuiteDescription – die Beschreibung der Testsuite.
- TestSuiteId – die Testsuite-ID.
- StartTime – die Startausführungszeit der Testsuite.
- EndTime – die Endausführungszeit der Testsuite.
- TestsPassed – die Anzahl der Testfälle, die erfolgreich in der Suite abgeschlossen wurden.
- TestsFailed - die Anzahl der Testfälle, die in der Suite fehlgeschlagen sind.
In dieser Schnellstartanleitung erstellen Sie zwei benutzerdefinierte Tabellen in der Dataverse-Datenbank, um die Testergebnisse zu speichern, indem Sie die Eigenschaften OnTestCaseComplete und OnTestSuiteComplete anpassen:
Wählen Sie Test im linken Bereich oder Anzeigen in der Suite-Kopfzeile aus.
Wählen Sie die OnTestCaseComplete-Aktion aus.
Geben Sie einen Ausdruck ein, um die Ergebnisse Ihres Tests zu verarbeiten. Im folgenden Beispiel werden die Ergebnisse der einzelnen Testfälle in der benutzerdefinierten Tabelle "AppTestResults" in Dataverse gespeichert. Die Testergebnisse können optional in SQL, SharePoint oder einer anderen Datenquelle gespeichert werden. Möglicherweise müssen Sie das Feld für die Ablaufverfolgung in Ihrer Datenquelle entsprechend festlegen oder vergrößern.
Hinweis
Die folgenden Beispiele stellen eine Verbindung mit Microsoft Dataverse her. Sie können eine einfache App erstellen oder eine App ganz neu mit Dataverse erstellen. Außerdem finden Sie weitere Informationen zum Ändern von Datensätzen einer Datenquelle, die in den folgenden Beispielen verwendet wird, in der Patch-Funktionsreferenz.
//Save to Dataverse Patch(AppTestResults , Defaults(AppTestResults) , { TestPass: TestCaseResult.TestCaseName & ":" & Text(Now()) ,TestSuiteId: TestCaseResult.TestSuiteId ,TestSuiteName: TestCaseResult.TestSuiteName ,TestCaseId: TestCaseResult.TestCaseId ,TestCaseName: TestCaseResult.TestCaseName ,StartTime: TestCaseResult.StartTime ,EndTime: TestCaseResult.EndTime ,TestSuccess: TestCaseResult.Success ,TestTraces: JSON(TestCaseResult.Traces) ,TestFailureMessage: TestCaseResult.TestFailureMessage } );
Wählen Sie die OnTestSuiteComplete-Aktion aus.
Geben Sie einen Ausdruck ein, um die Ergebnisse Ihres Tests zu verarbeiten. Im folgenden Beispiel speichern Sie die Ergebnisse jeder Testsuite in der benutzerdefinierten Tabelle "AppTestSuiteResults" in Dataverse.
//Save to Dataverse Patch(AppTestSuiteResults , Defaults(AppTestSuiteResults) , { TestSuiteId: TestSuiteResult.TestSuiteId ,TestSuiteName: TestSuiteResult.TestSuiteName ,StartTime: TestSuiteResult.StartTime ,EndTime: TestSuiteResult.EndTime ,TestPassCount: TestSuiteResult.TestsPassed ,TestFailCount: TestSuiteResult.TestsFailed } );
Weitere Beispiele für Ausdrücke, die Sie in diesen Eigenschaften verwenden können, sind:
Senden von Ergebnissen an einen Fluss in Power Automate.
MyTestResultsFlow.Run(JSON(TestCaseResult))Senden Sie ihre Ergebnisse per E-Mail.
Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))Erhalten Sie eine App-Benachrichtigung über das Testergebnis.
Erhalten Sie beispielsweise eine Benachrichtigung, nachdem der Test abgeschlossen ist, wenn Sie den Test in einem Browser außerhalb von Test Studio wiedergeben.
Notify(TestCaseResult.TestCaseName & " : " & If( TestCaseResult.Success , " Passed" , TestCaseResult.TestFailureMessage) ,If( TestCaseResult.Success , NotificationType.Success , NotificationType.Error) )
Testfunktionen
Zusätzlich zu den in Power Apps verfügbaren Funktionen sind die folgenden allgemeinen Funktionen aufgeführt, die Sie in der Regel beim Erstellen von Tests verwenden: