

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Execute testes Appium automaticamente no 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**  
Esta página aborda a execução de testes do Appium no ambiente de execução gerenciado do lado do **servidor** do Device Farm. [Para executar testes do Appium em seu ambiente local do **lado do cliente** durante uma sessão de acesso remoto, consulte Teste do Appium do lado do cliente.](appium-endpoint.md)

Esta seção descreve como configurar, empacotar e carregar seus testes do Appium para execução no ambiente gerenciado do lado do servidor do Device Farm. O Appium é uma ferramenta de código aberto para automatizar aplicações Web nativas e móveis. Para obter mais informações sobre o Appium, consulte [Introdução ao Appium](http://appium.io/docs/en/latest/intro) no site do Appium.

Para ver um aplicativo de amostra e links para testes em funcionamento, consulte [Device Farm Sample App para Android](https://github.com/aws-samples/aws-device-farm-sample-app-for-android) e [Device Farm Sample App para iOS](https://github.com/aws-samples/aws-device-farm-sample-app-for-ios) em GitHub.

Para obter mais informações sobre testes no Device Farm e como funciona o lado do servidor, consulte. [Frameworks de teste e testes integrados no AWS Device Farm](test-types.md)

## Selecionar uma versão do Appium
<a name="w2aac24c15c41"></a>

**nota**  
 O suporte para versões específicas do Appium, drivers ou programação SDKs dependerá do dispositivo e do host de teste selecionados para a execução do teste. 

 Os hosts de teste do Device Farm vêm pré-instalados com o Appium para permitir uma configuração mais rápida dos testes para casos de uso mais simples. No entanto, o uso do arquivo de especificação de teste permite que você instale versões diferentes do Appium, se necessário. 

### Cenário 1: versão pré-configurada do Appium
<a name="w2aac24c15c41b7b1"></a>

 O Device Farm vem pré-configurado com diferentes versões do servidor Appium com base no host de teste. O host vem com ferramentas que habilitam a versão pré-configurada com o driver padrão da plataforma do dispositivo (UiAutomator2 para Android e XCUITest iOS). 

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

 Para ver uma lista de softwares compatíveis, consulte o tópico em[Software compatível em ambientes de teste personalizados](custom-test-environments-hosts-software.md). 

### Cenário 2: versão personalizada do Appium
<a name="w2aac24c15c41b7b3"></a>

 Para selecionar uma versão personalizada do Appium, use o `npm` comando para instalá-la. O exemplo a seguir mostra como instalar a versão mais recente do Appium 2. 

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

### Cenário 3: Appium em hosts iOS antigos
<a name="w2aac24c15c41b7b5"></a>

 No[Host de teste iOS antigo](custom-test-environments-hosts-ios.md#legacy-ios-host), você pode escolher versões específicas do Appium com. `avm` Por exemplo, para usar o `avm` comando para definir a versão do servidor Appium como`2.1.2`, adicione esses comandos ao seu arquivo YAML de especificação de teste. 

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

## Seleção de uma WebDriverAgent versão para testes do iOS
<a name="test-types-appium-select-wda"></a>

 Para executar testes do Appium em dispositivos iOS, WebDriverAgent é necessário o uso de. Esse aplicativo deve estar conectado para ser instalado em dispositivos iOS. O Device Farm fornece versões pré-assinadas WebDriverAgent que estão disponíveis durante a execução do ambiente de teste personalizado. 

 O trecho de código a seguir pode ser usado para selecionar uma WebDriverAgent versão no Device Farm dentro do seu arquivo de especificação de teste que seja compatível com a versão do seu driver de XCTest interface de usuário. 

```
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 obter mais informações sobre o WebDriverAgent, consulte a documentação da Appium.](https://appium.github.io/appium-xcuitest-driver/9.10/guides/run-prebuilt-wda/) 