Diese Seite bietet 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
Wenn Sie im Testlaborkatalog ein Gerät mit hoher Kapazität auswählen, können Tests schneller beginnen. Wenn ein Gerät über eine geringe Kapazität verfügt, kann die Ausführung von Tests länger dauern. Wenn die Anzahl der aufgerufenen Tests viel größer ist als die Kapazität der ausgewählten Geräte, kann es länger dauern, bis die Tests abgeschlossen sind.
Tests, die auf jeder Gerätekapazitätsstufe ausgeführt werden, können aufgrund der folgenden Faktoren länger dauern:
- Datenverkehr, der sich auf die Geräteverfügbarkeit und Testgeschwindigkeit auswirkt.
- Geräte- oder Infrastrukturausfälle, die jederzeit passieren können. Um zu überprüfen, ob eine gemeldete Infrastruktur für Test Lab vorhanden ist, sehen Sie sich das Firebase-Status-Dashboard an.
Weitere Informationen zur Gerätekapazität im Testlabor finden Sie in den Informationen zur Gerätekapazität für Android und iOS .
Nicht schlüssige Testergebnisse treten häufig aufgrund abgebrochener Testläufe oder Infrastrukturfehlern auf.
Infrastrukturfehler werden durch interne Testlaborprobleme wie Netzwerkfehler oder unerwartetes Geräteverhalten verursacht. Das Testlabor stellt intern mehrere Testläufe ein, die zu Infrastrukturfehlern führen, bevor ein nicht schlüssiges Ergebnis gemeldet wird. Sie können diese Wiederholungsversuche jedoch mit failFast deaktivieren.
Um die Fehlerursache zu ermitteln, gehen Sie folgendermaßen vor:
- Suchen Sie im Firebase-Status-Dashboard nach bekannten Ausfällen.
Wiederholen Sie den Test im Testlabor, um sicherzustellen, dass er reproduzierbar ist.
Versuchen Sie ggf., den Test auf einem anderen Gerät oder Gerätetyp auszuführen.
Wenn das Problem weiterhin besteht, kontaktieren Sie das Testlabor-Team im #test-lab-Kanal auf Firebase Slack.
Sharding kann dazu führen, dass Ihre Tests länger laufen, wenn die Anzahl der von Ihnen angegebenen Shards die Anzahl der für die Verwendung im Testlabor verfügbaren Geräte übersteigt. Um diese Situation zu vermeiden, versuchen Sie, zu einem anderen Gerät zu wechseln. Weitere Informationen zur Auswahl eines anderen Geräts finden Sie unterGerätekapazität .
Wenn Sie eine Testanfrage senden, wird Ihre App zunächst validiert, neu signiert usw., um die Ausführung von Tests auf einem Gerät vorzubereiten. Normalerweise ist dieser Vorgang in weniger als ein paar Sekunden abgeschlossen, er kann jedoch durch Faktoren wie die Größe Ihrer App beeinflusst werden.
Nachdem Ihre App vorbereitet ist, werden Testausführungen geplant und bleiben in einer Warteschlange, bis ein Gerät zur Ausführung bereit ist. Bis die Ausführung aller Testausführungen abgeschlossen ist, lautet der Matrixstatus „Ausstehend“ (unabhängig davon, ob sich Testausführungen in der Warteschlange befinden oder aktiv ausgeführt werden).
Nachdem die Testausführung abgeschlossen ist, werden Testartefakte vom Gerät heruntergeladen, verarbeitet und in den Cloud-Speicher hochgeladen. Die Dauer dieses Schritts kann durch die Menge und Größe der Artefakte beeinflusst werden.
Häufig gestellte Fragen
Firebase Test Lab bietet kostenlose Kontingente für Tests auf Geräten und für die Nutzung von Cloud-APIs. Beachten Sie, dass das Testkontingent den Standard-Firebase-Preisplan verwendet, während dies bei den Cloud-API-Kontingenten nicht der Fall ist.
Testquote
Die Testkontingente werden durch die Anzahl der Geräte bestimmt, die zum Ausführen von Tests verwendet werden. Der Firebase Spark-Plan verfügt über ein festes Testkontingent, das für Benutzer kostenlos ist. Beim Blaze-Plan können sich Ihre Kontingente erhöhen, wenn Ihre Nutzung von Google Cloud im Laufe 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-Plan durch, wenn Sie derzeit den Spark-Plan nutzen. Wenn Sie bereits den Blaze-Plan nutzen, können Sie eine Kontingenterhöhung beantragen. Weitere Informationen finden Sie unter Kontingent testen .
Sie können die Nutzung Ihres Testkontingents in der Google Cloud Console überwachen.
Cloud Testing API-Kontingent
Die Cloud Testing API verfügt über zwei Kontingentgrenzen: Anfragen pro Tag und Projekt und Anfragen alle 100 Sekunden pro Projekt. Sie können Ihre Nutzung in der Google Cloud Console überwachen.
Cloud Tool Results API-Kontingent
Für die Cloud Tool Results API gibt es zwei Kontingentgrenzen: Abfragen pro Tag und Projekt und Abfragen alle 100 Sekunden pro Projekt. Sie können Ihre Nutzung in der Google Cloud Console überwachen.
Weitere Informationen zu API-Grenzwerten finden Sie unter Cloud-API-Kontingente für Testlabor . Wenn Sie ein API-Kontingent erreicht haben:
Senden Sie eine Anfrage für höhere Kontingente, indem Sie Ihre Kontingente direkt in der Google Cloud Console bearbeiten (beachten Sie, dass die meisten Limits standardmäßig auf Maximum eingestellt sind), oder
Fordern Sie höhere API-Kontingente an, indem Sie ein Anfrageformular in der Google Cloud Console ausfüllen oder sich an den Firebase-Support wenden.
Von Ihrem Backend aus können Sie feststellen, ob der Datenverkehr von auf Firebase gehosteten Testgeräten kommt, indem Sie die Quell-IP-Adresse mit unseren IP-Bereichen vergleichen.
Test Lab funktioniert nicht mit VPC-SC, das das Kopieren von Apps und anderen Testartefakten zwischen dem internen Speicher von Test Lab und den Ergebnis-Buckets der Benutzer blockiert.
Um unzuverlässiges Verhalten in Ihren Tests zu erkennen, empfehlen wir die Verwendung der Option--num-flaky-test-attempts. Deflake-Wiederholungen werden wie normale Testausführungen in Rechnung gestellt oder auf Ihr Tageskontingent angerechnet.
Beachten Sie Folgendes:
- Die gesamte Testausführung wird erneut ausgeführt, wenn ein Fehler erkannt wird. Es gibt keine Unterstützung für die Wiederholung nur fehlgeschlagener Testfälle.
- Die gleichzeitige Ausführung von Deflake-Wiederholungsversuchen ist geplant, es kann jedoch nicht garantiert werden, dass sie parallel ausgeführt werden, beispielsweise wenn der Datenverkehr die Anzahl der verfügbaren Geräte übersteigt.
Obwohl einige dieser Punkte auf unserer Roadmap stehen, können wir derzeit keine Zusage zur Unterstützung dieser Test- und App-Entwicklungsplattformen geben.
Detaillierte Geräteinformationen sind über die API verfügbar und können über den gcloud-Client mit dem Befehl „beschreiben“ abgerufen werden:
gcloud firebase test ios models describe MODEL
Sharding wird in Test Lab für iOS nicht nativ unterstützt. Sie können jedoch den Flank- Client verwenden, um iOS-Testfälle zu teilen.
Dies funktioniert durch Festlegen OnlyTestIdentifiers
Schlüssels und der Werte in .xctestrun
Datei. Weitere Informationen finden Sie in der man
für xcodebuild.xctestrun
.
Bekannte Probleme
Der Robo-Test kann Anmeldebildschirme nicht umgehen, die über die Eingabe von Anmeldeinformationen hinaus zusätzliche Benutzeraktionen erfordern, beispielsweise das Ausfüllen eines CAPTCHA.
Robo-Test funktioniert am besten mit Apps, die UI-Elemente aus dem Android-UI-Framework verwenden (einschließlich View
, ViewGroup
und WebView
Objekte). Wenn Sie den Robo-Test verwenden, um Apps zu testen, die andere UI-Frameworks verwenden, einschließlich Apps, die die Unity-Spiel-Engine verwenden, wird der Test möglicherweise beendet, ohne über den ersten Bildschirm hinauszugehen.