Hinzufügen zusätzlicher Dateien zu Ihrem Testpaket in Device Farm - 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.

Hinzufügen zusätzlicher Dateien zu Ihrem Testpaket in Device Farm

Möglicherweise möchten Sie zusätzliche Dateien als Teil Ihrer Tests verwenden, entweder als zusätzliche Konfigurationsdateien oder als zusätzliche Testdaten. Sie können diese zusätzlichen Dateien Ihrem Testpaket hinzufügen, bevor Sie es hochladen AWS Device Farm, und dann im benutzerdefinierten Umgebungsmodus darauf zugreifen. Grundsätzlich handelt es sich bei allen Uploadformaten für Testpakete (ZIPIPAAPK,JAR,, usw.) um Paketarchivformate, die ZIP Standardoperationen unterstützen.

Sie können Ihrem Testarchiv Dateien hinzufügen, bevor Sie es hochladen, AWS Device Farm indem Sie den folgenden Befehl verwenden:

$ zip zip-with-dependencies.zip extra_file

Für ein Verzeichnis mit zusätzlichen Dateien:

$ zip -r zip-with-dependencies.zip extra_files/

Diese Befehle funktionieren erwartungsgemäß für alle Upload-Formate von Testpaketen mit Ausnahme IPA von Dateien. Für IPA Dateien, insbesondere bei Verwendung mitXCUITests, empfehlen wir, dass Sie alle zusätzlichen Dateien aufgrund der Art und Weise, wie iOS-Testpakete AWS Device Farm gestaltet sind, an einem etwas anderen Speicherort ablegen. Beim Erstellen Ihres iOS-Tests befindet sich das Testanwendungsverzeichnis in einem anderen Verzeichnis mit dem Namen Payload.

So könnte beispielsweise ein solches iOS-Testverzeichnis aussehen:

$ tree . └── Payload └── ADFiOSReferenceAppUITests-Runner.app ├── ADFiOSReferenceAppUITests-Runner ├── Frameworks │ ├── XCTAutomationSupport.framework │ │ ├── Info.plist │ │ ├── XCTAutomationSupport │ │ ├── _CodeSignature │ │ │ └── CodeResources │ │ └── version.plist │ └── XCTest.framework │ ├── Info.plist │ ├── XCTest │ ├── _CodeSignature │ │ └── CodeResources │ ├── en.lproj │ │ └── InfoPlist.strings │ └── version.plist ├── Info.plist ├── PkgInfo ├── PlugIns │ ├── ADFiOSReferenceAppUITests.xctest │ │ ├── ADFiOSReferenceAppUITests │ │ ├── Info.plist │ │ └── _CodeSignature │ │ └── CodeResources │ └── ADFiOSReferenceAppUITests.xctest.dSYM │ └── Contents │ ├── Info.plist │ └── Resources │ └── DWARF │ └── ADFiOSReferenceAppUITests ├── _CodeSignature │ └── CodeResources └── embedded.mobileprovision

Fügen Sie für diese XCUITest Pakete alle zusätzlichen Dateien zu dem Verzeichnis hinzu, das auf endet .app innerhalb des Payload Verzeichnis. Die folgenden Befehle zeigen beispielsweise, wie Sie diesem Testpaket eine Datei hinzufügen können:

$ mv extra_file Payload/*.app/ $ zip -r my_xcui_tests.ipa Payload/

Wenn Sie Ihrem Testpaket eine Datei hinzufügen, können Sie AWS Device Farm je nach Upload-Format ein leicht unterschiedliches Interaktionsverhalten erwarten. Wenn für den Upload die ZIP Dateierweiterung verwendet wurde, AWS Device Farm wird der Upload vor dem Test automatisch entpackt und die entpackten Dateien bleiben an dem Speicherort mit $DEVICEFARM_TEST_PACKAGE_PATH Umgebungsvariable. (Das bedeutet, wenn Sie eine Datei mit dem Namen hinzugefügt haben extra_file im Stammverzeichnis des Archivs, wie im ersten Beispiel, würde sie sich unter befinden $DEVICEFARM_TEST_PACKAGE_PATH/extra_file während des Tests).

Um ein praktischeres Beispiel zu verwenden, wenn Sie ein Appium TestNG-Benutzer sind und ein testng.xml Datei mit Ihrem Test können Sie mit dem folgenden Befehl in Ihr Archiv aufnehmen:

$ zip zip-with-dependencies.zip testng.xml

Anschließend können Sie Ihren Testbefehl im benutzerdefinierten Umgebungsmodus wie folgt ändern:

java -D appium.screenshots.dir=$DEVICEFARM_SCREENSHOT_PATH org.testng.TestNG -testjar *-tests.jar -d $DEVICEFARM_LOG_DIR/test-output $DEVICEFARM_TEST_PACKAGE_PATH/testng.xml

Wenn Ihre Upload-Erweiterung für das Testpaket nicht ZIP vorhanden ist (z. B. APKIPA,, oder JAR Datei), befindet sich die hochgeladene Paketdatei selbst unter $DEVICEFARM_TEST_PACKAGE_PATH. Da es sich immer noch um Dateien im Archivformat handelt, können Sie die Datei entpacken, um von innen auf die zusätzlichen Dateien zuzugreifen. Der folgende Befehl entpackt beispielsweise den Inhalt des Testpakets (fürAPK,IPA, oder JAR Dateien) in das /tmp Verzeichnis:

unzip $DEVICEFARM_TEST_PACKAGE_PATH -d /tmp

Im Fall einer APK JAR OR-Datei würden Sie Ihre zusätzlichen Dateien entpackt finden /tmp Verzeichnis (z. B. /tmp/extra_file). Im Fall einer IPA Datei würden sich zusätzliche Dateien, wie bereits erklärt, an einem etwas anderen Ort innerhalb des Ordners befinden, der auf endet .app, das ist innerhalb der Payload Verzeichnis. Basierend auf dem obigen IPA Beispiel würde die Datei beispielsweise an dem Speicherort gefunden werden /tmp/Payload/ADFiOSReferenceAppUITests-Runner.app/extra_file (referenzierbar als /tmp/Payload/*.app/extra_file).

Weitere Möglichkeiten, Ihre Testsuite zu erweitern und Ihre Tests zu optimieren, finden Sie unterErweiterung benutzerdefinierter Testumgebungen in Device Farm.