Migrieren Sie Ihre benutzerdefinierten Testumgebungen auf die neuen iOS-Testhosts - AWS Device Farm

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.

Migrieren Sie Ihre benutzerdefinierten Testumgebungen auf die neuen iOS-Testhosts

Um bestehende Tests vom Legacy-Host auf den neuen macOS-Testhost zu migrieren, müssen Sie neue Testspezifikationsdateien entwickeln, die auf Ihren bereits vorhandenen basieren.

Der empfohlene Ansatz besteht darin, mit der Beispieltestspezifikationsdatei für die gewünschten Testtypen zu beginnen und dann relevante Befehle von Ihrer alten Testspezifikationsdatei auf die neue zu migrieren. Auf diese Weise können Sie neue Funktionen und Optimierungen der Beispieltestspezifikation für den neuen Host nutzen und gleichzeitig Ausschnitte aus Ihrem vorhandenen Code wiederverwenden.

Tutorial: Migrieren von iOS-Testspezifikationsdateien mit der Konsole

In diesem Beispiel wird die Device Farm Farm-Konsole verwendet, um eine bestehende iOS-Gerätetestspezifikation zu integrieren, um den neuen Testhost zu verwenden.

Schritt 1: Erstellen neuer Testspezifikationsdateien mit der Konsole

  1. Melden Sie sich bei der AWS Device Farm Farm-Konsole an.

  2. Navigieren Sie zum Device Farm Farm-Projekt, das Ihre Automatisierungstests enthält.

  3. Laden Sie eine Kopie der vorhandenen Testspezifikation herunter, die Sie verwenden möchten.

    1. Klicken Sie auf die Option „Projekteinstellungen“ und navigieren Sie zur Registerkarte Uploads.

    2. Navigieren Sie zu der Testspezifikationsdatei, die Sie verwenden möchten.

    3. Klicken Sie auf die Schaltfläche Herunterladen, um eine lokale Kopie dieser Datei zu erstellen.

  4. Gehen Sie zurück zur Projektseite und klicken Sie auf Ausführung erstellen.

  5. Füllen Sie die Optionen im Assistenten so aus, als ob Sie einen neuen Lauf starten würden, halten Sie aber bei der Option Testspezifikation auswählen an.

  6. Verwenden Sie die standardmäßig ausgewählte iOS-Testspezifikation und klicken Sie auf die Schaltfläche Testspezifikation erstellen.

  7. Ändern Sie die Testspezifikation, die standardmäßig im Texteditor ausgewählt wurde.

    1. Falls noch nicht vorhanden, ändern Sie die Testspezifikationsdatei, um den neuen Host auszuwählen. Verwenden Sie dazu:

      ios_test_host: macos_sequoia
    2. Überprüfen Sie jede Kopie Ihrer Testspezifikation, die Sie in einem vorherigen Schritt heruntergeladen haben. phase

    3. Kopiert Befehle aus den Phasen der alten Testspezifikation in die jeweiligen Phasen der neuen Testspezifikation und ignoriert dabei Befehle, die sich auf die Installation oder Auswahl von Java, Python, Node.js, Ruby, Appium oder Xcode beziehen.

  8. Geben Sie einen neuen Dateinamen in das Textfeld Speichern unter ein.

  9. Klicken Sie auf die Schaltfläche Als neu speichern, um Ihre Änderungen zu speichern.

Ein Beispiel für eine Testspezifikationsdatei, die Sie als Referenz verwenden können, finden Sie im Beispiele für Testspezifikationen Beispiel unter.

Schritt 2: Auswahl der vorinstallierten Software

Auf dem neuen Testhost werden vorinstallierte Softwareversionen mithilfe eines neuen standardisierten Versionsverwaltungstools namens ausgewählt. devicefarm-cli Dieses Tool ist jetzt der empfohlene Ansatz für die Verwendung der verschiedenen Software, die wir auf den Testhosts bereitstellen.

Als Beispiel würden Sie die folgende Zeile hinzufügen, um ein anderes JDK 17 in Ihrer Testumgebung zu verwenden:

- devicefarm-cli use java 17

Weitere Informationen zur unterstützten und verfügbaren Software finden Sie unter:Unterstützte Software in benutzerdefinierten Testumgebungen.

Schritt 3: Verwenden von Appium und seinen Abhängigkeiten über das Softwareauswahltool

Der neue Testhost unterstützt nur Appium 2.x und höher. Bitte wählen Sie explizit die Appium-Version mit dem devicefarm-cli aus und entfernen Sie dabei ältere Tools wie. avm Beispiel:

# This line using 'avm' should be removed # - avm 2.3.1 # And the following lines should be added - devicefarm-cli use appium 2 # Selects the version - appium --version # Prints the version

Die mit ausgewählte Appium-Version devicefarm-cli ist mit einer kompatiblen Version des XCUITest Treibers für iOS vorinstalliert.

Darüber hinaus müssen Sie Ihre Testspezifikation aktualisieren, um sie anstelle von zu verwenden DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V9. DEVICEFARM_WDA_DERIVED_DATA_PATH Die neue Umgebungsvariable verweist auf eine vorgefertigte Version von WebDriverAgent 9.x, der neuesten unterstützten Version für Appium 2-Tests.

Weitere Informationen finden Sie unter und. Auswahl einer WebDriverAgent Version für iOS-Tests Umgebungsvariablen für Appium-Tests

Unterschiede zwischen den neuen und den älteren Testhosts

Wenn Sie Ihre Testspezifikationsdatei bearbeiten, um den neuen iOS-Testhost zu verwenden, und Ihre Tests vom alten Testhost umstellen, sollten Sie sich der folgenden wichtigen Umgebungsunterschiede bewusst sein:

  • Xcode-Versionen: In der Legacy-Testhostumgebung basierte die verfügbare Xcode-Version auf der iOS-Version des zum Testen verwendeten Geräts. Beispielsweise verwendeten Tests auf iOS 18-Geräten Xcode 16 im Legacy-Host, wohingegen Tests auf iOS 17 Xcode 15 verwendeten. In der neuen Host-Umgebung können alle Geräte auf dieselben Versionen von Xcode zugreifen, was eine konsistente Umgebung für Tests auf Geräten mit unterschiedlichen Versionen ermöglicht. Eine Liste der derzeit verfügbaren Xcode-Versionen finden Sie unter. Unterstützte Software

  • Softwareversionen auswählen: In vielen Fällen haben sich die Standard-Softwareversionen geändert. Wenn Sie also Ihre Softwareversion auf dem älteren Testhost nicht explizit ausgewählt haben, möchten Sie sie jetzt vielleicht auf dem neuen Testhost mit devicefarm-cliangeben. In den allermeisten Anwendungsfällen empfehlen wir Kunden, explizit die Softwareversionen auszuwählen, die sie verwenden. Wenn Sie eine Softwareversion mit auswählen, haben devicefarm-cli Sie eine vorhersehbare und konsistente Erfahrung damit und erhalten zahlreiche Warnungen, wenn Device Farm plant, diese Version vom Testhost zu entfernen.

    Darüber hinaus rvm wurden Tools zur Softwareauswahl wie nvm pyenv avm,, und zugunsten des neuen devicefarm-cli Softwareauswahlsystems entfernt.

  • Verfügbare Softwareversionen: Viele Versionen zuvor vorinstallierter Software wurden entfernt und viele neue Versionen hinzugefügt. Stellen Sie daher sicher, dass Sie bei der devicefarm-cli Auswahl Ihrer Softwareversionen Versionen auswählen, die in der Liste der unterstützten Versionen enthalten sind.

  • Die libimobiledevice Toolsuite wurde zugunsten neuerer Tools bzw. Tools von Erstanbietern entfernt, um aktuelle iOS-Gerätetests und Industriestandards nachzuverfolgen. Für iOS 17 und höher können Sie die meisten Befehle migrieren, um ähnliche Xcode-Tools zu verwenden, genannt. devicectl Weitere Informationen dazu finden Sie unter: Sie können das Programm xcrun devicectl help von einem Computer aus ausführendevicectl, auf dem Xcode installiert ist.

  • Dateipfade, die in Ihrer alten Host-Testspezifikationsdatei als absolute Pfade fest codiert sind, funktionieren auf dem neuen Testhost höchstwahrscheinlich nicht wie erwartet und werden im Allgemeinen nicht für die Verwendung von Testspezifikationsdateien empfohlen. Wir empfehlen, relative Pfade und Umgebungsvariablen für den gesamten Code der Testspezifikationsdatei zu verwenden. Weitere Informationen finden Sie im Thema unterBewährte Methoden für die Ausführung benutzerdefinierter Testumgebungen.

  • Betriebssystemversion und Architektur: Die älteren Testhosts verwendeten eine Vielzahl von macOS-Versionen und CPU-Architekturen, die auf dem zugewiesenen Gerät basierten. Daher stellen Benutzer möglicherweise einige Unterschiede in den verfügbaren Systembibliotheken fest, die in der Umgebung verfügbar sind. Weitere Informationen zur vorherigen Host-Betriebssystemversion finden Sie unterLegacy-iOS-Testhost.

  • Für Appium-Benutzer WebDriverAgent wurde die Art der Auswahl von dahingehend geändert, dass DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V anstelle des alten DEVICEFARM_WDA_DERIVED_DATA_PATH_V Präfixes ein Präfix für die Verwendung einer Umgebungsvariablen verwendet wird. Weitere Informationen zur aktualisierten Variablen finden Sie Umgebungsvariablen für Appium-Tests unter.

  • Für Appium Java-Benutzer enthält der neue Testhost keine vorinstallierten JAR-Dateien in seinem Klassenpfad, wohingegen der vorherige Host eine für das TestNG-Framework (über eine Umgebungsvariable) enthielt. $DEVICEFARM_TESTNG_JAR Wir empfehlen Kunden, die erforderlichen JAR-Dateien für ihre Testframeworks in ihr Testpaket zu packen und Instanzen der $DEVICEFARM_TESTNG_JAR Variablen aus ihren Testspezifikationsdateien zu entfernen.

Wir empfehlen, sich über einen Support-Fall an das Serviceteam zu wenden, wenn Sie Feedback oder Fragen zu den Unterschieden zwischen den Testhosts aus Sicht der Software haben.