Firebase Test Lab is deprecated and will be fully shut down on September 30, 2027. To
maintain your testing workflows, you can migrate to the Developer Device Platform on Google
Cloud. See the
Developer Device Platform Migration Guide
and FAQ for more
details.
Google verwendet KI-Technologie, um Inhalte in Ihre bevorzugte Sprache zu übersetzen. KI-Übersetzungen können Fehler enthalten.
Fehlerbehebung in Test Lab & Häufig gestellte Fragen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite finden Sie Hilfe zur Fehlerbehebung und Antworten auf häufig gestellte Fragen zum Ausführen von Tests mit Firebase Test Lab. Bekannte Probleme werden ebenfalls dokumentiert. Wenn Sie nicht finden, wonach Sie suchen, oder zusätzliche Hilfe benötigen, treten Sie dem #test-lab-Kanal auf Firebase Slack bei oder wenden Sie sich an den Firebase-Support.
Fehlerbehebung
Warum dauert die Ausführung meines Tests so lange?
Wenn Sie im Test Lab-Katalog ein Gerät mit hoher Kapazität auswählen, werden Tests möglicherweise schneller gestartet. Wenn ein Gerät eine geringe Kapazität hat, kann die Ausführung von Tests länger dauern. Wenn die Anzahl der aufgerufenen Tests die Kapazität der ausgewählten Geräte deutlich übersteigt, kann es länger dauern, bis die Tests abgeschlossen sind.
Tests, die auf Geräten mit beliebiger Kapazität ausgeführt werden, können aus folgenden Gründen länger dauern:
Traffic, der sich auf die Geräteverfügbarkeit und die Testgeschwindigkeit auswirkt.
Geräte- oder Infrastrukturausfälle, die jederzeit auftreten können. Im Firebase-Status-Dashboard können Sie nachsehen, ob für Test Lab eine Infrastruktur gemeldet wurde.
Weitere Informationen zur Gerätekapazität in Test Lab finden Sie in den Informationen zur Gerätekapazität für Android und iOS.
Warum erhalte ich nicht aussagekräftige Testergebnisse?
Nicht eindeutige Testergebnisse treten häufig aufgrund von abgebrochenen Testläufen oder Infrastrukturfehlern auf.
Infrastrukturfehler werden durch interne Test Lab-Probleme verursacht, z. B. Netzwerkfehler oder unerwartetes Geräteverhalten. Test Lab bricht Testläufe, die mehrmals Infrastrukturfehler verursachen, intern ab, bevor ein nicht eindeutiges Ergebnis gemeldet wird. Sie können diese Wiederholungsversuche jedoch mit failFast deaktivieren.
Wiederholen Sie den Test in Test Lab, um zu prüfen, ob er reproduzierbar ist.
Führen Sie den Test gegebenenfalls auf einem anderen Gerät oder Gerätetyp aus.
Sollte das Problem weiterhin bestehen, wenden Sie sich an das Test Lab-Team im #test-lab-Kanal auf Firebase Slack.
Warum haben meine Tests durch Sharding länger gedauert?
Sharding kann dazu führen, dass Ihre Tests länger dauern, wenn die von Ihnen angegebene Anzahl von Shards die Anzahl der in Test Lab verfügbaren Geräte überschreitet. Um diese Situation zu vermeiden, wechsle zu einem anderen Gerät. Weitere Informationen zur Auswahl eines anderen Geräts finden Sie unter
Gerätekapazität:
Warum dauert es so lange, bis mein Test beginnt?
Wenn Sie eine Testanfrage senden, wird Ihre App zuerst validiert, neu signiert usw., um Tests auf einem Gerät auszuführen. Normalerweise dauert dieser Vorgang nur wenige Sekunden, kann aber durch Faktoren wie die Größe Ihrer App beeinflusst werden.
Nachdem Ihre App vorbereitet wurde, werden Testausführungen geplant und bleiben in einer Warteschlange, bis ein Gerät bereit ist, sie auszuführen. Bis alle Testausführungen abgeschlossen sind, lautet der Matrixstatus „Ausstehend“ (unabhängig davon, ob sich Testausführungen in der Warteschlange befinden oder aktiv ausgeführt werden).
Warum dauert es so lange, bis mein Test abgeschlossen ist?
Nach Abschluss der Testausführung werden Testartefakte vom Gerät heruntergeladen, verarbeitet und in Cloud Storage hochgeladen. Die Dauer dieses Schritts kann von der Anzahl und Größe der Artefakte beeinflusst werden.
Android-spezifische Fehlerbehebung
App gibt keine Daten zurück und Screenshots können nicht gefunden werden
Artefakte der Testausführung (z. B. Screenshots und Logdateien) werden in Google Cloud Storage gespeichert und direkt in der Firebase-Konsole gerendert. Wenn die Testausführung innerhalb der letzten 90 Tage durchgeführt wurde, prüfen Sie, ob Sie Rollen auf Projektebene zugewiesen haben (Project Owner, Project Editor oder Project Viewer).
Achten Sie außerdem darauf, dass Cloud-Audit-Logging für Ihr Projekt oder Ihre Organisation nicht aktiviert ist.
Wenn die Ausführung vor mehr als 90 Tagen erfolgt ist, wurden die Testartefakte höchstwahrscheinlich automatisch gelöscht. Sie können die Konfiguration des Ergebnis-Buckets prüfen, indem Sie im Test Lab-Dashboard auf den Tab Testergebnisse klicken. Der Standard-Ergebnis-Bucket ist so konfiguriert, dass Objekte 90 Tage lang aufbewahrt werden.
Wenn Sie Ihre Testartefakte länger aufbewahren möchten, führen Sie den Befehl gcloud firebase test android run mit dem Flag --results-bucket aus und übergeben Sie den Namen des Ergebnis-Buckets. Weitere Informationen finden Sie in der gcloud firebase test android run-Referenzdokumentation.
Warum erhalte ich unvollständige oder fehlende Ergebnisse für Instrumentierungstestfälle?
Wenn Sie Instrumentierungstests ausführen, werden möglicherweise Testfehler angezeigt, die auf Teilergebnisse hinweisen und Meldungen wie Test run failed to complete. Expected
x tests, received y enthalten (wobei y kleiner als x ist). Dieser Fehler bedeutet, dass Test Lab die Logcat-Datei nicht nach Start- oder Endmarkierungen für Testfälle parsen konnte, die normalerweise von AndroidJUnitRunner generiert werden.
Dies sind häufige Ursachen für dieses Problem:
Problembeschreibung
Mögliche Lösung
Der Testlauf wurde aufgrund einer Zeitüberschreitung nicht ausgeführt. Wenn die Gesamtdauer der Tests länger als ein von Ihnen angegebenes Zeitlimit oder länger als ein maximales Zeitlimit ist, bricht Test Lab die restlichen Testläufe ab.
Erhöhen Sie das Zeitlimit für die Matrix, damit alle Tests abgeschlossen werden können.
Teilen Sie die Tests auf, falls Sie das noch nicht getan haben, damit auf jedem Shard eine Teilmenge der Tests ausgeführt wird und die Tests in kürzerer Zeit abgeschlossen werden.
Wenn Sie das Fragmentieren bereits aktiviert haben, erhöhen Sie die Anzahl der Shards.
Der Testfall konnte nicht abgeschlossen werden, da er vorzeitig beendet wurde oder hängen geblieben ist.
Der Testfall wird möglicherweise aufgrund einer nicht abgefangenen Ausnahme oder eines Assertion-Fehlers vorzeitig beendet. Testläufe können in einer Endlosschleife hängen bleiben oder nicht fortgesetzt werden, z. B. wenn die App nicht die richtige Ansicht anzeigt und der Testlauf die Aktion auf der Benutzeroberfläche nicht ausführen kann.
Sehen Sie sich das Video und die logcat an, um herauszufinden, wo der Test abgebrochen wurde.
Ein benutzerdefinierter Test-Runner (einschließlich der Erweiterung von AndroidJUnitRunner) ist unerwartet abgestürzt oder hat unerwartete Start- oder Endmarkierungen für Testläufe in logcat geschrieben.
Prüfen Sie den Code des Test-Runners.
Es wurden zu viele Logs in logcat geschrieben, was den Zwischenspeicher überlastet oder den logcat-Prozess zum Absturz gebracht hat.
Reduzieren Sie die Schreibvorgänge auf logcat.
Die getestete App ist abgestürzt.
Fehler in der App beheben
FAQ
Wie hoch sind die kostenlosen Kontingente für Test Lab? Was soll ich tun, wenn ich keine mehr habe?
Firebase Test Lab bietet kostenlose Kontingente für Tests auf Geräten und für die Verwendung von Cloud APIs. Beachten Sie, dass für das Testkontingent das Standard-Firebase-Preismodell gilt, für die Cloud API-Kontingente jedoch nicht.
Testkontingent
Die Testkontingente richten sich nach der Anzahl der Geräte, die für die Tests verwendet werden.
Der Firebase Spark-Tarif bietet ein festes Testkontingent, das für Nutzer kostenlos ist. Beim Blaze-Tarif können sich Ihre Kontingente erhöhen, wenn Ihre Nutzung von Google Cloud mit der Zeit zunimmt. Wenn Sie Ihr Testkontingent erreicht haben, warten Sie bis zum nächsten Tag oder führen Sie ein Upgrade auf den Blaze-Tarif durch, wenn Sie derzeit den Spark-Tarif nutzen.
Wenn Sie bereits den Blaze-Tarif nutzen, können Sie eine Kontingenterhöhung beantragen.
Weitere Informationen finden Sie unter Testkontingent.
Sie können die Nutzung Ihres Testkontingents in der Google Cloud Console überwachen.
Cloud Testing API-Kontingent
Die Cloud Testing API hat zwei Kontingentlimits: Anfragen pro Tag und Projekt sowie Anfragen alle 100 Sekunden pro Projekt. Sie können Ihre Nutzung in der Google Cloud Console im Blick behalten.
Kontingent für die Cloud Tool Results API
Für die Cloud Tool Results API gelten zwei Kontingentlimits: Abfragen pro Tag und Projekt sowie Abfragen alle 100 Sekunden pro Projekt. Sie können Ihre Nutzung in der Google Cloud Console im Blick behalten.
Sie können eine Anfrage für höhere Kontingente stellen, indem Sie
Ihre Kontingente
direkt in der Google Cloud Console bearbeiten. Beachten Sie, dass die meisten Limits standardmäßig auf das
Maximum festgelegt sind.
Sie können höhere API-Kontingente anfordern, indem Sie ein Anfrageformular in der Google Cloud Console ausfüllen oder sich an den Firebase-Support wenden.
Wie finde ich heraus, ob der Traffic, der mein Backend erreicht, von Test Lab stammt?
In Ihrem Backend können Sie feststellen, ob der Traffic von von Firebase gehosteten Testgeräten stammt, indem Sie die Quell-IP-Adresse mit unseren IP-Bereichen abgleichen.
Funktioniert Test Lab mit VPC-SC?
Test Lab funktioniert nicht mit VPC-SC, da das Kopieren von Apps und anderen Testartefakten zwischen dem internen Speicher von Test Lab und den Ergebnis-Buckets der Nutzer blockiert wird.
Wie erkenne ich instabile Tests in Test Lab?
Um instabiles Verhalten in Ihren Tests zu erkennen, empfehlen wir die Verwendung der Option
--num-flaky-test-attempts
. Wiederholungen zur Behebung von Flakiness werden wie normale Testausführungen in Rechnung gestellt oder auf Ihr tägliches Kontingent angerechnet.
Beachten Sie Folgendes:
Die gesamte Testausführung wird noch einmal ausgeführt, wenn ein Fehler erkannt wird. Es ist nicht möglich, nur fehlgeschlagene Testfälle zu wiederholen.
Deflake-Wiederholungen werden gleichzeitig ausgeführt, aber es kann nicht garantiert werden, dass sie parallel ausgeführt werden, z. B. wenn der Traffic die Anzahl der verfügbaren Geräte überschreitet.
iOS-spezifische FAQs
Unterstützt Test Lab Appium, Flutter/FlutterDriver, ReactNative/Jest oder Cucumber?
Einige dieser Elemente stehen zwar auf unserer Roadmap, wir können derzeit jedoch keine Zusage für die Unterstützung dieser Test- und App-Entwicklungsplattformen machen.
Wo finde ich Gerätedetails wie die Auflösung?
Detaillierte Geräteinformationen sind über die API verfügbar und können über den gcloud-Client mit dem describe-Befehl abgerufen werden:
gcloud firebase test ios models describe MODEL
Kann ich Sharding mit iOS-Tests verwenden?
Sharding wird in Test Lab für iOS nicht nativ unterstützt. Sie können jedoch den Flank-Client verwenden, um iOS-Testläufe zu fragmentieren.
Dazu werden der Schlüssel und die Werte für OnlyTestIdentifiers in der Datei .xctestrun festgelegt.
Weitere Informationen finden Sie auf der Seite man für xcodebuild.xctestrun.
Warum fehlen in den Ergebnissen meines iOS-Tests Videos?
Unter iOS 18 oder höher können wir keine Videos in den Ergebnissen unterstützen.
Android-spezifische FAQs
Unterstützt Test Lab Wearables?
Sehr gut. Test Lab unterstützt die Google Pixel Watch. Du kannst jetzt Tests für deine eigenständige Wear-App auf Google Pixel Watches ausführen. Weitere Informationen zu Test Lab-Geräten finden Sie unter Auf verfügbaren Geräten testen.
Unterstützt Test Lab die neuesten Google-Geräte?
Sehr gut. Test Lab unterstützt das Google Pixel Tablet und das Google Pixel Fold. Sie können Ihre Tests auf Ihren eigenständigen physischen Geräten ausführen.
Weitere Informationen zu Test Lab-Geräten finden Sie unter Auf verfügbaren Geräten testen.
Wie erkenne ich einen laufenden Test in Test Lab?
Wenn Sie Ihre App in Firebase testen oder Tests für einen Pre-Launch-Bericht in der Play Console ausführen, können Sie feststellen, ob ein Test auf einem von Firebase gehosteten Gerät ausgeführt wird. Prüfen Sie dazu die Systemeigenschaft firebase.test.lab in Ihrer MainActivity-Datei. Anschließend können Sie basierend auf dem booleschen Wert für testLabSetting zusätzliche Anweisungen ausführen. Weitere Informationen finden Sie unter Geändertes Testverhalten.
Unterstützt Test Lab Appium, Flutter/FlutterDriver, ReactNative/Jest oder Cucumber?
Einige dieser Elemente stehen zwar auf unserer Roadmap, wir können derzeit jedoch keine Zusage für die Unterstützung dieser Test- und App-Entwicklungsplattformen machen. Wenn Sie Ihre App jedoch mit einem Framework erstellt haben, das Espresso unterstützt (z. B. Flutter), können Sie einen Instrumentierungstest mit Espresso schreiben und den Test dann in Test Lab ausführen.
Unterstützt Test Lab das Testen von verschleierten Apps, z. B. mit ProGuard oder R8?
Test Lab unterstützt die Verschleierung oder Entschleierung nicht explizit. Die App wird wahrscheinlich ausgeführt, aber alle verschleierten App-Daten, z. B. Stacktraces, werden in den Logs als verschleiert angezeigt.
Kann ich mein faltbares Gerät beim Testen auf Test Lab in verschiedenen Faltzuständen und Positionen verwenden?
Faltbare Geräte können sich in verschiedenen Faltzuständen befinden, z. B. FLAT (vollständig geöffnet) oder HALF_OPENED (zwischen vollständig geöffnet und vollständig geschlossen).
Haltungen hingegen bestehen aus einer bestimmten Geräteausrichtung und einem bestimmten Faltzustand. Beispiele sind die Tischposition, ein HALF_OPENED-Zustand in horizontaler Ausrichtung, oder die Buchposition, ein HALF_OPENED-Zustand in vertikaler Ausrichtung.
Wenn Sie Instrumentierungstests ausführen, können Sie die Jetpack WindowManager-Bibliothek verwenden und der Dokumentation App auf faltbaren Geräten testen folgen, um verschiedene Zustände und Positionen zu testen.
Alternativ sind die verfügbaren Status gerätespezifisch und können über den adb
shell command cmd device_state aufgerufen werden.
Führen Sie adb shell cmd device_state state aus, um den aktuellen Status aufzulisten.
Führen Sie adb shell cmd device_state state <IDENTIFIER> aus, um den aktuellen Status festzulegen oder zu überschreiben.
Führen Sie adb shell cmd device_state state reset aus, um den Status zurückzusetzen.
Führe den Befehl adb shell cmd device_state print-states auf dem faltbaren Gerät aus, um die verfügbaren Status zu prüfen.
Kann ich Test Lab ausprobieren, wenn ich keine App habe?
Im Gegensatz zu anderen Firebase-Produkten müssen Sie kein Firebase SDK hinzufügen, um Test Lab zu verwenden. Wenn Sie noch keine App haben, können Sie ein APK online herunterladen oder eine App und ein Test-APK aus einem der Beispiele im AndroidX-GitHub-Repository erstellen.
Für einen Robo-Test benötigen Sie nur die APK-Datei Ihrer App. Für einen Instrumentierungstest sind dagegen sowohl eine App als auch ein Test-APK erforderlich, die aus dem Quellcode erstellt werden. Weitere Informationen finden Sie unter Instrumentierte Tests.
Welche Geräte eignen sich am besten für Screenshot-Diff-Tests?
Bei Screenshot-Diff-Tests basieren Test-Assertions auf dem Vergleich von Bildschirmbildern, die während eines Tests aufgenommen wurden, mit Golden-Images, die das erwartete Verhalten darstellen. Solche Tests sind auf einigen Gerätetypen möglicherweise fehleranfälliger als auf anderen. Wir empfehlen, für diese Art von Tests Arm-Emulatoren (*.arm) zu verwenden. Arm-Emulatorgeräte verwenden Images, die den „generischen“ Emulatoren von Android Studio sehr ähnlich oder mit ihnen identisch sind.
Wir empfehlen außerdem, Testbibliotheken zu untersuchen, die dazu beitragen können, Screenshot-Tests bei erwarteten Änderungen robuster zu machen.
Werden virtuelle Geräte von Test Lab aktualisiert?
Sehr gut. Virtuelle Geräte werden aktualisiert, wenn die folgenden Änderungen vorgenommen werden:
Aktualisierungen vorhandener Bilder
Einstellung früherer API-Level
Neue Android-API-Level werden hinzugefügt
Wie aktiviere ich Berichte zur Abdeckung?
Wenn Sie Abdeckungsberichte aktivieren möchten, fügen Sie coverage=true dem Feld environmentVariables hinzu.
Wenn Sie Android Test Orchestrator verwenden, müssen Sie ein Verzeichnis zum Speichern der Abdeckungsergebnisse angeben:
Wo finde ich Gerätedetails wie Auflösung, unterstützte ABIs usw.?
Detaillierte Geräteinformationen sind über die API verfügbar und können über den gcloud-Client mit dem describe-Befehl abgerufen werden:
gcloud firebase test android models describe MODEL
Wie melde ich mich ohne Smartphone in einer Wear-App an?
Wenn deine App „Über Google anmelden“ unterstützt, sollte dies automatisch mit einem Testkonto funktionieren. Wenn für die Anmeldung in Ihrer App normalerweise ein Smartphone erforderlich ist, können Sie eine Build-Variante erstellen, die die Anmeldung überspringt und ein in Ihren Test-Build eingebettetes Token verwendet, oder Dateien auf dem Laufwerk lesen, die normalerweise mit --other-files option übertragen werden. Weitere Informationen finden Sie unter Benutzerdefinierte Anmeldung und Texteingabe mit Robo-Tests.
Bekannte Probleme
Anmelde-CAPTCHAs
Der Robo-Test kann keine Anmeldebildschirme umgehen, die zusätzlich zur Eingabe von Anmeldedaten weitere Nutzeraktionen erfordern, z. B. das Ausfüllen eines CAPTCHAs.
iOS-spezifische bekannte Probleme
Automatische Anmeldung
Die automatische Anmeldung mit einem Google-Konto wird bei Robo-Tests für iOS+ (Beta) nicht unterstützt.
Android-spezifische bekannte Probleme
Unterstützung von UI-Frameworks
Der Robo-Test funktioniert am besten mit Apps, die UI-Elemente aus dem Android-UI-Framework verwenden (einschließlich View-, ViewGroup- und WebView-Objekten). Wenn Sie den Robo-Test für Apps verwenden, die andere UI-Frameworks nutzen, einschließlich Apps, die die Unity-Game-Engine verwenden, wird der Test möglicherweise beendet, ohne dass über den ersten Bildschirm hinausgegangen wird.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2026-10-16 (UTC)."],[],[]]