Migración de sus entornos de prueba personalizados a los nuevos hosts de prueba de iOS - AWS Device Farm

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Migración de sus entornos de prueba personalizados a los nuevos hosts de prueba de iOS

Para migrar las pruebas existentes del host anterior al nuevo host de pruebas de macOS, tendrás que desarrollar nuevos archivos de especificaciones de prueba basados en los ya existentes.

El enfoque recomendado es empezar con el archivo de especificaciones de prueba de ejemplo para los tipos de prueba que desees y, a continuación, migrar los comandos pertinentes del archivo de especificaciones de prueba anterior al nuevo. Esto le permite aprovechar las nuevas funciones y optimizaciones de la especificación de prueba del ejemplo para el nuevo host y, al mismo tiempo, reutilizar fragmentos de código existentes.

Tutorial: Migración de archivos de especificaciones de prueba de iOS con la consola

En este ejemplo, la consola Device Farm se usará para incorporar una especificación de prueba de un dispositivo iOS existente para usar el nuevo host de prueba.

Paso 1: Crear un nuevo archivo de especificaciones de prueba con la consola

  1. Inicie sesión en la consola de AWS Device Farm.

  2. Navegue hasta el proyecto Device Farm que contiene sus pruebas de automatización.

  3. Descargue una copia de la especificación de prueba existente con la que desee incorporarla.

    1. Haz clic en la opción «Configuración del proyecto» y dirígete a la pestaña Cargas.

    2. Navega hasta el archivo de especificaciones de la prueba con el que deseas incorporarla.

    3. Haga clic en el botón Descargar para hacer una copia local de este archivo.

  4. Vuelva a la página del proyecto y haga clic en Crear ejecución.

  5. Complete las opciones del asistente como si fuera a iniciar una nueva ejecución, pero deténgase en la opción Seleccionar especificación de prueba.

  6. Con la especificación de prueba de iOS seleccionada de forma predeterminada, haz clic en el botón Crear una especificación de prueba.

  7. Modifique la especificación de prueba que se seleccionó de forma predeterminada en el editor de texto.

    1. Si aún no está presente, modifique el archivo de especificaciones de la prueba para seleccionar el nuevo host mediante:

      ios_test_host: macos_sequoia
    2. De la copia de las especificaciones de prueba descargada en un paso anterior, revise cada una de ellas. phase

    3. Copie los comandos de las fases de la especificación de prueba anterior en cada fase correspondiente de la nueva especificación de prueba, ignorando los comandos relacionados con la instalación o la selección de Java, Python, Node.js, Ruby, Appium o Xcode.

  8. Introduzca un nombre de archivo nuevo en el cuadro de texto Guardar como.

  9. Haga clic en el botón Guardar como nuevo para guardar los cambios.

Para ver un ejemplo de un archivo de especificaciones de prueba que puede utilizar como referencia, consulte el ejemplo que se proporciona enEjemplos de especificaciones de prueba.

Paso 2: Selección del software (software preinstalado)

En el nuevo host de prueba, las versiones de software preinstaladas se seleccionan mediante una nueva herramienta estandarizada de administración de versiones denominada. devicefarm-cli Estas herramientas son ahora el enfoque recomendado para usar los distintos programas que ofrecemos en los hosts de prueba.

Como ejemplo, añadiría la siguiente línea para usar un JDK 17 diferente en su entorno de prueba:

- devicefarm-cli use java 17

Para obtener más información sobre el software compatible disponible, consulte:Software compatible en entornos de prueba personalizados.

Paso 3: Uso de Appium y sus dependencias a través de las herramientas de selección de software

El nuevo host de prueba solo es compatible con Appium 2.x y versiones posteriores. Seleccione explícitamente la versión de Appium utilizando la y, al mismo tiempodevicefarm-cli, elimine las herramientas antiguas, como. avm Por ejemplo:

# 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 versión de Appium seleccionada devicefarm-cli viene preinstalada con una versión compatible del controlador XCUITest para iOS.

Además, tendrás que actualizar las especificaciones de prueba para utilizarlas en lugar de. DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V9 DEVICEFARM_WDA_DERIVED_DATA_PATH La nueva variable de entorno apunta a una versión prediseñada de WebDriverAgent 9.x, que es la última versión compatible con las pruebas de Appium 2.

Para obtener más información, consulte y. Selección de una WebDriverAgent versión para las pruebas de iOS Variables de entorno para las pruebas de Appium

Diferencias entre los hosts de prueba nuevos y antiguos

Al editar el archivo de especificaciones de las pruebas para usar el nuevo host de pruebas de iOS y al realizar la transición de las pruebas desde el host de pruebas anterior, ten en cuenta estas diferencias clave del entorno:

  • Versiones de Xcode: en el entorno de host de pruebas antiguo, la versión de Xcode disponible se basaba en la versión iOS del dispositivo utilizada para las pruebas. Por ejemplo, las pruebas en dispositivos iOS 18 usaron Xcode 16 en el host anterior, mientras que las pruebas en iOS 17 usaron Xcode 15. En el nuevo entorno anfitrión, todos los dispositivos pueden acceder a las mismas versiones de Xcode, lo que permite disponer de un entorno uniforme para las pruebas en dispositivos con diferentes versiones. Para obtener una lista de las versiones de Xcode disponibles actualmente, consulte. Software compatible

  • Selección de versiones de software: en muchos casos, las versiones de software predeterminadas han cambiado, por lo que si antes no seleccionaba explícitamente su versión de software en el host de prueba anterior, puede que desee especificarla ahora en el nuevo host de prueba mediante devicefarm-cli. En la gran mayoría de los casos de uso, recomendamos que los clientes seleccionen de forma explícita las versiones del software que utilizan. Si selecciona una versión de software, devicefarm-cli tendrá una experiencia predecible y coherente con ella y recibirá una gran cantidad de advertencias si Device Farm planea eliminar esa versión del host de prueba.

    Además, herramientas de selección de software como nvm, pyenv, avm, y rvm se han eliminado en favor del nuevo sistema de selección de software devicefarm-cli.

  • Versiones de software disponibles: se han eliminado muchas versiones del software previamente preinstalado y se han agregado muchas versiones nuevas. Por lo tanto, asegúrese de que cuando utilice devicefarm-cli para seleccionar las versiones de software, seleccione las que estén en la lista de versiones compatibles.

  • El libimobiledevice conjunto de herramientas se ha eliminado en favor de herramientas más nuevas o propias para realizar un seguimiento de las pruebas actuales de los dispositivos iOS y los estándares de la industria. Para iOS 17 y versiones posteriores, puedes migrar la mayoría de los comandos para usar herramientas de Xcode similares, llamadas. devicectl Para obtener información al respectodevicectl, puedes ejecutarlo xcrun devicectl help desde una máquina con Xcode instalado.

  • Las rutas de archivos que están codificadas en el archivo de especificaciones de prueba del host anterior como rutas absolutas probablemente no funcionen como se espera en el nuevo host de prueba y, por lo general, no se recomiendan para el uso de archivos de especificaciones de prueba. Le recomendamos que utilice rutas relativas y variables de entorno para todo el código del archivo de especificaciones de prueba. Para obtener más información, consulte el tema sobre. Mejores prácticas para la ejecución de entornos de pruebas personalizados

  • Versión y arquitectura del sistema operativo: los hosts de prueba antiguos utilizaban diversas versiones de macOS y arquitecturas de CPU basadas en el dispositivo asignado. Como resultado, es posible que los usuarios observen algunas diferencias en las bibliotecas de sistemas disponibles en el entorno. Para obtener más información sobre la versión anterior del sistema operativo anfitrión, consulteHost de pruebas de iOS antiguo.

  • Para los usuarios de Appium, la forma de seleccionar el prefijo WebDriverAgent ha cambiado a utilizar el prefijo de la variable de entorno DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V en lugar del prefijo anterior. DEVICEFARM_WDA_DERIVED_DATA_PATH_V Para obtener más información sobre la variable actualizada, consulte. Variables de entorno para las pruebas de Appium

  • Para los usuarios de Appium Java, el nuevo host de prueba no contiene ningún archivo JAR preinstalado en su ruta de clases, mientras que el host anterior contenía uno para el marco TestNG (a través de una variable de entorno). $DEVICEFARM_TESTNG_JAR Recomendamos a los clientes que incluyan los archivos JAR necesarios para sus marcos de pruebas dentro de su paquete de pruebas y que eliminen las instancias de la variable $DEVICEFARM_TESTNG_JAR de sus archivos de especificaciones de prueba.

Le recomendamos que contacte con el equipo de servicio a través de un servicio de asistencia si tiene algún comentario o pregunta sobre las diferencias entre los hosts de prueba desde el punto de vista del software.