Tutorial: Erstellen Sie eine Pipeline, die Ihre iOS-App testet mit AWS Device Farm - AWS CodePipeline

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tutorial: Erstellen Sie eine Pipeline, die Ihre iOS-App testet mit AWS Device Farm

Sie können AWS CodePipeline damit ganz einfach einen kontinuierlichen Integrationsablauf konfigurieren, in dem Ihre App bei jeder Änderung des Quell-Buckets getestet wird. In diesem Tutorial wird gezeigt, wie Sie eine Pipeline erstellen und konfigurieren, um Ihre erstellte iOS-App aus einem S3-Bucket zu testen. Die Pipeline erkennt das Eintreffen einer gespeicherten Änderung über Amazon CloudWatch Events und verwendet dann Device Farm, um die erstellte Anwendung zu testen.

Wichtig

Viele der Aktionen, die Sie Ihrer Pipeline in diesem Verfahren hinzufügen, beinhalten AWS Ressourcen, die Sie erstellen müssen, bevor Sie die Pipeline erstellen. AWS Ressourcen für Ihre Quellaktionen müssen immer in derselben AWS Region erstellt werden, in der Sie Ihre Pipeline erstellen. Wenn Sie Ihre Pipeline beispielsweise in der Region USA Ost (Ohio) erstellen, muss sich Ihr CodeCommit Repository in der Region USA Ost (Ohio) befinden.

Sie können beim Erstellen Ihrer Pipeline regionsübergreifende Aktionen hinzufügen. AWS Ressourcen für regionsübergreifende Aktionen müssen sich in derselben AWS Region befinden, in der Sie die Aktion ausführen möchten. Weitere Informationen finden Sie unter Fügen Sie eine regionsübergreifende Aktion hinzu in CodePipeline.

Sie können dies mit Ihrer vorhandenen iOS-App oder der iOS-Beispiel-App ausprobieren.

Anmerkung

Bevor Sie beginnen

  1. Melden Sie sich bei der AWS Device Farm Konsole an und wählen Sie Neues Projekt erstellen aus.

  2. Wählen Sie Ihr Projekt. Kopieren Sie im Browser die URL Ihres neuen Projekts. Die URL enthält die Projekt-ID.

  3. Kopieren Sie diese Produkt-ID und bewahren Sie sie auf. Sie verwenden es, wenn Sie Ihre Pipeline in erstellen CodePipeline.

    Hier ist eine Beispiel-URL für ein Projekt. Um die Projekt-ID zu extrahieren, kopieren Sie den Wert nach projects/. In diesem Beispiel lautet die Produkt-ID eec4905f-98f8-40aa-9afc-4c1cfexample.

    https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs

Für CodePipeline die Verwendung Ihrer Device Farm Farm-Tests konfigurieren (Beispiel Amazon S3)

  1. Erstellen oder verwenden Sie einen S3-Bucket mit aktiviertem Versioning. Sie können den Anweisungen unter Schritt 1: Erstellen eines S3-Buckets für Ihre Anwendung folgen, um einen S3-Bucket zu erstellen.

  2. Wählen Sie in der Amazon S3 S3-Konsole für Ihren Bucket Upload und folgen Sie den Anweisungen, um Ihre ZIP-Datei hochzuladen.

    Ihre Beispielanwendung muss in komprimierter Form als ZIP-Datei vorliegen.

  3. Um Ihre Pipeline zu erstellen und eine Quellphase hinzuzufügen, gehen Sie wie folgt vor:

    1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die CodePipeline Konsole unter https://console.aws.amazon.com/codepipeline/.

    2. Wählen Sie Create pipeline (Pipeline erstellen) aus. Geben Sie auf der Seite Step 1: Choose pipeline settings (Schritt 1: Pipeline-Einstellungen auswählen) unter Pipeline name (Pipeline-Name) den Namen für Ihre Pipeline ein.

    3. Wählen Sie im Feld Pipeline-Typ die Option V1 für die Zwecke dieses Tutorials aus. Sie können auch V2 wählen. Beachten Sie jedoch, dass sich die Pipeline-Typen in ihren Eigenschaften und im Preis unterscheiden. Weitere Informationen finden Sie unter Pipeline-Typen.

    4. Wählen Sie unter Service role weiterhin New service role aus und lassen Sie Role name unverändert. Sie können auch eine vorhandene Service-Rolle verwenden, sofern eine vorhanden ist.

      Anmerkung

      Wenn Sie eine CodePipeline Servicerolle verwenden, die vor Juli 2018 erstellt wurde, müssen Sie Berechtigungen für Device Farm hinzufügen. Öffnen Sie dazu die IAM-Konsole, suchen Sie nach der Rolle und fügen Sie dann der Rollenrichtlinie die folgenden Berechtigungen hinzu. Weitere Informationen finden Sie unter Hinzufügen von Berechtigungen zur CodePipeline-Servicerolle.

      { "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "*" }
    5. Belassen Sie die Einstellungen unter Erweiterte Einstellungen bei den Standardeinstellungen, und wählen Sie dann Next (Weiter) aus.

    6. Auf der Seite Step 2: Add source stage (Schritt 2: Hinzufügen der Quell-Stufe) wählen Sie für Source provider (Quell-Anbieter) die Option Amazon S3.

    7. Geben Sie im Amazon S3 S3-Speicherort den Bucket (z. my-storage-bucket B.) und den Objektschlüssel (z. B. s3-ios-test-1.zip für Ihre ZIP-Datei) ein.

    8. Wählen Sie Weiter aus.

  4. Erstellen Sie unter Build eine Platzhalter-Build-Stufe für Ihre Pipeline. So können Sie die Pipeline im Assistenten erstellen. Wenn Sie den Assistenten zum Erstellen Ihrer zweistufigen Pipeline verwendet haben, brauchen Sie diese Platzhalter-Build-Stufe nicht mehr. Nachdem die Pipeline abgeschlossen ist, wird die zweite Stufe gelöscht und die neue Teststufe in Schritt 5 hinzugefügt.

    1. Wählen Sie unter Build provider (Build-Anbieter) auf Add Jenkins (Jenkins hinzufügen). Diese Build-Auswahl ist nur ein Platzhalter. Sie wird nicht verwendet.

    2. Geben Sie unter Provider name (Anbietername) einen Namen ein. Der Name ist ein Platzhalter. Sie wird nicht verwendet.

    3. Geben Sie unter Server URL Text ein. Der Text ist ein Platzhalter. Sie wird nicht verwendet.

    4. Geben Sie unter Project name (Projektname) einen Namen ein. Der Name ist ein Platzhalter. Sie wird nicht verwendet.

    5. Wählen Sie Weiter aus.

    6. Wählen Sie auf der Seite Step 4: Add deploy stage (Schritt 4: Bereitstellungsstufe hinzufügen) die Option Skip deploy stage (Bereitstellungsstufe überspringen) aus und akzeptieren Sie anschließend die Warnmeldung, indem Sie erneut Skip (Überspringen) auswählen.

    7. Wählen Sie unter Step 5: Review (Schritt 5: Überprüfen) die Option Create pipeline (Pipeline erstellen) aus. Sie sollten ein Diagramm sehen, das Ihre Pipeline-Quell- und -Build-Stufen anzeigt.

      Zeigen Sie Ihre Pipeline an.
  5. Fügen Sie Ihrer Pipeline wie folgt eine Device Farm Farm-Testaktion hinzu:

    1. Wählen Sie rechts oben Edit (Bearbeiten) aus.

    2. Wählen Sie Edit stage (Phase bearbeiten). Wählen Sie Löschen aus. Dadurch wird die Platzhalter-Stufe gelöscht, die Sie nun für die Pipeline-Erstellung nicht mehr benötigen.

    3. Wählen Sie unten im Diagramm + Add stage (+ Stufe hinzufügen) aus.

    4. Geben Sie unter „Stage Name (Name der Phase)“ einen Namen für die Phase ein, etwa Test, und wählen Sie dann Add stage (Phase hinzufügen).

    5. Wählen Sie + Add action group (Aktionsgruppe hinzufügen).

    6. Geben Sie im Feld Aktionsname einen Namen ein, z. DeviceFarmTest B.

    7. Wählen Sie unter Aktionsanbieter die Option AWS Device Farm aus. Belassen Sie unter Region als Standardeinstellung die Pipeline-Region.

    8. Wählen Sie unter Input artifacts (Eingabeartefakte) das Eingabeartefakt aus, das mit dem Ausgabeartefakt der Phase übereinstimmt, die sich vor der Testphase befindet, wie etwa SourceArtifact.

      In der AWS CodePipeline Konsole finden Sie den Namen des Ausgabeartefakts für jede Phase, indem Sie den Mauszeiger über das Informationssymbol im Pipeline-Diagramm bewegen. Wenn Ihre Pipeline Ihre App direkt von der Quellphase aus testet, wählen Sie. SourceArtifact Wenn die Pipeline eine Build-Phase enthält, wählen Sie BuildArtifact.

    9. Wählen Sie ProjectIdunter Ihre Device Farm Farm-Projekt-ID aus. Führen Sie die Schritte zu Beginn dieses Tutorials aus, um Ihre Projekt-ID abzurufen.

    10. Geben Sie DevicePoolArnunter den ARN für den Gerätepool ein. Geben Sie mit der AWS CLI den folgenden Befehl ein, um die verfügbaren Gerätepool-ARNs für das Projekt abzurufen, einschließlich des ARN für Top-Geräte:

      aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
    11. Geben AppTypeSie iOS ein.

      Im Folgenden finden Sie eine Liste gültiger Werte für AppType:

      • iOS

      • Android

      • Web

    12. Geben Sie unter App den Pfad des kompilierten Anwendungspakets ein. Der Pfad ist relativ zum Stamm des Eingabeartefakts für die Testphase. In der Regel sieht dieser Pfad in etwa wie ios-test.ipa aus.

    13. Geben Sie unter Ihren Testtyp und anschließend im Feld Test den Pfad der Testspezifikationsdatei ein. TestType Der Pfad ist relativ zum Stamm des Eingabeartefakts für Ihren Test.

      Wenn Sie einen der integrierten Device Farm Farm-Tests verwenden, geben Sie den in Ihrem Device Farm Farm-Projekt konfigurierten Testtyp ein, z. B. BUILTIN_FUZZ. Geben Sie unter eine Zeit in FuzzEventCountMillisekunden ein, z. B. 6000. Geben Sie FuzzEventThrottleunter eine Zeit in Millisekunden ein, z. B. 50.

      Wenn Sie keinen der integrierten Device Farm Farm-Tests verwenden, geben Sie Ihren Testtyp und dann im Feld Test den Pfad der Testdefinitionsdatei ein. Der Pfad ist relativ zum Stamm des Eingabeartefakts für Ihren Test.

      Die folgende Liste enthält gültige Werte für TestType:

      • APPIUM_JAVA_JUNIT

      • APPIUM_JAVA_TESTNG

      • APPIUM_KNOTEN

      • APPIUM_RUBY

      • APPIUM_PYTHON

      • APPIUM_WEB_JAVA_JUNIT

      • APPIUM_WEB_JAVA_TESTNG

      • APPIUM_WEB_NODE

      • APPIUM_WEB_RUBY

      • APPIUM_WEB_PYTHON

      • EINGEBAUTETER_FUZZ

      • INSTRUMENTATION

      • XCTEST

      • XCTEST_UI

      Anmerkung

      Knoten für benutzerdefinierte Umgebungen werden nicht unterstützt.

    14. Geben Sie in den übrigen Feldern die Konfiguration ein, die für Ihren Test- und Anwendungstyp geeignet ist.

    15. (Optional) Geben Sie unter Advanced (Erweitert) Konfigurationsinformationen für Ihren Testlauf ein.

    16. Wählen Sie Speichern.

    17. Wählen Sie in der Phase, die Sie bearbeiten, Fertig. Wählen Sie in dem AWS CodePipeline Bereich Speichern aus, und wählen Sie dann in der Warnmeldung Speichern aus.

    18. Um Ihre Änderungen zu übertragen und eine Pipelineausführung zu starten, wählen Sie Release change (Änderung freigeben) und dann Release (Freigeben).