Check out what’s new from Firebase at Google I/O 2022. Learn more

Testen Sie mit CI-Systemen

Sie können Firebase Test Lab verwenden, wenn Sie Ihre App mit einem beliebigen CI-System (Continuous Integration) entwickeln. Mit Continuous-Integration-Systemen können Sie Ihre App jedes Mal automatisch erstellen und testen, wenn Sie Updates für Ihren App-Quellcode einchecken.

Verwenden von Firebase Test Lab mit Jenkins CI

In diesem Abschnitt wird beschrieben, wie Sie Test Lab mit Jenkins CI verwenden.

Anforderungen

Bevor Sie Firebase Test Lab mit Jenkins verwenden können, müssen Sie die folgenden Schritte ausführen:

  1. Richten Sie gcloud ein. Befolgen Sie die Anweisungen unter Firebase Test Lab über die gcloud-Befehlszeile verwenden , um ein Firebase-Projekt zu erstellen und Ihre lokale Google Cloud SDK-Umgebung zu konfigurieren.

  2. Erstellen und autorisieren Sie ein Dienstkonto. Dienstkonten unterliegen keinen Spamprüfungen oder Captcha-Eingabeaufforderungen, die ansonsten Ihre CI-Builds blockieren könnten. Erstellen Sie ein Dienstkonto mit einer Bearbeiterrolle in der Google Cloud Console und aktivieren Sie es dann (Informationen dazu finden Sie in der Dokumentation zu gcloud auth activate-service-account ).

  3. Erforderliche APIs aktivieren. Nach der Anmeldung mit dem Dienstkonto: Aktivieren Sie auf der Seite Google Developers Console API Library die Google Cloud Testing API und die Cloud Tool Results API . Um diese APIs zu aktivieren, geben Sie diese API-Namen in das Suchfeld oben in der Konsole ein und klicken Sie dann auf der Übersichtsseite für diese API auf API aktivieren.

Jenkins installieren und einrichten

Sie können Jenkins CI unter Linux oder Windows installieren und einrichten. Bestimmte Details dieses Handbuchs beziehen sich speziell auf die Installation und Ausführung von Jenkins CI unter Linux, einschließlich der Verwendung von Schrägstrichen ( / ) in Dateipfaden.

Um Jenkins herunterzuladen und auf einem Computer mit Linux oder Windows zu installieren, befolgen Sie die Anweisungen zum Installieren von Jenkins . Befolgen Sie nach der Installation von Jenkins die Anweisungen zum Starten und Zugreifen auf Jenkins , um die Einrichtung abzuschließen und auf das Jenkins-Dashboard zuzugreifen.

Konfigurieren Sie globale Sicherheitseinstellungen

Jenkins hat bei der Erstinstallation keine Benutzerauthentifizierung und Zugriffskontrolle konfiguriert. Bevor Sie Jenkins mit Firebase Test Lab verwenden, konfigurieren Sie globale Sicherheitseinstellungen, um die Zugriffssteuerung zu erzwingen und Benutzer zu authentifizieren.

So konfigurieren Sie globale Sicherheitseinstellungen

  1. Navigieren Sie zum Jenkins-Dashboard auf Ihrem Server. Navigieren Sie dazu zu http://<servername>:8080 , wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
  2. Klicken Sie im Jenkins-Dashboard auf Manage Jenkins und dann auf Configure Global Security .
  3. Klicken Sie auf der Seite Globale Sicherheit konfigurieren auf Sicherheit aktivieren und dann auf Speichern .

Weitere Informationen zum Konfigurieren von Sicherheitseinstellungen für Jenkins finden Sie unter Quick and Simple Security , Standard Security Setup und Securing Jenkins .

Erstellen Sie ein Jenkins-Projekt

Erstellen Sie als Nächstes ein Projekt zum Ausführen von kontinuierlichen Integrationstests Ihrer App mit Firebase Test Lab.

So erstellen Sie ein Jenkins-Projekt

  1. Navigieren Sie zum Jenkins-Dashboard auf Ihrem Server. Navigieren Sie dazu zu http://<servername>:8080 , wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
  2. Klicken Sie im Jenkins-Dashboard auf Neues Element .
  3. Geben Sie einen Namen für Ihr Projekt in das Feld Elementname ein:
    • Wählen Sie Freestyle -Projekt aus, um ein Projekt zu erstellen, das eine einzelne Build-Konfiguration verwendet.
    • Wählen Sie Projekt mit mehreren Konfigurationen erstellen aus, um ein Projekt zu erstellen, das auf mehreren verschiedenen Build- Konfigurationen ausgeführt wird. Wenn Sie planen, Ihre App mit einer Vielzahl von Build-Konfigurationen (mehrere Gebietsschemas, mehrere Android-API-Ebenen usw.) zu erstellen, ist ein Projekt mit mehreren Konfigurationen die beste Wahl.
  4. Klicken Sie auf Speichern .

Nachdem Ihr Projekt erstellt wurde, zeigt Ihr Webbrowser die Hauptseite für Ihr Projekt an.

Fügen Sie Revisionskontrolle und Gradle-Build-Schritte hinzu

In diesem Abschnitt wird beschrieben, wie Sie Jenkins in Revisionskontrollsysteme wie GitHub integrieren und wie Sie Gradle-Build-Schritte hinzufügen, um APK-Pakete aus dem Quellcode zu erstellen.

Integration mit GitHub und anderen Revisionskontrollsystemen

Wenn Sie GitHub oder ein anderes Versionskontrollsystem verwenden, um den Quellcode für Ihre App zu verwalten, können Sie Jenkins so konfigurieren, dass jedes Mal, wenn Updates für Ihre App eingecheckt werden, automatisierte Builds ausgeführt und Tests ausgeführt werden. Sie können Jenkins auch so konfigurieren, dass Builds regelmäßig ausgeführt werden.

Informationen zum Konfigurieren von Builds in Jenkins finden Sie unter Konfigurieren automatischer Builds .

Hinzufügen von Gradle-Build-Schritten zum Neuerstellen von APK-Paketen

Wenn Sie ein Revisionskontrollsystem verwenden, um den Quellcode für Ihre App zu verwalten, müssen Sie einen Gradle-Build-Schritt einfügen, um jedes Mal, wenn Jenkins Quellcode von Ihrem Revisionskontrollsystem herunterlädt, neue APK-Binärdateien zu erstellen.

  1. Fügen Sie einen Build-Schritt hinzu, um die folgenden Befehle im Hauptverzeichnis Ihrer Anwendung auszuführen:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. Fügen Sie einen Build-Schritt hinzu, um die von Gradle erstellten APK-Pakete beim Testen mit Test Lab zu verwenden. Sie können diesen Pfad als <local_server_path> im unten bereitgestellten Shellskriptbeispiel verwenden, wobei <AppFolder> der Android Studio-Projektordner für Ihre App ist:

    <AppFolder>/app/build/outputs/apk
    

Fügen Sie Test Lab-Build-Schritte zu Jenkins hinzu

Jetzt können Sie Jenkins einen Build-Schritt hinzufügen, um Test Lab über die gcloud-Befehlszeile auszuführen.

So fügen Sie einen gcloud-Build-Schritt hinzu

  1. Klicken Sie auf der Hauptseite Ihres Projekts auf Konfigurieren .
  2. Scrollen Sie auf der Projektkonfigurationsseite nach unten zum Abschnitt „ Build “ und wählen Sie dann „ Execute Shell “ aus dem Menü „ Build-Schritt hinzufügen“ aus.

  3. Geben Sie im Shell-Befehlsfenster Jenkins Execute Folgendes ein und ersetzen Sie <local_server_path> durch den Pfad zur Beispiel-App auf dem Server, <app_apk> durch das APK Ihrer App und <app_test_apk> durch das Test-APK Ihrer App:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

Testergebnisse analysieren

Nachdem Test Lab das Testen Ihrer App abgeschlossen hat, können Sie die Testergebnisse in der Firebase-Konsole oder in einem Google Cloud Storage- Bucket in Ihrem Projekt überprüfen. Sie können dem oben gezeigten Shell-Befehl auch einen gsutil Befehl hinzufügen, um die Testergebnisdaten auf Ihren lokalen Computer zu kopieren. Weitere Informationen finden Sie unter Analysieren der Firebase-Testlaborergebnisse .

Kontinuierliche Integration mit anderen CI-Systemen

Informationen zur Verwendung von Firebase Test Lab mit anderen CI-Systemen finden Sie in deren Dokumenten: