Ajouter des fichiers supplémentaires à votre package de test dans Device Farm - AWS Device Farm

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajouter des fichiers supplémentaires à votre package de test dans Device Farm

Vous souhaiterez peut-être utiliser des fichiers supplémentaires dans le cadre de vos tests, soit en tant que fichiers de configuration supplémentaires, soit en tant que données de test supplémentaires. Vous pouvez ajouter ces fichiers supplémentaires à votre package de test avant de le télécharger AWS Device Farm, puis y accéder depuis le mode environnement personnalisé. Fondamentalement, tous les formats de téléchargement de packages de test (ZIPIPA,APK,,JAR, etc.) sont des formats d'archive de packages qui prennent en charge les ZIP opérations standard.

Vous pouvez ajouter des fichiers à votre archive de test avant de la télécharger à l'aide AWS Device Farm de la commande suivante :

$ zip zip-with-dependencies.zip extra_file

Pour un répertoire de fichiers supplémentaires :

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

Ces commandes fonctionnent comme prévu pour tous les formats de téléchargement de packages de test, à l'exception IPA des fichiers. Pour IPA les fichiers, en particulier lorsqu'ils sont utilisés avecXCUITests, nous vous recommandons de placer les fichiers supplémentaires dans un emplacement légèrement différent en raison de la manière dont les packages de test AWS Device Farm iOS sont résignés. Lors de la création de votre test iOS, le répertoire de l'application de test sera situé dans un autre répertoire nommé Payload.

Par exemple, voici à quoi peut ressembler un tel répertoire de test iOS :

$ 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

Pour ces XCUITest packages, ajoutez des fichiers supplémentaires dans le répertoire se terminant par .app à l'intérieur du Payload annuaire. Par exemple, les commandes suivantes indiquent comment ajouter un fichier à ce package de test :

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

Lorsque vous ajoutez un fichier à votre package de test, vous pouvez vous attendre à un comportement d'interaction légèrement différent en AWS Device Farm fonction de son format de téléchargement. Si le téléchargement a utilisé l'extension de ZIP fichier, il AWS Device Farm décompressera automatiquement le téléchargement avant votre test et laissera les fichiers décompressés à l'emplacement où se trouve le $DEVICEFARM_TEST_PACKAGE_PATH variable d'environnement. (Cela signifie que si vous avez ajouté un fichier appelé extra_file à la racine de l'archive, comme dans le premier exemple, elle se trouverait à $DEVICEFARM_TEST_PACKAGE_PATH/extra_file pendant le test).

Pour utiliser un exemple plus pratique, si vous êtes un utilisateur d'Appium TestNG qui souhaite inclure un testng.xml fichier contenant votre test, vous pouvez l'inclure dans votre archive à l'aide de la commande suivante :

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

Vous pouvez ensuite modifier votre commande de test dans le mode d'environnement personnalisé comme suit :

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

Si l'extension de téléchargement de votre package de test ne l'est pas ZIP (par exemple APKIPA,, ou JAR fichier), le fichier de package téléchargé lui-même se trouve à l'adresse $DEVICEFARM_TEST_PACKAGE_PATH. Comme il s'agit toujours de fichiers au format archive, vous pouvez décompresser le fichier afin d'accéder aux fichiers supplémentaires de l'intérieur. Par exemple, la commande suivante décompressera le contenu du package de test (pour APKIPA, ou JAR fichiers) dans /tmp répertoire :

unzip $DEVICEFARM_TEST_PACKAGE_PATH -d /tmp

Dans le cas d'un JAR fichier APK or, vous trouverez vos fichiers supplémentaires décompressés dans /tmp répertoire (par exemple, /tmp/extra_file). Dans le cas d'un IPA fichier, comme expliqué précédemment, les fichiers supplémentaires se trouveraient dans un emplacement légèrement différent dans le dossier se terminant par .app, qui se trouve à l'intérieur du Payload annuaire. Par exemple, sur la base de l'IPAexemple ci-dessus, le fichier se trouverait à l'emplacement /tmp/Payload/ADFiOSReferenceAppUITests-Runner.app/extra_file (référençable en tant que /tmp/Payload/*.app/extra_file).

Pour découvrir d'autres moyens d'étendre votre suite de tests et d'optimiser vos tests, consultezExtension des environnements de test personnalisés dans Device Farm.