Beginnen Sie mit dem Testen mit virtuellen Android-Geräten

Android Virtual Devices (AVDs) für Firebase Test Lab sind High-Fidelity-Simulationen von Android-Geräten. AVDs in Test Lab haben die höchste Verfügbarkeit und sind am nützlichsten für die tägliche Entwicklung oder kontinuierliche Integrationstests. Sie ähneln AVDs für Android Studio , sind jedoch für die Leistung mit Cloud-Tests optimiert, sodass es einige Unterschiede zwischen den beiden gibt (z. B. haben AVDs in Test Lab eine emulierte Datenverbindung anstelle einer WiFi-Verbindung).

Warum sollten Sie virtuelle Geräte verwenden?

Virtuelle Geräte haben gegenüber physischen Geräten folgende Vorteile:

  • Hohe Verfügbarkeit: Beim Testen mit virtuellen Geräten können Sie schneller Tests durchführen und Testergebnisse erhalten. Da virtuelle Geräte nach Bedarf erstellt werden, beginnen Ihre Tests fast sofort und ermöglichen eine schnelle Validierung Ihrer App. Dadurch eignen sich virtuelle Geräte ideal zum Testen kleiner Updates Ihrer App oder für Regressionstests.
  • Längere Testdauern: Tests auf physischen Geräten sind auf eine Testdauer von 45 Minuten auf jedem Gerät begrenzt. Virtuelle Geräte unterstützen eine Testdauer von bis zu 60 Minuten, wodurch sie sich für die Durchführung längerer Tests und insbesondere für die Messung der Leistung einer App eignen.
  • Niedrigere Kosten: Virtuelle Geräte kosten 1 $ pro Stunde für jedes virtuelle Gerät, das zum Testen Ihrer App verwendet wird. Da sie kostengünstig sind, eignen sich virtuelle Geräte gut für das tägliche Testen mit Continuous-Integration-Systemen oder vor dem Einchecken von Code. Weitere Informationen finden Sie unter Test Lab-Abrechnung .

So testen Sie Ihre App mit virtuellen Geräten

Sie können Ihre App mit virtuellen Geräten genauso testen wie mit physischen Geräten. Wählen Sie einfach virtuelle Geräte aus, wenn Sie Testdimensionen auswählen, um eine Testmatrix zu konfigurieren.

Best Practices zum Testen Ihrer App

Virtuelle Geräte erweitern Ihre Möglichkeiten beim Testen Ihrer App mit Test Lab. Wir empfehlen den folgenden Ansatz zum Testen Ihrer App während des gesamten Lebenszyklus der App-Entwicklung:

  • In Android Studio: Verwenden Sie beim Entwickeln Ihrer App den Android Studio-Emulator oder ein angeschlossenes physisches Gerät, um jeden Build für die anfängliche Validierung zu untersuchen. Wenn Sie über Instrumentierungstests verfügen, können Sie diese Tests auch in Android Studio auf physischen oder virtuellen Geräten ausführen, die von Test Lab bereitgestellt werden.
  • Verwenden Sie Test Lab mit einem generischen virtuellen Gerät mit niedriger Auflösung und mittlerer DPI (MDPI): Sie können Robo- und Instrumentierungstests für Ihre App schneller mit dem generischen virtuellen Gerät von Test Lab mit niedriger Auflösung und mittlerem DPI-Wert ausführen als mit anderen virtuellen Geräten. Das virtuelle MDPI-Gerät ist auf API-Ebene 23 und höher verfügbar. Um dieses Gerät über die gcloud-Befehlszeilenschnittstelle zu verwenden, verwenden Sie die NexusLowRes -Modell-ID.
  • Verwenden Sie Continuous Integration (CI)-Systeme bei jeder Codeänderung, wenn Sie an gemeinsamen Projekten arbeiten: Wenn Sie an einem großen Projekt arbeiten oder zu Projekten beitragen, die über GitHub oder ähnliche Websites geteilt werden, empfehlen wir Ihnen, Continuous Integration (CI) zu verwenden. Systeme und testen Sie Ihre Apps jedes Mal auf virtuellen Geräten, wenn das CI-System ausgeführt wird, oder vor jeder Pull-Anfrage. Weitere Informationen zur Verwendung von Test Lab mit CI-Systemen finden Sie unter Verwenden von Test Lab für Android mit Continuous-Integration-Systemen .
  • Vor der Veröffentlichung wichtiger App-Updates: Wir empfehlen die Verwendung von Test Lab, um Ihre App auf physischen Geräten zu testen, bevor Sie App-Updates mit erheblichen Änderungen an Benutzeroberfläche und Funktionalität veröffentlichen. Dies trägt dazu bei, dass Ihre App auf einer Vielzahl beliebter physischer Geräte gut läuft, und stellt auch die Testabdeckung für alle App-Funktionen sicher, die auf Funktionen physischer Geräte angewiesen sind, die nicht von virtuellen Geräten simuliert werden. Weitere Informationen zu diesen Funktionen finden Sie unter Bekannte Einschränkungen .

Bekannte Einschränkungen

Einige physische Gerätefunktionen werden derzeit nicht durch virtuelle Geräte simuliert oder werden mit einigen Einschränkungen simuliert. Die folgende Tabelle fasst die Funktionen zusammen, die derzeit auf virtuellen Geräten nicht oder mit bestimmten Einschränkungen verfügbar sind:

Besonderheit Einzelheiten
Binäre Nicht-x86-Anwendungsschnittstellen (ABIs) Virtuelle Geräte unterstützen nur die x86-ABI. Wenn Sie mit dem Android NDK entwickeln, stellen Sie sicher, dass Sie Code für den x86-Befehlssatz generieren. Weitere Informationen finden Sie unter ABI-Verwaltung .

Hinweis: Wenn einige der Tests in Ihrer Testmatrix als Invalid markiert sind, könnte dies daran liegen, dass Ihre App auf nativen ARM-Code angewiesen ist.
Videocodierung und -decodierung Derzeit wird auf virtuellen Geräten nur H264-Videodekodierung unterstützt. Videocodierung wird nicht unterstützt.

Hinweis: Videos von Tests virtueller Geräte werden derzeit mit einem Bild pro Sekunde ausgeführt, wodurch sie weniger flüssig sind als Videos von Tests physischer Geräte.
OpenGL ES 3.x Die Grafikbibliotheken OpenGL ES 3.x und höher sind auf virtuellen Geräten nicht verfügbar.
Kamera HAL v3 Um mehr über die Android Camera HAL v3.0 zu erfahren, siehe Kamera HAL v3 – Übersicht .
Virtuelles privates Netzwerk (VPN) Derzeit wird die VPN-Nutzung auf virtuellen Geräten nicht unterstützt.