

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.

# Ejecute automáticamente pruebas de Appium en Device Farm
<a name="test-types-appium"></a><a name="test-types-ios-appium-java-testng"></a><a name="test-types-ios-appium-java-junit"></a><a name="test-types-ios-appium-python"></a><a name="test-types-ios-appium-ruby"></a><a name="test-types-ios-appium-node"></a><a name="test-types-android-appium-java-testng"></a><a name="test-types-android-appium-java-junit"></a><a name="test-types-android-appium-python"></a><a name="test-types-android-appium-ruby"></a><a name="test-types-android-appium-node"></a><a name="test-types-web-app-appium-java-testng"></a><a name="test-types-web-app-appium-java-junit"></a><a name="test-types-web-app-appium-python"></a><a name="test-types-web-app-appium-ruby"></a><a name="test-types-web-app-appium-node"></a>

**nota**  
**En esta página, se describe la ejecución de las pruebas de Appium en el entorno de ejecución gestionado del lado del servidor de Device Farm.** [Para ejecutar pruebas de Appium desde su entorno local del lado del **cliente durante una sesión de acceso remoto, consulte las pruebas de Appium del lado del cliente**.](appium-endpoint.md)

En esta sección, se describe cómo configurar, empaquetar y cargar las pruebas de Appium para ejecutarlas en el entorno gestionado del lado del servidor de Device Farm. Appium es una herramienta de código abierto que permite automatizar aplicaciones web nativas para dispositivos móviles. Para obtener más información, consulte [Introduction to Appium](http://appium.io/docs/en/latest/intro) en el sitio web de Appium.

Para ver una aplicación de muestra y enlaces a pruebas de funcionamiento, consulte [Device Farm Sample App para Android](https://github.com/aws-samples/aws-device-farm-sample-app-for-android) y [Device Farm Sample App para iOS](https://github.com/aws-samples/aws-device-farm-sample-app-for-ios) en adelante GitHub.

Para obtener más información sobre las pruebas en Device Farm y cómo funciona el lado del servidor, consulte. [Marcos de pruebas y pruebas integradas en AWS Device Farm](test-types.md)

## Selección de una versión de Appium
<a name="w2aac24c15c41"></a>

**nota**  
 Support para versiones específicas de Appium, controladores de Appium o programación SDKs dependerá del dispositivo y del host de prueba seleccionados para la ejecución de la prueba. 

 Los hosts de prueba de Device Farm vienen preinstalados con Appium para permitir una configuración más rápida de las pruebas para casos de uso más sencillos. Sin embargo, el uso del archivo de especificaciones de prueba le permite instalar diferentes versiones de Appium si es necesario. 

### Escenario 1: versión de Appium preconfigurada
<a name="w2aac24c15c41b7b1"></a>

 Device Farm viene preconfigurado con diferentes versiones de servidor Appium en función del host de prueba. El host viene con herramientas que habilitan la versión preconfigurada con el controlador predeterminado de la plataforma del dispositivo (UiAutomator2 para Android y 2 para XCUITest iOS). 

```
phases:
  install:
    commands:
      - export APPIUM_VERSION={{2}}
      - devicefarm-cli use appium $APPIUM_VERSION
```

 Para ver una lista del software compatible, consulte el tema en. [Software compatible en entornos de prueba personalizados](custom-test-environments-hosts-software.md) 

### Escenario 2: versión personalizada de Appium
<a name="w2aac24c15c41b7b3"></a>

 Para seleccionar una versión personalizada de Appium, utilice el `npm` comando para instalarla. El siguiente ejemplo muestra cómo instalar la última versión de Appium 2. 

```
phases:
  install:
    commands:
      - export APPIUM_VERSION={{2}}
      - npm install -g appium@$APPIUM_VERSION
```

### Escenario 3: Appium en hosts iOS antiguos
<a name="w2aac24c15c41b7b5"></a>

 En el[Host de pruebas de iOS antiguo](custom-test-environments-hosts-ios.md#legacy-ios-host), puedes elegir versiones específicas de Appium con. `avm` Por ejemplo, para usar el `avm` comando para configurar la versión del servidor Appium`2.1.2`, agrega estos comandos a tu archivo YAML con especificaciones de prueba. 

```
phases:
  install:
    commands:
      - export APPIUM_VERSION={{2.1.2}}
      - avm $APPIUM_VERSION
```

## Selección de una WebDriverAgent versión para las pruebas de iOS
<a name="test-types-appium-select-wda"></a>

 Para ejecutar las pruebas de Appium en dispositivos iOS, WebDriverAgent es necesario el uso de. Esta aplicación debe estar firmada para poder instalarse en dispositivos iOS. Device Farm proporciona versiones prefirmadas WebDriverAgent que están disponibles durante la ejecución de entornos de prueba personalizados. 

 El siguiente fragmento de código se puede utilizar para seleccionar una WebDriverAgent versión de Device Farm dentro del archivo de especificaciones de prueba que sea compatible con la versión de XCTest UI Driver. 

```
phases:
  pre_test:
    commands:
      - |-
        APPIUM_DRIVER_VERSION=$(appium driver list --installed --json | jq -r ".xcuitest.version" | cut -d "." -f 1);
        CORRESPONDING_APPIUM_WDA=$(env | grep "DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V${APPIUM_DRIVER_VERSION}")
        if [[ ! -z "$APPIUM_DRIVER_VERSION" ]] && [[ ! -z "$CORRESPONDING_APPIUM_WDA" ]]; then
          echo "Using Device Farm's prebuilt WDA version ${APPIUM_DRIVER_VERSION}.x, which corresponds with your driver";
          DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH=$(echo $CORRESPONDING_APPIUM_WDA | cut -d "=" -f2)
        else
          LATEST_SUPPORTED_WDA_VERSION=$(env | grep "DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V" | sort -V -r | head -n 1)
          echo "Unknown driver version $APPIUM_DRIVER_VERSION; falling back to the Device Farm default version of $LATEST_SUPPORTED_WDA_VERSION";
          DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH=$(echo $LATEST_SUPPORTED_WDA_VERSION | cut -d "=" -f2)
        fi;
```

 [Para obtener más información al respecto WebDriverAgent, consulte la documentación de Appium.](https://appium.github.io/appium-xcuitest-driver/9.10/guides/run-prebuilt-wda/) 