Mit Continuous-Integration-Systemen (CI) testen

Du kannst Firebase Test Lab verwenden, wenn du deine App mit einer kontinuierlichen (CI)-Systems. Mit Continuous-Integration-Systemen Erstellen und testen Sie Ihre App jedes Mal, wenn Sie Updates im Quellcode Ihrer App überprüfen.

Firebase Test Lab mit Jenkins CI verwenden

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

Voraussetzungen

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 der Anleitung auf Firebase Test Lab über die gcloud-Befehlszeile verwenden um ein Firebase-Projekt zu erstellen und dein lokales Google Cloud SDK zu konfigurieren zu verbessern.

  2. Erstellen und autorisieren Sie ein Dienstkonto. Dienstkonten unterliegen nicht Spamprüfungen oder Captcha-Aufforderungen, die Ihre CI baut. Erstellen Sie ein Dienstkonto mit der Rolle Bearbeiter in der Google Cloud-Konsole und aktiviere es dann Weitere Informationen 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. Bis aktivieren Sie diese APIs, geben Sie diese API-Namen in das Suchfeld oben auf der Console und klicken Sie dann auf der Übersichtsseite dieser API auf API aktivieren.

Jenkins installieren und einrichten

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

Wenn Sie Jenkins auf einem Computer mit Linux oder Windows herunterladen und installieren möchten, folgen Sie der Anleitung unter Jenkins installieren. Nachher und wie Sie Jenkins installieren, Jenkins starten und aufrufen um die Einrichtung abzuschließen und auf das Jenkins-Dashboard zuzugreifen.

Globale Sicherheitseinstellungen konfigurieren

In Jenkins wurden die Nutzerauthentifizierung und die Zugriffssteuerung nicht konfiguriert. wird zuerst installiert. Konfigurieren Sie vor der Verwendung von Jenkins mit Firebase Test Lab Globale Sicherheitseinstellungen, um Zugriffssteuerung und Authentifizierung zu erzwingen Nutzenden.

Globale Sicherheitseinstellungen konfigurieren

  1. Rufen Sie das Jenkins-Dashboard auf Ihrem Server auf. Gehen Sie dazu zu http://<servername>:8080, wobei <servername> der Name ist des Computers, auf dem Sie Jenkins installiert haben.
  2. Klicken Sie im Jenkins-Dashboard auf Manage Jenkins (Jenkins verwalten) und dann auf Globale Sicherheit konfigurieren
  3. Klicken Sie auf der Seite Globale Sicherheit konfigurieren auf Sicherheit aktivieren. Klicken Sie dann auf Speichern.

Weitere Informationen zum Konfigurieren von Sicherheitseinstellungen für Jenkins finden Sie unter Schnelle und einfache Sicherheit, Standard-Sicherheitseinrichtung, und Jenkins sichern.

Jenkins-Projekt erstellen

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

Jenkins-Projekt erstellen

  1. Rufen Sie auf Ihrem Server das Jenkins-Dashboard auf. Rufen Sie dazu http://<servername>:8080 auf, wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
  2. Klicken Sie im Jenkins-Dashboard auf New Item (Neues Element).
  3. Geben Sie in das Feld Elementname einen Namen für Ihr Projekt ein:
    • Wählen Sie Freestyle project (Freestyle-Projekt) aus, um ein Projekt mit einem einzelnen Build zu erstellen. Konfiguration.
    • Wählen Sie Projekt mit mehreren Konfigurationen erstellen aus, um ein Projekt zu erstellen, das verschiedene Build-Konfigurationen ausgeführt werden. Wenn Sie vorhaben, Ihrer App mit verschiedenen Build-Konfigurationen (mehrere Sprachen, mehrere Android-API-Ebenen usw. enthält, ist ein Projekt mit mehreren Konfigurationen die beste Wahl.
  4. Klicken Sie auf Speichern.

Nachdem das Projekt erstellt wurde, wird in Ihrem Webbrowser die Hauptseite des Projekts angezeigt.

Überarbeitungssteuerung und Gradle-Build-Schritte hinzufügen

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

Integration in GitHub und andere Versionskontrollsysteme

Wenn Sie GitHub oder ein anderes Versionskontrollsystem zum Verwalten des Quellcodes verwenden können Sie Jenkins so konfigurieren, dass automatisierte Builds und Tests ausgeführt werden. jedes Mal, wenn Updates für Ihre App aktiviert werden. Sie können auch Jenkins zur regelmäßigen Ausführung von Builds

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 zur Verwaltung des Quellcodes Ihrer App ein Versionskontrollsystem verwenden, müssen einen Gradle-Build-Schritt einschließen, um jedes Mal neue APK-Binärdateien zu erstellen, wenn Jenkins ausgeführt wird. lädt Quellcode aus Ihrem Versionskontrollsystem herunter.

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

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

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

    <AppFolder>/app/build/outputs/apk
    

Test Lab Build-Schritte zu Jenkins hinzufügen

Jetzt können Sie Jenkins einen Buildschritt hinzufügen, um Test Lab mit der gcloud-Befehlszeile auszuführen.

Gcloud-Buildschritt hinzufügen

  1. Klicken Sie auf der Hauptseite Ihres Projekts auf Konfigurieren.
  2. Scrollen Sie auf der Seite Projektkonfiguration nach unten zum Abschnitt Build und wählen Sie im Menü Buildschritt hinzufügen die Option Shell ausführen aus.

  3. Geben Sie im Fenster Jenkins Execute shellcommand Folgendes ein: Ersetzen Sie den Pfad zur Beispielanwendung durch <local_server_path> auf den 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

Wenn Test Lab den Test deiner App abgeschlossen hat, kannst du den Test prüfen Ergebnisse in der Firebase-Konsole oder in einer Google Cloud Storage-Bucket in für Ihr Projekt. Sie können auch eine gsutil-Befehl in den wie oben gezeigt, um die Testergebnisdaten auf Ihren lokalen Computer zu kopieren. Weitere Informationen finden Sie unter Firebase Test Lab Ergebnisse werden analysiert.

Continuous Integration mit anderen CI-Systemen

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