Beginnen Sie mit dem Testen mit Continuous-Integration-Systemen (CI).

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

Verwendung 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. gcloud einrichten. Befolgen Sie die Anweisungen unter Verwenden des Firebase-Testlabors über die gcloud-Befehlszeile, 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 andernfalls Ihre CI-Builds blockieren könnten. Erstellen Sie ein Dienstkonto mit der Rolle „Bearbeiter“ in der Google Cloud Console und aktivieren Sie es dann (weitere Informationen dazu finden Sie in der Dokumentation zu gcloud auth activate-service-account ).

  3. Aktivieren Sie die erforderlichen APIs. Nach der Anmeldung mit dem Dienstkonto: Aktivieren Sie auf der Seite „API-Bibliothek“ der Google Developers Console 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 .

Installieren und richten Sie Jenkins ein

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 unter „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

Bei der Erstinstallation von Jenkins sind keine Benutzerauthentifizierung und Zugriffskontrolle konfiguriert. Bevor Sie Jenkins mit Firebase Test Lab verwenden, konfigurieren Sie globale Sicherheitseinstellungen, um die Zugriffskontrolle durchzusetzen und Benutzer zu authentifizieren.

Um globale Sicherheitseinstellungen zu konfigurieren

  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 Securing Jenkins .

Erstellen Sie ein Jenkins-Projekt

Erstellen Sie als Nächstes ein Projekt zum Ausführen kontinuierlicher 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 im Feld „Elementname“ einen Namen für Ihr Projekt ein:
    • Wählen Sie „Freestyle-Projekt“ , um ein Projekt zu erstellen, das eine einzelne Build-Konfiguration verwendet.
    • Wählen Sie „Multikonfigurationsprojekt erstellen“ , um ein Projekt zu erstellen, das auf mehreren verschiedenen Build-Konfigurationen ausgeführt wird. Wenn Sie planen, Ihre App mit verschiedenen Build-Konfigurationen (mehrere Gebietsschemata, 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 Ihres Projekts 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 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 jedes Mal, wenn Updates für Ihre App eingecheckt werden, automatisierte 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 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 einschließen, 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 Shell-Skript-Beispiel 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 „Shell ausführen“ aus dem Menü „Build-Schritt hinzufügen“ aus.

  3. Geben Sie im Jenkins Execute Shell-Befehlsfenster Folgendes ein und ersetzen Sie dabei <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 das Testlabor 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 Analysieren der Ergebnisse des Firebase-Testlabors .

Kontinuierliche Integration mit anderen CI-Systemen

Um zu erfahren, wie Sie Firebase Test Lab mit anderen CI-Systemen verwenden, schauen Sie sich deren Dokumente an: