Der KI-Agent zum Testen von Anwendungen ist ein Agent zur Generierung, Verwaltung und Ausführung von Testfällen, der auf Gemini in Firebase basiert. Sie definieren Testziele in natürlicher Sprache und der Agent verwendet KI, um Ihre App zu verstehen und darin zu navigieren, Nutzerinteraktionen zu simulieren und detaillierte Testergebnisse bereitzustellen.
So verwendet der KI-Agent zum Testen von Anwendungen Ihre Daten
Der KI-Agent zum Testen von Anwendungen wird von Gemini in Firebase bereitgestellt und unterliegt denselben Nutzungsbedingungen. Weitere Informationen dazu, wie Gemini in Firebase Ihre Daten verwendet, finden Sie unter So verwendet Gemini in Firebase Ihre Daten.
Hinweis
Registrieren Sie Ihre App bei Firebase, falls noch nicht geschehen.
Wenn Sie keine anderen Firebase-Produkte verwenden, müssen Sie nur ein Projekt erstellen und Ihre App registrieren. Sie müssen Ihrer App keine SDKs hinzufügen. Wenn Sie sich jedoch in Zukunft für die Verwendung zusätzlicher Produkte entscheiden, müssen Sie alle Schritte unter Firebase über die Firebase Console hinzufügen ausführen.
Testlauf erstellen
Für KI-gestützte Tests verwendet der KI-Agent zum Testen von Anwendungen Ihre Testläufe in natürlicher Sprache, um Tests für Ihre App auszuführen.
Jeder Testlauf ist in Schritte unterteilt, die nacheinander ausgeführt werden. Mit Schritten können Sie Ihren Testfall in Phasen aufteilen, die jeweils eine eigene Assertion haben. Der Agent kann in einem Schritt viele Aktionen ausführen.
Es gibt zwei Möglichkeiten, einen Testfall zu erstellen: mit einer YAML-Datei oder mit der Firebase Console. Mit YAML-Dateien können Sie die Testläufe selbst verwalten, in der Regel in einem Code-Repository mit Versionsverwaltung für den Quellcode. Alternativ können Ihre Testfälle in der Firebase Console zusammen mit Ihren App-Bereitstellungsdaten remote gespeichert werden.
YAML-Dateien verwenden
Das folgende Beispiel zeigt eine YAML-Datei, in der zwei Testläufe definiert sind:
tests:
- displayName: Login as guest
id: login-as-guest
steps:
- goal: Log in as a guest
finalScreenAssertion: The home screen is visible
- displayName: View biography card birth date
prerequisiteTestCaseId: login-as-guest
steps:
- goal: Open the article on "Bob Dylan"
hint: Use the search function to find it
finalScreenAssertion: >-
The article is opened and the title "Bob Dylan" is visible.
- goal: Find Bob Dylan's birthday in the article
hint: >-
Look for the "Born" section in the infobox on the right side of the page.
finalScreenAssertion: >-
The text "May 24, 1941" is visible on the screen.
Sie können Testgruppen in einer einzelnen Datei organisieren und diese Test-Suites in mehreren Dateien trennen. Sie können einen erforderlichen Testfall hinzufügen, indem Sie dem Test eine ID hinzufügen und dann mit prerequisiteTestCaseId auf diese ID verweisen.
App Distribution Console verwenden
Alternativ können Sie Ihre Testläufe in der Firebase Console erstellen und verwalten. Öffnen Sie zum Erstellen eines Testlaufs die Seite App Distribution der Firebase-Konsole und führen Sie die folgenden Schritte aus:
- Klicken Sie auf dem Tab Testläufe auf Neuer Testlauf. Wenn Sie keinen eigenen Testfall erstellen möchten, können Sie den bereitgestellten Beispieltestfall ändern oder verwenden.
- Geben Sie im Dialogfeld Testlauf hinzufügen einen Namen für den Testlauf ein. Diese wird verwendet, um den Test zu identifizieren, wird aber vom Agenten ignoriert.
- Optional: Wählen Sie einen Voraussetzungstestfall aus, der Einrichtungsschritte enthält, die vor dem Haupttest ausgeführt werden sollen. Wenn der Voraussetzungstest fehlschlägt, wird der gesamte Test als fehlgeschlagen markiert. Die Schritte und Ergebnisse der erforderlichen und der Haupttests werden zusammen in den Testergebnissen angezeigt.
- Sie können den Test in mehrere Schritte aufteilen, indem Sie auf den Button Weiteren Schritt hinzufügen klicken.
- Geben Sie für jeden Schritt ein Ziel an, das beschreibt, was der KI-Agent zum Testen von Anwendungen in diesem Schritt tun soll.
- (Optional) Fügen Sie einen Hinweis hinzu, um zusätzliche Informationen bereitzustellen, damit der KI-Agent zum Testen von Anwendungen die Funktionsweise besser versteht und sich in Ihrer App zurechtfindet.
- Fügen Sie eine Assertion für den letzten Bildschirm hinzu, damit der KI-Agent zum Testen von Anwendungen feststellen kann, wann der Schritt erfolgreich abgeschlossen wurde. Diese Assertion sollte sich nur auf das beziehen, was auf dem Bildschirm sichtbar ist.
- Klicken Sie auf Speichern, wenn Sie mit der Anpassung des Tests fertig sind.
Beispiel für einen Testlauf
Im Folgenden finden Sie ein Beispiel für das Erstellen eines Testfalls mit dem KI-Agenten zum Testen von Anwendungen:
Testtitel |
Startseite wird geladen |
Ziel |
Startseite laden |
Hinweis |
Überspringe alle Onboarding-Bildschirme. Schließe alle Pop-ups. Nicht anmelden. |
Assertion für letzten Bildschirm |
Die Startseite der Haupt-App ist auf dem Bildschirm zu sehen, alle Bilder wurden geladen und es werden keine Fehler angezeigt. |
Testen
Wie Sie Ihre Tests ausführen, hängt davon ab, wie Sie Ihre Testfälle erstellen und verwalten. Wenn Sie Testläufe mithilfe von YAML-Dateien definieren, führen Sie diese Tests mit der Firebase CLI aus. Wenn Sie Ihre Testläufe in der App Distribution-Konsole erstellen, führen Sie sie über die Konsole oder über eines der App Distribution-CLI-Tools aus.
YAML-Dateien verwenden
In YAML-Dateien definierte Testläufe können mit der Firebase CLI ausgeführt werden.
- Installieren oder aktualisieren Sie die Firebase CLI auf die aktuelle Version. Wir empfehlen, die eigenständige Binärdatei für die Befehlszeile herunterzuladen, die für Ihr Betriebssystem spezifisch ist.
- Melden Sie sich an und testen Sie, ob Sie auf Ihre Projekte zugreifen können. Wenn Sie die Firebase CLI in einer CI-Umgebung verwenden, können Sie sich auch mit einem Dienstkonto oder mit login:ci authentifizieren.
Führen Sie den Befehl
apptesting:executeaus: Beispiel:firebase apptesting:execute \ --app=1:1234567890:android:0a1b2c3d4e5f67890 \ --test-dir=./mytests \ ./app/build/outputs/apk/debug/app-debug.apk
| apptesting:execute [options] [/path/to/app/binary] | |
|---|---|
--app
|
Erforderlich:Die Firebase-App-ID Ihrer App. Sie finden die App-ID in der Firebase-Konsole auf der Seite Allgemeine Einstellungen.
|
--test-dir
|
Pfad zu einem Verzeichnis, das YAML-Dateien für Testläufe enthält. Der Befehl sucht rekursiv in diesem Verzeichnis, sodass die Dateien optional in Unterverzeichnissen organisiert werden können. Wenn die Richtlinie nicht konfiguriert ist, wird standardmäßig „./tests“ verwendet. |
--test-devices oder --test-devices-file
|
Die Geräte, auf denen die Tests ausgeführt werden sollen. Sie können die Testgeräte als durch Semikolons getrennte Liste von Gerätespezifikationen angeben: --test-devices
"model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
Alternativ können Sie den Pfad zu einer Nur-Text-Datei angeben, die eine durch Semikolons getrennte Liste von Gerätespezifikationen enthält: --test-devices-file
"/path/to/test-devices.txt" Sie können die verfügbaren Gerätemodelle mit der gcloud CLI abrufen. |
--test-username
|
Der Nutzername für die automatische Anmeldung, der während der Tests verwendet werden soll. |
--test-password oder --test-password-file
|
Das Passwort für die automatische Anmeldung, das während der Tests verwendet werden soll. Alternativ können Sie den Pfad zu einer Nur-Text-Datei mit einem Passwort angeben: --test-password-file: "/path/to/test-password.txt"
|
--test-non-blocking
|
Wenn diese Option festgelegt ist, startet der Befehl die Tests und kehrt dann sofort zurück, anstatt auf den Abschluss zu warten. Die Testergebnisse finden Sie in der Firebase Console. Wenn dieses Flag nicht festgelegt ist, wird der Befehl blockiert, bis die Tests abgeschlossen sind. Wenn einer der Tests fehlschlägt, wird der Befehl mit einem Fehlercode beendet. |
--results-bucket
|
Ein benutzerdefinierter Google Cloud Storage-Bucket (GCS), in dem Testergebnisse gespeichert werden. Wenn Sie dieses Feld leer lassen, wird der Standard-Bucket verwendet. Der Bucket muss zu einem Projekt mit aktivierter Abrechnung gehören. Wenn Sie einen Bucket angeben, fallen Abrechnungsgebühren für den verwendeten Speicher an. |
--test-file-pattern
|
Ein Muster für einen regulären Ausdruck. Es werden nur Tests ausgeführt, die in Dateien enthalten sind, die diesem Muster entsprechen. |
--test-name-pattern
|
Ein Muster für einen regulären Ausdruck. Es werden nur Tests mit Anzeigenamen ausgeführt, die diesem Muster entsprechen. |
/path/to/app/binary
|
Optional: Der Pfad zur Binärdatei Ihrer App. Wenn nichts angegeben ist, verwendet der Agent die letzte Version, die für die angegebene App in App Distribution hochgeladen wurde. |
App Distribution Console verwenden
Wenn Sie in App-Bereitstellung gespeicherte Testläufe ausführen möchten, können Sie die Firebase Console, die Firebase CLI oder die Gradle- oder fastlane-Plug-ins von App Distribution verwenden.
Testläufe mit YAML-Dateien importieren und exportieren
Das Importieren von Testläufen aus YAML-Dateien ist nützlich, wenn Sie Testläufe außerhalb der Firebase Console verwalten möchten. Es kann auch nützlich sein, Testfälle zu exportieren, um sie zwischen Projekten zu verschieben. Sie können ein LLM verwenden, um vorhandene Testläufe zu optimieren oder neue Testläufe zu erstellen. Sie können Testläufe über die Seite „Testläufe“ in der Firebase-Konsole oder programmatisch mit der Firebase CLI importieren und exportieren. Ein Beispiel für einen YAML-Testfall finden Sie unter YAML-Testfall erstellen.
Testergebnisse ansehen
Die Ergebnisse Ihrer Tests finden Sie auf der Seite Releases im Tab KI-Agent zum Testen von Anwendungen eines Release. Über die Schaltfläche Details ansehen wird das Dialogfeld „Testergebnisse“ geöffnet. Dort werden alle Probleme, Screenshots der App und die Aktionen angezeigt, die Gemini während des Tests ausgeführt hat.
Wenn ein Test wiederholte Aktionen enthält, können Sie sich den ursprünglichen KI-gestützten Testlauf ansehen oder den Cache leeren.
In der folgenden Tabelle finden Sie weitere Informationen zu Ihren Testergebnissen:
| Symbol | Name | Beschreibung |
|---|---|---|
| spark | KI-Aktion | Gibt an, dass der KI-Agent zum Testen von Anwendungen Gemini verwendet hat, um eine Aktion auszuführen oder den Schritt zu beenden. |
| replay | Wiederholte Aktion | Gibt an, dass der KI-Agent zum Testen von Anwendungen eine Aktion aus einer vorherigen erfolgreichen Ausführung des Tests wiederholt hat. |
| spark | KI-Assertion | Gibt an, dass der KI-Agent zum Testen von Anwendungen Gemini verwendet hat, um eine Assertion für den letzten Bildschirm zu validieren, nachdem Aktionen aus einer vorherigen erfolgreichen Ausführung desselben Tests wiederholt wurden. |
Testergebnisse debuggen
Wenn Ihre Testergebnisse von Ihren Erwartungen abweichen, können Sie den Test mithilfe des Schalters Agentenansicht anzeigen unter Details ansehen auf der Seite „Testergebnisse“ debuggen. In der Agent-Ansicht werden die Bildschirmelemente angezeigt, die der KI-Agent zum Testen von Anwendungen mithilfe der Informationen der App zu Bedienungshilfen erkannt hat. Wenn Sie sich genauer ansehen möchten, was der Agent gesehen hat, können Sie diese Informationen über das Dreipunkt-Menü herunterladen.
Sie können auch die Schaltfläche Artefakte ansehen auf der Seite „Testergebnisse“ verwenden, um alle Videos, Logs und anderen Cloud-Artefakte für Ihre Testergebnisse anzusehen.
Bekannte Probleme und Beschränkungen
Für die Vorabversion des KI-Agenten zum Testen von Anwendungen gelten einige bekannte Einschränkungen:
- KI-gestützte Tests haben ein Zeitlimit von 5 Minuten. Nach dem Start eines Tests muss er innerhalb dieser Zeit erfolgreich abgeschlossen werden. Andernfalls wird er vorzeitig beendet und als fehlgeschlagen gewertet.
- Da der KI-Agent zum Testen von Anwendungen generative KI verwendet, um Ihre App zu testen, führt er manchmal unterschiedliche Aktionen aus, obwohl er dieselben Anweisungen befolgt.
- Der KI-Agent zum Testen von Anwendungen unterstützt nur die folgenden Aktionen: Tippen, Text eingeben, nach oben/unten/links/rechts wischen, langes Drücken, Drag-and-drop, Zurück und Warten.
- Der KI-Agent zum Testen von Anwendungen hat Schwierigkeiten, Tests auszuführen, die nur einen einzigen Schritt enthalten, für den viele Aktionen erforderlich sind. Es funktioniert besser, wenn komplexe Aufgaben in mehrere kürzere Schritte aufgeteilt werden.
- Der KI-Agent zum Testen von Anwendungen scrollt manchmal nicht, um andere Elemente außerhalb des Bildschirms anzuzeigen. Das passiert häufiger, wenn es keinen visuellen Hinweis darauf gibt, dass gescrollt werden kann. Als Behelfslösung kann das Feld „hints“ verwendet werden, um Scrollen vorzuschlagen.
- Der KI-Agent zum Testen von Anwendungen hat manchmal Probleme beim Zählen, z. B. wenn eine Aktion eine bestimmte Anzahl von Malen ausgeführt werden soll.
- Der KI-Agent zum Testen von Anwendungen kann nicht in Ihrer App navigieren, wenn
FLAG_SECUREaktiviert ist. Anstelle von Screenshots Ihrer App wird nur ein leerer Bildschirm angezeigt.
Testkontingente
Während der Vorabversion werden die KI-gestützten Tests im Rahmen eines Kontingents kostenlos angeboten. Das Standardkontingent beträgt 200 Tests pro Monat und Firebase-Projekt.
Wenn Sie mehrere Testläufe oder denselben Testlauf auf mehreren Geräten ausführen, zählt dies als mehrere Tests. Wenn Sie beispielsweise zwei Testläufe auf zwei Geräten ausführen, zählt dies als insgesamt vier Tests.
Wenn Sie Ihr Kontingent über das Standardlimit hinaus erhöhen möchten, wenden Sie sich mit Ihrem Anwendungsfall an den Firebase-Support.