

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Automatisches Ausführen von Appium-Tests in 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>

**Anmerkung**  
Auf dieser Seite wird die Ausführung von Appium-Tests in der verwalteten **serverseitigen** Ausführungsumgebung von Device Farm behandelt. [Informationen zum Ausführen von Appium-Tests in Ihrer lokalen **clientseitigen** Umgebung während einer Fernzugriffssitzung finden Sie unter Clientseitige Appium-Tests.](appium-endpoint.md)

In diesem Abschnitt wird beschrieben, wie Sie Ihre Appium-Tests für die Ausführung in der verwalteten serverseitigen Umgebung von Device Farm konfigurieren, verpacken und hochladen. Appium ist ein Open-Source-Tool zur Automatisierung nativer und mobiler Webanwendungen. Weitere Informationen finden Sie unter [Einführung in Appium](http://appium.io/docs/en/latest/intro) auf der Appium-Website.

Eine Beispiel-App und Links zu funktionierenden Tests finden Sie unter [Device Farm Farm-Beispiel-App für Android](https://github.com/aws-samples/aws-device-farm-sample-app-for-android) und [Device Farm Farm-Beispiel-App für iOS](https://github.com/aws-samples/aws-device-farm-sample-app-for-ios) auf GitHub.

Weitere Informationen zum Testen in Device Farm und zur serverseitigen Funktionsweise finden Sie unter[Test-Frameworks und integrierte Tests in AWS Device Farm](test-types.md).

## Eine Appium-Version auswählen
<a name="w2aac24c15c41"></a>

**Anmerkung**  
 Die Support bestimmter Appium-Versionen, Appium-Treiber oder Programmierung SDKs hängt vom Gerät und dem Testhost ab, die für den Testlauf ausgewählt wurden. 

 Device Farm Farm-Testhosts ist Appium vorinstalliert, um eine schnellere Einrichtung von Tests für einfachere Anwendungsfälle zu ermöglichen. Die Verwendung der Testspezifikationsdatei ermöglicht es Ihnen jedoch, bei Bedarf unterschiedliche Versionen von Appium zu installieren. 

### Szenario 1: Vorkonfigurierte Appium-Version
<a name="w2aac24c15c41b7b1"></a>

 Device Farm ist mit verschiedenen Appium-Serverversionen vorkonfiguriert, die auf dem Testhost basieren. Der Host wird mit Tools geliefert, die die vorkonfigurierte Version mit dem Standardtreiber der Geräteplattform (UiAutomator2 für Android und XCUITest für iOS) aktivieren. 

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

 Eine Liste der unterstützten Software finden Sie im Thema unter. [Unterstützte Software in benutzerdefinierten Testumgebungen](custom-test-environments-hosts-software.md) 

### Szenario 2: Benutzerdefinierte Appium-Version
<a name="w2aac24c15c41b7b3"></a>

 Um eine benutzerdefinierte Version von Appium auszuwählen, verwenden Sie den `npm` Befehl, um sie zu installieren. Das folgende Beispiel zeigt, wie Sie die neueste Version von Appium 2 installieren. 

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

### Szenario 3: Appium auf älteren iOS-Hosts
<a name="w2aac24c15c41b7b5"></a>

 Auf dem [Legacy-iOS-Testhost](custom-test-environments-hosts-ios.md#legacy-ios-host) können Sie bestimmte Appium-Versionen mit auswählen. `avm` Um beispielsweise den `avm` Befehl zu verwenden, um die Appium-Serverversion auf einzustellen`2.1.2`, fügen Sie diese Befehle zu Ihrer YAML-Datei mit Testspezifikationen hinzu. 

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

## Auswahl einer WebDriverAgent Version für iOS-Tests
<a name="test-types-appium-select-wda"></a>

 Um Appium-Tests auf iOS-Geräten ausführen zu können, WebDriverAgent ist die Verwendung von erforderlich. Diese Anwendung muss signiert sein, um auf iOS-Geräten installiert werden zu können. Device Farm bietet vorsignierte Versionen davon WebDriverAgent , die während der Ausführung benutzerdefinierter Testumgebungen verfügbar sind. 

 Der folgende Codeausschnitt kann verwendet werden, um eine WebDriverAgent Version auf Device Farm in Ihrer Testspezifikationsdatei auszuwählen, die mit Ihrer XCTest UI-Treiberversion kompatibel ist. 

```
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;
```

 [Weitere Informationen zu finden Sie in der Dokumentation WebDriverAgent von Appium.](https://appium.github.io/appium-xcuitest-driver/9.10/guides/run-prebuilt-wda/) 