Mit Continuous-Integration-Systemen (CI) testen

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

Firebase Test Lab mit Jenkins CI verwenden

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

Voraussetzungen

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

  1. gcloud einrichten Folgen Sie der Anleitung 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. Dienstkonto erstellen und autorisieren Für Dienstkonten werden keine Spamprüfungen oder Captcha-Aufforderungen angezeigt, die Ihre CI Builds andernfalls blockieren könnten. Erstellen Sie in der Google Cloud console ein Dienstkonto mit der Rolle Bearbeiter und aktivieren Sie es dann. Informationen dazu finden Sie in der Dokumentation zu gcloud auth activate-service-account .

  3. Erforderliche APIs aktivieren Melden Sie sich mit dem Dienstkonto an und aktivieren Sie dann auf der Seite mit der API-Bibliothek in der Google Developers Console, die Google Cloud Testing API und die Cloud Tool Results API. Geben Sie dazu die Namen der APIs in das Suchfeld oben in der Console ein und klicken Sie auf der Übersichtsseite für die jeweilige API auf API aktivieren.

Jenkins installieren und einrichten

Sie können Jenkins CI unter Linux oder Windows installieren und einrichten. Bestimmte Details in dieser Anleitung gelten speziell für die Installation und Ausführung von Jenkins CI unter Linux, einschließlich der Verwendung von Schrägstrichen (/) in Dateipfaden.

Folgen Sie der Anleitung unter Jenkins installieren, um Jenkins auf einem Computer mit Linux oder Windows herunterzuladen und zu installieren. Folgen Sie nach der Installation von Jenkins der Anleitung unter Jenkins starten und darauf zugreifen, um die Einrichtung abzuschließen und auf das Jenkins-Dashboard zuzugreifen.

Globale Sicherheitseinstellungen konfigurieren

Bei der ersten Installation von Jenkins sind keine Nutzerauthentifizierung und Zugriffssteuerung konfiguriert, wenn es installiert wird. Bevor Sie Jenkins mit Firebase Test Lab verwenden, konfigurieren Sie die globalen Sicherheitseinstellungen, um die Zugriffssteuerung zu erzwingen und Nutzer zu authentifizieren.

Globale Sicherheitseinstellungen konfigurieren

  1. Rufen Sie das Jenkins-Dashboard auf Ihrem Server auf. Dazu rufen Sie http://<servername>:8080 auf, wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
  2. Klicken Sie auf dem Jenkins-Dashboard auf Manage Jenkins (Jenkins verwalten) und dann auf Configure Global Security (Globale Sicherheit konfigurieren).
  3. Klicken Sie auf der Seite Configure Global Security (Globale Sicherheit konfigurieren) auf Enable security (Sicherheit aktivieren) und dann auf Save (Speichern).

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

Jenkins-Projekt erstellen

Erstellen Sie als Nächstes ein Projekt, um kontinuierliche Integrationstests für Ihre App auszuführen mit Firebase Test Lab.

Jenkins-Projekt erstellen

  1. Rufen Sie das Jenkins-Dashboard auf Ihrem Server auf. Dazu rufen Sie http://<servername>:8080 auf, wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
  2. Klicken Sie auf dem Jenkins-Dashboard auf New Item (Neues Element).
  3. Geben Sie im Feld Item name (Elementname) einen Namen für Ihr Projekt ein:
    • Wählen Sie Freestyle project (Freestyle-Projekt) aus, um ein Projekt mit einer einzelnen Build Konfiguration zu erstellen.
    • Wählen Sie Build multi-configuration project (Projekt mit mehreren Konfigurationen erstellen) aus, um ein Projekt zu erstellen, das mit mehreren verschiedenen Build-Konfigurationen ausgeführt wird. Wenn Sie Ihre App mit verschiedenen 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 Save (Speichern).

Nachdem Ihr Projekt erstellt wurde, wird im Webbrowser die Hauptseite für Ihr Projekt angezeigt.

Versionsverwaltung und Gradle-Build-Schritte hinzufügen

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

Einbindung in GitHub und andere Versionsverwaltungssysteme

Wenn Sie GitHub oder ein anderes Versionsverwaltungssystem 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, automatische Builds 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 Automatische Builds konfigurieren.

Gradle-Build-Schritte hinzufügen, um APK-Pakete neu zu erstellen

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

  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 angegebenen Shell-Skript verwenden, wobei <AppFolder> der Android Studio-Projektordner für Ihre App ist:

    <AppFolder>/app/build/outputs/apk
    

Test Lab-Build-Schritte zu Jenkins hinzufügen

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

gcloud-Build-Schritt hinzufügen

  1. Klicken Sie auf der Hauptseite für Ihr Projekt auf Configure (Konfigurieren).
  2. Scrollen Sie auf der Seite project configuration (Projektkonfiguration) nach unten zum Abschnitt Build (Erstellen) und wählen Sie im Menü Add build step (Build-Schritt hinzufügen) die Option Execute shell (Shell ausführen) aus.

  3. Geben Sie im Fenster Jenkins Execute shell command (Jenkins-Shellbefehl ausführen) 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 die Tests Ihrer App abgeschlossen hat, können Sie die Testergebnisse in der Firebase Console oder in einem Google Cloud Storage Bucket in Ihrem Projekt ansehen. 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 Firebase Test Lab analysieren.

Kontinuierliche Integration mit anderen CI-Systemen

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