Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Beginnen Sie mit dem Testen mit CI-Systemen

Sie können Firebase Test Lab verwenden, wenn Sie Ihre App mit einem beliebigen Continuous Integration (CI)-System entwickeln. Mit Continuous Integration-Systemen können Sie Ihre App jedes Mal automatisch erstellen und testen, wenn Sie Aktualisierungen Ihres App-Quellcodes einchecken.

Verwenden von Firebase Test Lab mit Jenkins CI

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

Bedarf

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

  1. Richten Sie gcloud ein. Folgen Sie den Anweisungen unter Verwenden von Firebase Test Lab über die gcloud-Befehlszeile , um ein Firebase-Projekt zu erstellen und Ihre lokale Google Cloud SDK-Umgebung zu konfigurieren.
  2. Erstellen Sie ein Dienstkonto. Dienstkonten unterliegen keinen Spamprüfungen oder Captcha-Eingabeaufforderungen, die sonst Ihre CI-Builds blockieren könnten. Erstellen Sie ein Dienstkonto mit einer Bearbeiterrolle in der Google Cloud Console .
  3. Erforderliche APIs aktivieren. Nachdem Sie sich mit dem Dienstkonto angemeldet haben: Aktivieren Sie auf der Seite der Google Developers Console API-Bibliothek die Google Cloud Testing API und die Cloud Tool Results API . So aktivieren Sie diese APIs, geben diese API - Namen in das Suchfeld am oberen Rand der Konsole, und klicken Sie dann auf API aktivieren auf der Übersichtsseite für die API.

Jenkins installieren und einrichten

Sie können Jenkins CI unter Linux oder Windows installieren und einrichten. Bestimmte Details dieses Handbuchs gelten speziell für 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 unter Jenkins installieren . 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 Zugriffssteuerung konfiguriert. Konfigurieren Sie vor der Verwendung von Jenkins mit Firebase Test Lab globale Sicherheitseinstellungen, um die Zugriffskontrolle 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 Jenkins verwalten und dann auf Globale Sicherheit konfigurieren .
  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 Secure Jenkins .

Erstellen Sie ein Jenkins-Projekt

Erstellen Sie als Nächstes ein Projekt zum Ausführen von Continuous Integration-Tests 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 , um ein Projekt zu erstellen, das eine einzelne Build-Konfiguration verwendet.
    • Wählen Sie Projekt mit mehreren Konfigurationen erstellen, um ein Projekt zu erstellen, das auf mehreren verschiedenen Build-Konfigurationen ausgeführt wird. Wenn Sie Ihre App mit einer Vielzahl von Build-Konfigurationen erstellen möchten (mehrere Gebietsschemas, mehrere Android-API-Ebenen usw.), ist ein Projekt mit mehreren Konfigurationen die beste Wahl.
  4. Klicken Sie auf Speichern .

Nachdem Ihr Projekt erstellt wurde, zeigt Ihr Webbrowser die Hauptseite Ihres Projekts an.

Hinzufügen von Revisionskontroll- und Gradle-Build-Schritten

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 Quellcode zu erstellen.

Integration mit GitHub und anderen Revisionskontrollsystemen

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

Weitere 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 jedes Mal, wenn Jenkins Quellcode von Ihrem Revisionskontrollsystem herunterlädt, einen Gradle-Build-Schritt einschließen, um neue APK-Binärdateien zu erstellen.

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

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

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

    <AppFolder>/app/build/outputs/apk
    

Hinzufügen von Test Lab-Buildschritten zu Jenkins

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 Shell ausführen aus dem Menü Buildschritt hinzufügen.

  3. Geben Sie im Befehlsfenster der Jenkins Shell ausführen Folgendes ein und ersetzen Sie dabei <local_server_path> für den Pfad zur Beispiel-App auf dem Server, <app_apk> für das APK Ihrer App und <app_test_apk> für 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 den Test 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 Ergebnisse des Firebase-Testlabors analysieren .

Kontinuierliche Integration mit anderen CI-Systemen

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