Migration de vos environnements de test personnalisés vers les nouveaux hôtes de test iOS - 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.

Migration de vos environnements de test personnalisés vers les nouveaux hôtes de test iOS

Pour migrer les tests existants de l'ancien hôte vers le nouvel hôte de test macOS, vous devez développer de nouveaux fichiers de spécifications de test basés sur vos fichiers de spécifications préexistants.

L'approche recommandée consiste à commencer par l'exemple de fichier de spécifications de test pour les types de test souhaités, puis à migrer les commandes pertinentes de votre ancien fichier de spécifications de test vers le nouveau. Cela vous permet de tirer parti des nouvelles fonctionnalités et des optimisations de l'exemple de spécification de test pour le nouvel hôte tout en réutilisant des extraits de code existant.

Tutoriel : Migration des fichiers de spécifications de test iOS avec la console

Dans cet exemple, la console Device Farm sera utilisée pour intégrer une spécification de test d'appareil iOS existante afin d'utiliser le nouvel hôte de test.

Étape 1 : Création de nouveaux fichiers de spécifications de test avec la console

  1. Connectez-vous à la console AWS Device Farm.

  2. Accédez au projet Device Farm contenant vos tests d'automatisation.

  3. Téléchargez une copie des spécifications de test existantes que vous souhaitez utiliser.

    1. Cliquez sur l'option « Paramètres du projet » et accédez à l'onglet Téléchargements.

    2. Accédez au fichier de spécifications de test que vous souhaitez intégrer.

    3. Cliquez sur le bouton Télécharger pour créer une copie locale de ce fichier.

  4. Retournez à la page Projet et cliquez sur Créer une exécution.

  5. Renseignez les options de l'assistant comme si vous deviez démarrer une nouvelle exécution, mais arrêtez-vous sur l'option Sélectionner les spécifications de test.

  6. À l'aide de la spécification de test iOS sélectionnée par défaut, cliquez sur le bouton Créer une spécification de test.

  7. Modifiez la spécification de test sélectionnée par défaut dans l'éditeur de texte.

    1. S'il n'est pas déjà présent, modifiez le fichier de spécifications de test pour sélectionner le nouvel hôte en utilisant :

      ios_test_host: macos_sequoia
    2. À partir de la copie de votre spécification de test téléchargée lors d'une étape précédente, passez en revue chacune phase d'elles.

    3. Copiez les commandes des phases de l'ancienne spécification de test dans chaque phase respective de la nouvelle spécification de test, en ignorant les commandes liées à l'installation ou à la sélection de Java, Python, Node.js, Ruby, Appium ou Xcode.

  8. Entrez un nouveau nom de fichier dans la zone de texte Enregistrer sous.

  9. Cliquez sur le bouton Enregistrer en tant que nouveau pour enregistrer vos modifications.

Pour un exemple de fichier de spécifications de test que vous pouvez utiliser comme référence, consultez l'exemple fourni dansExemples de spécifications de test.

Étape 2 : Sélection du logiciel préinstallé

Dans le nouvel hôte de test, les versions logicielles préinstallées sont sélectionnées à l'aide d'un nouvel outil de gestion des versions standardisé appelédevicefarm-cli. Cet outillage est désormais l'approche recommandée pour utiliser les différents logiciels que nous fournissons sur les hôtes de test.

Par exemple, vous devez ajouter la ligne suivante pour utiliser un JDK 17 différent dans votre environnement de test :

- devicefarm-cli use java 17

Pour plus d'informations sur les logiciels pris en charge disponibles, veuillez consulter :Logiciels pris en charge dans des environnements de test personnalisés.

Étape 3 : Utilisation d'Appium et de ses dépendances via l'outil de sélection de logiciels

Le nouvel hôte de test prend uniquement en charge Appium 2.x et versions ultérieures. Veuillez sélectionner explicitement la version d'Appium à l'aide dudevicefarm-cli, tout en supprimant les outils existants tels que. avm Par exemple :

# 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

La version d'Appium sélectionnée devicefarm-cli est préinstallée avec une version compatible du pilote XCUITest pour iOS.

De plus, vous devrez mettre à jour vos spécifications de test pour les utiliser au DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V9 lieu de DEVICEFARM_WDA_DERIVED_DATA_PATH. La nouvelle variable d'environnement indique une version prédéfinie de WebDriverAgent 9.x, qui est la dernière version prise en charge pour les tests Appium 2.

Pour plus d'informations, consultez Sélection d'une WebDriverAgent version pour les tests iOS etVariables d'environnement pour les tests Appium.

Différences entre les nouveaux hôtes de test et les anciens

Lorsque vous modifiez votre fichier de spécifications de test pour utiliser le nouvel hôte de test iOS et que vous transférez vos tests depuis l'ancien hôte de test, tenez compte de ces principales différences d'environnement :

  • Versions Xcode : dans l'ancien environnement hôte de test, la version Xcode disponible était basée sur la version iOS de l'appareil utilisé pour les tests. Par exemple, les tests sur les appareils iOS 18 ont utilisé Xcode 16 dans l'ancien hôte, tandis que les tests sur iOS 17 ont utilisé Xcode 15. Dans le nouvel environnement hôte, tous les appareils peuvent accéder aux mêmes versions de Xcode, ce qui permet de disposer d'un environnement cohérent pour les tests sur des appareils dotés de versions différentes. Pour obtenir la liste des versions de Xcode actuellement disponibles, consultezLogiciels pris en charge.

  • Sélection des versions logicielles : Dans de nombreux cas, les versions logicielles par défaut ont changé. Par conséquent, si vous ne sélectionniez pas explicitement votre version logicielle sur l'ancien hôte de test, vous souhaiterez peut-être la spécifier maintenant sur le nouvel hôte de test en utilisant devicefarm-cli. Dans la grande majorité des cas d'utilisation, nous recommandons aux clients de sélectionner explicitement les versions des logiciels qu'ils utilisent. En sélectionnant une version logicielle avec, devicefarm-cli vous bénéficierez d'une expérience prévisible et cohérente et recevrez de nombreux avertissements si Device Farm prévoit de supprimer cette version de l'hôte de test.

    De plus, les outils de sélection de logiciels tels que nvm pyenv avm,, et rvm ont été supprimés au profit du nouveau système de sélection de devicefarm-cli logiciels.

  • Versions logicielles disponibles : de nombreuses versions de logiciels précédemment préinstallés ont été supprimées et de nombreuses nouvelles versions ont été ajoutées. Assurez-vous donc que lorsque vous utilisez le devicefarm-cli pour sélectionner les versions de vos logiciels, vous sélectionnez les versions figurant dans la liste des versions prises en charge.

  • La libimobiledevice suite d'outils a été supprimée au profit d'outils plus récents ou de première génération permettant de suivre les tests actuels des appareils iOS et les normes du secteur. Pour iOS 17 et versions ultérieures, vous pouvez migrer la plupart des commandes pour utiliser un outil Xcode similaire, appelé. devicectl Pour plus d'informationsdevicectl, vous pouvez exécuter xcrun devicectl help depuis une machine sur laquelle Xcode est installé.

  • Les chemins de fichiers codés en dur dans votre ancien fichier de spécifications de test d'hôte en tant que chemins absolus ne fonctionneront probablement pas comme prévu sur le nouvel hôte de test, et ils ne sont généralement pas recommandés pour l'utilisation des fichiers de spécifications de test. Nous vous recommandons d'utiliser des chemins relatifs et des variables d'environnement pour tout le code des fichiers de spécifications de test. Pour plus d'informations, consultez la rubrique surBonnes pratiques pour l'exécution d'un environnement de test personnalisé.

  • Version et architecture du système d'exploitation : Les anciens hôtes de test utilisaient diverses versions de macOS et architectures de processeur en fonction du périphérique attribué. Par conséquent, les utilisateurs peuvent remarquer certaines différences dans les bibliothèques système disponibles dans l'environnement. Pour plus d'informations sur la version précédente du système d'exploitation hôte, consultezAncien hôte de test iOS.

  • Pour les utilisateurs d'Appium, la méthode de sélection WebDriverAgent a été remplacée par un préfixe de variable d'environnement use DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V au lieu de l'ancien préfixe. DEVICEFARM_WDA_DERIVED_DATA_PATH_V Pour plus d'informations sur la variable mise à jour, consultezVariables d'environnement pour les tests Appium.

  • Pour les utilisateurs d'Appium Java, le nouvel hôte de test ne contient aucun fichier JAR préinstallé dans son chemin de classe, alors que l'hôte précédent en contenait un pour le framework TestNG (via une variable d'environnement). $DEVICEFARM_TESTNG_JAR Nous recommandons aux clients d'intégrer les fichiers JAR nécessaires à leurs frameworks de test dans leur package de test et de supprimer les instances de la $DEVICEFARM_TESTNG_JAR variable de leurs fichiers de spécifications de test.

Nous vous recommandons de contacter l'équipe de service par le biais d'un dossier d'assistance si vous avez des commentaires ou des questions sur les différences entre les hôtes de test du point de vue logiciel.