View a markdown version of this page

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 (ZIP, IPA, APK, JAR, etc.) sont des formats d'archive de packages qui prennent en charge les opérations ZIP standard.

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

$ zip zip-with-dependencies.zip extra_file

Pour un répertoire contenant des 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 des fichiers IPA. Pour les fichiers IPA, en particulier lorsqu'ils sont utilisés avec XCUItests, nous vous recommandons de placer tous les fichiers supplémentaires dans un emplacement légèrement différent en raison de la conception des packages de test iOS AWS Device Farm . 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 packages XCUItest, ajoutez tous les fichiers supplémentaires au répertoire se terminant à l'.appintérieur du répertoire. Payload 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 fichier ZIP, AWS Device Farm il sera automatiquement décompressé avant votre test et laissera les fichiers décompressés à l'emplacement où se trouve la variable d'environnement. $DEVICEFARM_TEST_PACKAGE_PATH (Cela signifie que si vous ajoutiez un fichier appelé extra_file à la racine de l'archive comme dans le premier exemple, il 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 et que vous souhaitez inclure un testng.xml fichier dans 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 en mode 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 n'est pas ZIP (par exemple, un fichier APK, IPA ou JAR), le fichier de package téléchargé lui-même se trouve à l'$DEVICEFARM_TEST_PACKAGE_PATHadresse. Comme il s'agit toujours de fichiers au format archive, vous pouvez décompresser le fichier afin d'accéder aux fichiers supplémentaires depuis l'intérieur. Par exemple, la commande suivante décompressera le contenu du package de test (pour les fichiers APK, IPA ou JAR) dans le /tmp répertoire :

unzip $DEVICEFARM_TEST_PACKAGE_PATH -d /tmp

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

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