Der Agent zum Testen von Apps ist ein Agent zum Generieren, Verwalten und Ausführen von Testläufen, der auf Gemini in Firebase basiert. Sie definieren Testziele in natürlicher Sprache. Der Agent verwendet KI, um Ihre App zu verstehen und darin zu navigieren, Nutzerinteraktionen zu simulieren und detaillierte Testergebnisse zu liefern.
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 Bedingungen. 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 jedoch in Zukunft zusätzliche Produkte verwenden möchten, 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 App Testing-Agent 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 Testlauf in Phasen unterteilen, die jeweils eine eigene Assertion haben. Der Agent kann in einem Schritt viele Aktionen ausführen.
Es gibt zwei Möglichkeiten, einen Testlauf zu erstellen: über eine YAML-Datei oder über die Firebase Console. Mit YAML-Dateien können Sie die Testläufe selbst verwalten, in der Regel in einem Quellcode-Repository mit Versionsverwaltung. Alternativ können Ihre Testläufe auch in der Firebase Console zusammen mit Ihren App Distribution-Daten gespeichert werden.
YAML-Dateien verwenden
Im folgenden Beispiel sehen Sie 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 einzigen Datei organisieren und diese Testsuiten in mehreren Dateien trennen. Sie können einen erforderlichen Testlauf 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. So erstellen Sie einen Testlauf: Öffnen Sie 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 Testlauf erstellen möchten, können Sie den bereitgestellten Beispieltestlauf ändern oder verwenden.
- Geben Sie im Dialogfeld Testlauf hinzufügen einen Namen für den Testlauf ein. Diese wird zur Identifizierung des Tests verwendet, aber vom Agent ignoriert.
- Optional: Wählen Sie einen Voraussetzungstestfall aus, der Einrichtungsschritte enthält, die vor dem Haupttest ausgeführt werden sollen. Wenn der erforderliche Test fehlschlägt, wird der gesamte Test als Fehler markiert. Schritte und Ergebnisse aus den erforderlichen und den Haupttests werden gemeinsam in den Testergebnissen angezeigt.
- Sie können Ihren Test in mehrere Schritte unterteilen, indem Sie auf die Schaltfläche Weiteren Schritt hinzufügen klicken.
- Geben Sie für jeden Schritt ein Ziel an, das beschreibt, was der App-Test-Agent in diesem Schritt tun soll.
- Optional: Fügen Sie einen Hinweis hinzu, um zusätzliche Informationen bereitzustellen, damit der App-Test-Agent Ihre App in diesem Schritt besser versteht und sich darin zurechtfindet.
- Fügen Sie Final screen assertion (Assertion für den letzten Bildschirm) hinzu, damit der App-Test-Agent feststellen kann, wann der Schritt erfolgreich abgeschlossen wurde. Diese Assertion sollte sich nur auf das beziehen, was auf dem Bildschirm zu sehen ist.
- Klicken Sie auf Speichern, wenn Sie die Anpassung abgeschlossen haben.
Beispiel für einen Testlauf
Im Folgenden sehen Sie ein Beispiel dafür, wie Sie mit dem App Testing-Agent einen Testfall erstellen:
Testtitel |
Ladevorgänge der Startseite |
Ziel |
Startseite laden |
Hinweis |
Überspringen Sie alle Onboardingscreens. Schließen Sie alle Pop-ups. Melden Sie sich nicht an. |
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 Testläufe erstellen und verwalten. Wenn Sie Testläufe mit YAML-Dateien definieren, führen Sie diese Tests mit der Firebase-CLI aus. Wenn Sie Ihre Testläufe in der App Distribution Console erstellen, führen Sie sie über die Console 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 Sie die Firebase CLI oder aktualisieren Sie sie auf die neueste Version. Wir empfehlen, die eigenständige Binärdatei für die CLI herunterzuladen, die für Ihr Betriebssystem spezifisch ist.
- Melden Sie sich an und prüfen 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 Console auf der Seite Allgemeine Einstellungen.
|
--test-dir
|
Pfad zu einem Verzeichnis, das YAML-Dateien für Testläufe enthält. Der Befehl durchsucht dieses Verzeichnis rekursiv. Die Dateien können also optional in Unterverzeichnissen organisiert werden. Wenn kein Wert angegeben ist, wird standardmäßig „./tests“ verwendet. |
--test-devices oder --test-devices-file
|
Die Testgeräte, auf denen Sie Builds über die Funktion „App-Test-Agent“ bereitstellen möchten. Sie können die Testgeräte als eine durch Semikolons getrennte Liste 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 Testgeräten enthält: --test-devices-file
"/path/to/test-devices.txt" Sie können die verfügbaren Gerätemodelle mit der gcloud CLI aufrufen. |
--test-non-blocking
|
Wenn diese Option festgelegt ist, werden die Tests mit dem Befehl gestartet und dann wird sofort zurückgegeben, anstatt auf den Abschluss der Tests zu warten. |
--test-file-pattern
|
Ein Muster für reguläre Ausdrücke. Es werden nur Tests ausgeführt, die in Dateien enthalten sind, die diesem Muster entsprechen. |
--test-name-pattern
|
Ein Muster für reguläre Ausdrücke. Es werden nur Tests mit Anzeigenamen ausgeführt, die diesem Muster entsprechen. |
/path/to/app/binary
|
Optional:Der Pfad zum Binärprogramm Ihrer App. Wenn nicht angegeben, 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 Distribution 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-Konsole verwalten möchten. Es kann auch hilfreich sein, Testläufe 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 auf der Seite „Testläufe“ in der Firebase-Konsole oder programmatisch über die Firebase CLI importieren und exportieren. Ein Beispiel für einen YAML-Testlauf finden Sie unter YAML-Testlauf erstellen.
Testergebnisse ansehen
Die Ergebnisse Ihrer Tests können Sie auf der Seite Releases auf dem Tab App-Test-Agent eines Releases einsehen. Ü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 wiedergegebene Aktionen enthält, können Sie den ursprünglichen KI-gestützten Testlauf aufrufen 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 App Testing-Agent Gemini verwendet hat, um eine Aktion auszuführen oder den Schritt zu beenden. |
| Wiederholung | Wiederholte Aktion | Gibt an, dass der App-Test-Agent eine Aktion aus einer früheren erfolgreichen Ausführung des Tests wiederholt hat. |
| spark | KI-Assertion | Gibt an, dass der App Testing-Agent Gemini verwendet hat, um eine Assertion für den letzten Bildschirm zu validieren, nachdem Aktionen aus einem vorherigen erfolgreichen Lauf desselben Tests wiedergegeben wurden. |
Testergebnisse debuggen
Wenn Ihre Testergebnisse nicht Ihren Erwartungen entsprechen, können Sie den Test mithilfe der Ein/Aus-Schaltfläche Agentenansicht anzeigen unter Details ansehen auf der Seite „Testergebnisse“ debuggen. In der Agent-Ansicht sehen Sie die Bildschirmelemente, die der App-Test-Agent mithilfe der Informationen der App zu Bedienungshilfen erkannt hat. Wenn Sie sich genauer ansehen möchten, was der Kundenservicemitarbeiter gesehen hat, können Sie diese Informationen über das Dreipunkt-Menü herunterladen.
Auf der Seite „Testergebnisse“ können Sie auch auf die Schaltfläche Artefakte ansehen klicken, um alle Videos, Logs und anderen Cloud-Artefakte für Ihre Testergebnisse aufzurufen.
Bekannte Probleme und Beschränkungen
Für die Vorabversion des Agents zum Testen von Apps gelten einige bekannte Einschränkungen:
- Da der App-Test-Agent generative KI verwendet, um Ihre App zu testen, führt er manchmal unterschiedliche Aktionen aus, während er sich weiterhin an dieselben Anweisungen hält.
- Der Agent zum Testen von Apps unterstützt nur die folgenden Aktionen: Tippen, Text eingeben, nach oben/unten/links/rechts wischen, lange drücken, Drag-and-drop, Zurück und Warten.
- Der KI-Agent zum Testen von Apps hat Probleme beim Ausführen von Tests, die nur einen einzigen Schritt enthalten, für den viele Aktionen erforderlich sind. Die Leistung ist besser, wenn komplexe Aufgaben in mehrere kürzere Schritte unterteilt 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 keine visuelle Anzeige dafür gibt, dass gescrollt werden kann. Als Workaround kann das Feld „hints“ verwendet werden, um das Scrollen vorzuschlagen.
- Der App-Test-Agent hat manchmal Schwierigkeiten beim Zählen, z. B. beim Ausführen einer Aktion eine bestimmte Anzahl von Malen.
- Der App-Test-Agent kann nicht in Ihrer App navigieren, wenn
FLAG_SECUREaktiviert ist. Statt Screenshots Ihrer App wird nur ein leerer Bildschirm angezeigt.
Kontingente testen
Während der Vorschauphase sind die KI-gestützten Tests innerhalb eines Kontingentlimits kostenlos. Das Standardkontingentlimit 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 das als mehrere Tests. Wenn Sie beispielsweise zwei Testläufe auf zwei Geräten ausführen, werden insgesamt vier Tests gezählt.
Wenn Sie Ihr Kontingent über das Standardlimit hinaus erhöhen möchten, wenden Sie sich mit Ihrem Anwendungsfall an den Firebase-Support.