

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.

# AWS Device Farm Referenz zur Testaktion
<a name="action-reference-DeviceFarm"></a>

In Ihrer Pipeline können Sie eine Testaktion konfigurieren, mit der AWS Device Farm Ihre Anwendung auf Geräten ausgeführt und getestet wird. Device Farm verwendet Testpools von Geräten und Testframeworks, um Anwendungen auf bestimmten Geräten zu testen. Informationen zu den Typen von Testframeworks, die von der Device Farm-Aktion unterstützt werden, finden Sie unter [ Arbeiten mit Testtypen in AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**Topics**
+ [Aktionstyp](#action-reference-DeviceFarm-type)
+ [Konfigurationsparameter](#action-reference-DeviceFarm-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-DeviceFarm-input)
+ [Ausgabeartefakte](#action-reference-DeviceFarm-output)
+ [Berechtigungen für Servicerollen: AWS Device Farm action](#edit-role-devicefarm)
+ [Aktionsdeklaration](#action-reference-DeviceFarm-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-DeviceFarm-links)

## Aktionstyp
<a name="action-reference-DeviceFarm-type"></a>
+ Kategorie: `Test`
+ Eigentümer: `AWS`
+ Anbieter: `DeviceFarm`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-DeviceFarm-config"></a>

**AppType**  
Erforderlich: Ja  
Das Betriebssystem und die Art der Anwendung, die Sie testen. Im Folgenden finden Sie eine Liste gültiger Werte:  
+ `iOS`
+ `Android`
+ `Web`

**ProjectId**  
Erforderlich: Ja  
Die Device Farm-Projekt-ID.   
Um Ihre Projekt-ID zu finden, wählen Sie in der Device Farm-Konsole Ihr Projekt aus. Kopieren Sie im Browser die URL Ihres neuen Projekts. Die URL enthält die Projekt-ID. Die Projekt-ID ist der Wert in der nachfolgenden URL`projects/`. Im folgenden Beispiel lautet die Projekt-ID`eec4905f-98f8-40aa-9afc-4c1cfexample`.  

```
https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
```

**App**  
Erforderlich: Ja  
Der Name und der Speicherort der Anwendungsdatei in Ihrem Eingabeartefakt. Beispiel: `s3-ios-test-1.ipa`

**TestSpec**  
Befristet: Ja  
Der Speicherort der Testspezifikationsdatei in Ihrem Eingabeartefakt. Dies ist für den Test im benutzerdefinierten Modus erforderlich.

**DevicePoolArn**  
Erforderlich: Ja  
Der ARN des Device Farm-Gerätepools.   
Um die verfügbaren Gerätepool-ARNs für das Projekt abzurufen, einschließlich des ARN für Top-Geräte, verwenden Sie die AWS CLI, um den folgenden Befehl einzugeben:   

```
aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:{{account_ID}}:project:{{project_ID}}
```

**TestType**  
Erforderlich: Ja  
Gibt das unterstützte Testframework für Ihren Test an. Im Folgenden finden Sie eine Liste gültiger Werte für`TestType`:  
+ **APPIUM\_JAVA\_JUNIT **
+ **APPIUM\_JAVA\_TESTING **
+ **APPIUM\_NODE **
+ **APPIUM\_RUBY **
+ **APPIUM\_PYTHON **
+ **APPIUM\_WEB\_JAVA\_JUNIT **
+ **APPIUM\_WEB\_JAVA\_TESTING **
+ **APPIUM\_WEB\_NODE **
+ **APPIUM\_WEB\_RUBY **
+ **APPIUM\_WEB\_PYTHON **
+ **EINGEBAUTET\_FUZZ **
+ **INSTRUMENTATION**
+ **XCTEST**
+ **XCTEST\_UI**
Die folgenden Testtypen werden von der Aktion in CodePipeline:`WEB_PERFORMANCE_PROFILE`, und nicht unterstützt. `REMOTE_ACCESS_RECORD` `REMOTE_ACCESS_REPLAY`
Informationen zu Device Farm-Testtypen finden Sie unter [ Arbeiten mit Testtypen in AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**RadioBluetoothEnabled**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob Bluetooth zu Beginn des Tests aktiviert werden soll.

**RecordAppPerformanceData**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob während des Tests Leistungsdaten des Geräts wie CPU, FPS und Speicherleistung aufgezeichnet werden sollen.

**RecordVideo**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob während des Tests ein Video aufgenommen werden soll.

**RadioWifiEnabled**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob zu Wi-Fi Beginn des Tests aktiviert werden soll.

**RadioNfcEnabled**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob NFC zu Beginn des Tests aktiviert werden soll.

**RadioGpsEnabled**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob GPS zu Beginn des Tests aktiviert werden soll.

**Test**  
Erforderlich: Nein  
Der Name und der Pfad der Testspezifikationsdatei an Ihrem Quellspeicherort. Der Pfad ist relativ zum Stamm des Eingabeartefakts für Ihren Test.

**FuzzEventCount**  
Erforderlich: Nein  
Die Anzahl der Benutzeroberflächenereignisse, die der Fuzz-Test ausführen soll, zwischen 1 und 10.000.

**FuzzEventThrottle**  
Erforderlich: Nein  
Die Anzahl der Millisekunden, die der Fuzz-Test warten muss, bevor das nächste Benutzeroberflächenereignis ausgeführt wird. Der Wert liegt zwischen 1 und 1.000.

**FuzzRandomizerSeed**  
Erforderlich: Nein  
Ein Startwert für den Fuzz-Test, der für die Randomisierung von Benutzeroberflächenereignissen verwendet wird. Die Verwendung derselben Zahl für nachfolgende Fuzz-Tests führt zu identischen Ereignissequenzen.

**CustomHostMachineArtifacts**  
Erforderlich: Nein  
Der Speicherort auf dem Host-Computer, an dem benutzerdefinierte Artefakte gespeichert werden.

**CustomDeviceArtifacts**  
Erforderlich: Nein  
Der Ort auf dem Gerät, an dem benutzerdefinierte Artefakte gespeichert werden.  


**UnmeteredDevicesOnly**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob Sie bei der Durchführung von Tests in diesem Schritt nur Ihre Geräte ohne Zähler verwenden möchten.

**JobTimeoutMinutes**  
Erforderlich: Nein  
Die Anzahl der Minuten, die ein Testlauf pro Gerät ausgeführt wird, bevor ein Timeout eintritt.

**Breitengrad**  
Erforderlich: Nein  
Der Breitengrad des Geräts, ausgedrückt in Grad im geographischen Koordinatensystem.

**Längengrad**  
Erforderlich: Nein  
Der Längengrad des Geräts, ausgedrückt in Grad des geographischen Koordinatensystems.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-DeviceFarm-input"></a>
+ **Anzahl der Artefakte: ** `1`
+ **Beschreibung: ** Der Satz von Artefakten, der für die Testaktion zur Verfügung gestellt werden soll. Device Farm sucht nach den erstellten Anwendungs- und Testdefinitionen, die verwendet werden sollen.

## Ausgabeartefakte
<a name="action-reference-DeviceFarm-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung: ** Ausgabeartefakte gelten für diesen Aktionstyp nicht.

## Berechtigungen für Servicerollen: AWS Device Farm action
<a name="edit-role-devicefarm"></a>

Wenn die Aktion CodePipeline ausgeführt wird, erfordert die CodePipeline Servicerollenrichtlinie die folgenden Berechtigungen, die entsprechend auf den ARN der Pipeline-Ressource beschränkt sind, um den Zugriff mit den geringsten Rechten aufrechtzuerhalten. Fügen Sie Ihrer Richtlinienerklärung beispielsweise Folgendes hinzu:

```
{
    "Effect": "Allow",
    "Action": [
        "devicefarm:ListProjects",
        "devicefarm:ListDevicePools",
        "devicefarm:GetRun",
        "devicefarm:GetUpload",
        "devicefarm:CreateUpload",
        "devicefarm:ScheduleRun"
    ],
    "Resource": "{{resource_ARN}}"
},
```

## Aktionsdeklaration
<a name="action-reference-DeviceFarm-example"></a>

------
#### [ YAML ]

```
Name: Test
Actions:
  - Name: TestDeviceFarm
    ActionTypeId: null
    category: Test
    owner: AWS
    provider: DeviceFarm
    version: '1'
RunOrder: 1
Configuration:
  App: s3-ios-test-1.ipa
  AppType: iOS
  DevicePoolArn: >-
    arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5
  ProjectId: eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE
  TestType: APPIUM_PYTHON
  TestSpec: example-spec.yml
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "Test",
    "Actions": [
        {
            "Name": "TestDeviceFarm",
            "ActionTypeId": null,
            "category": "Test",
            "owner": "AWS",
            "provider": "DeviceFarm",
            "version": "1"
        }
    ],
    "RunOrder": 1,
    "Configuration": {
        "App": "s3-ios-test-1.ipa",
        "AppType": "iOS",
        "DevicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5",
        "ProjectId": "eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE",
        "TestType": "APPIUM_PYTHON",
        "TestSpec": "example-spec.yml"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "us-west-2"
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-DeviceFarm-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Arbeiten mit Testtypen in Device Farm ](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html) — Dieses Referenzkapitel im * Device Farm Developer Guide * enthält eine weitere Beschreibung der von Device Farm unterstützten Testframeworks für Android-, iOS- und Webanwendungen.
+ [Aktionen in Device Farm ](https://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html) — Die API-Aufrufe und Parameter in der * Device Farm-API-Referenz * können Ihnen bei der Arbeit mit Device Farm-Projekten helfen.
+ [Tutorial: Erstellen Sie eine Pipeline, die Ihre Android-App erstellt und testet mit AWS Device Farm](tutorials-codebuild-devicefarm.md)— Dieses Tutorial enthält eine Beispiel-Buildspec-Datei und eine Beispielanwendung zum Erstellen einer Pipeline mit einer GitHub Quelle, die eine Android-App mit einer Device Farm erstellt CodeBuild und testet.
+ [Tutorial: Erstellen Sie eine Pipeline, die Ihre iOS-App testet mit AWS Device Farm](tutorials-codebuild-devicefarm-S3.md)— Dieses Tutorial enthält eine Beispielanwendung zum Erstellen einer Pipeline mit einer Amazon S3-Quelle, die eine erstellte iOS-App mit Device Farm testet.