Sie können Firebase Test Lab verwenden, wenn Sie Ihre Anwendung mit einem beliebigen Continuous Integration-System (CI) entwickeln. Mit Continuous-Integration-Systemen können Sie Ihre Anwendung jedes Mal automatisch erstellen und testen, wenn Sie Aktualisierungen am Quellcode Ihrer Anwendung vornehmen.
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:
gcloud einrichten Folgen Sie der Anleitung unter Firebase Test Lab über die gcloud-Befehlszeile verwenden, um ein Firebase-Projekt zu erstellen und Ihre lokale Google Cloud SDK-Umgebung zu konfigurieren.
Dienstkonto erstellen und autorisieren Dienstkonten unterliegen keinen Spamprüfungen oder Captcha-Aufforderungen, die sonst Ihre CI-Builds blockieren könnten. Erstellen Sie in der Google Cloud-Konsole ein Dienstkonto mit der Rolle Bearbeiter und aktivieren Sie es. Eine Anleitung dazu finden Sie in der Dokumentation zu gcloud auth activate-service-account.
Erforderliche APIs aktivieren Nachdem Sie sich mit dem Dienstkonto angemeldet haben, aktivieren Sie 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 die Namen dieser APIs in das Suchfeld oben in der Console ein und klicken Sie dann auf der Übersichtsseite der jeweiligen API auf API aktivieren, um sie zu aktivieren.
Jenkins installieren und einrichten
Sie können Jenkins CI unter Linux oder Windows installieren und einrichten. Bestimmte Details in diesem Leitfaden beziehen sich auf die Installation und Ausführung von Jenkins CI unter Linux, einschließlich der Verwendung von Schrägstrichen (/) in Dateipfaden.
Wenn Sie Jenkins auf einem Computer mit Linux oder Windows herunterladen und installieren möchten, folgen Sie der Anleitung unter Installing Jenkins. Folgen Sie nach der Installation von Jenkins der Anleitung unter Starting and Accessing Jenkins, um die Einrichtung abzuschließen und auf das Jenkins-Dashboard zuzugreifen.
Globale Sicherheitseinstellungen konfigurieren
Bei der Erstinstallation von Jenkins sind keine Nutzerauthentifizierung und Zugriffssteuerung konfiguriert. Bevor Sie Jenkins mit Firebase Test Lab verwenden, konfigurieren Sie globale Sicherheitseinstellungen, um die Zugriffssteuerung zu erzwingen und Nutzer zu authentifizieren.
Globale Sicherheitseinstellungen konfigurieren
- Rufen Sie das Jenkins-Dashboard auf Ihrem Server auf. Rufen Sie dazu http://<servername>:8080 auf, wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
- Klicken Sie im Jenkins-Dashboard auf Manage Jenkins (Jenkins verwalten) und dann auf Configure Global Security (Globale Sicherheit konfigurieren).
- 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.
Jenkins-Projekt erstellen
Erstellen Sie als Nächstes ein Projekt, um mit Firebase Test Lab CI-Tests für Ihre Anwendung auszuführen.
So erstellen Sie ein Jenkins-Projekt:
- Rufen Sie das Jenkins-Dashboard auf Ihrem Server auf. Rufen Sie dazu http://<servername>:8080 auf, wobei <servername> der Name des Computers ist, auf dem Sie Jenkins installiert haben.
- Klicken Sie im Jenkins-Dashboard auf New Item (Neues Element).
- Geben Sie im Feld Elementname einen Namen für Ihr Projekt ein:
- Wählen Sie Freestyle-Projekt aus, um ein Projekt mit einer einzelnen Build-Konfiguration zu erstellen.
- Wählen Sie Build multi-configuration project aus, um ein Projekt zu erstellen, das mit mehreren verschiedenen Build-Konfigurationen ausgeführt wird. Wenn Sie Ihre App mit verschiedenen Build-Konfigurationen (mehrere Sprachen, mehrere Android API-Level usw.) erstellen möchten, ist ein Projekt mit mehreren Konfigurationen die beste Wahl.
- Klicken Sie auf Speichern.
Nachdem Ihr Projekt erstellt wurde, wird in Ihrem Webbrowser die Hauptseite für Ihr Projekt angezeigt.
Versionskontrolle und Gradle-Build-Schritte hinzufügen
In diesem Abschnitt wird beschrieben, wie Sie Jenkins in Versionskontrollsysteme wie GitHub einbinden und Gradle-Build-Schritte hinzufügen, um APK-Pakete aus dem Quellcode zu erstellen.
In GitHub und andere Versionsverwaltungssysteme einbinden
Wenn Sie GitHub oder ein anderes Versionskontrollsystem verwenden, um den Quellcode für Ihre Anwendung zu verwalten, können Sie Jenkins so konfigurieren, dass jedes Mal, wenn Aktualisierungen Ihrer Anwendung 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 Automatische Builds konfigurieren.
Gradle-Build-Schritte zum Neuerstellen von APK-Paketen hinzufügen
Wenn Sie ein Versionskontrollsystem verwenden, um den Quellcode für Ihre Anwendung 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 Versionskontrollsystem herunterlädt.
Fügen Sie einen Build-Schritt hinzu, um die folgenden Befehle im Hauptverzeichnis Ihrer Anwendung auszuführen:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
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 im unten angegebenen Shell-Script-Beispiel als <local_server_path> 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 Jenkins einen Build-Schritt hinzufügen, um Test Lab über die gcloud-Befehlszeile auszuführen.
So fügen Sie einen gcloud-Build-Schritt hinzu:
- Klicken Sie auf der Hauptseite Ihres Projekts auf Konfigurieren.
Scrollen Sie auf der Seite Projektkonfiguration nach unten zum Abschnitt Build und wählen Sie dann im Menü Build-Schritt hinzufügen die Option Shell ausführen aus.
Geben Sie im Fenster Jenkins Execute shell command Folgendes ein. 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 Test Lab die Tests Ihrer App abgeschlossen hat, können Sie die Testergebnisse in der Firebase-Konsole oder in einem Google Cloud Storage-Bucket in Ihrem Projekt einsehen. 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 Firebase Test Lab-Ergebnisse analysieren.
Continuous Integration mit anderen CI-Systemen
Informationen zur Verwendung von Firebase Test Lab mit anderen CI-Systemen finden Sie in der entsprechenden Dokumentation: