

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# AWS Device Farm riferimento all'azione di test
<a name="action-reference-DeviceFarm"></a>

Nella tua pipeline, puoi configurare un'azione di test AWS Device Farm da utilizzare per eseguire e testare l'applicazione sui dispositivi. Device Farm utilizza pool di test di dispositivi e framework di test per testare le applicazioni su dispositivi specifici. Per informazioni sui tipi di framework di test supportati dall'azione Device Farm, vedere [Working with Test Types in AWS Device](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html) Farm.

**Topics**
+ [Tipo di operazione](#action-reference-DeviceFarm-type)
+ [Parametri di configurazione](#action-reference-DeviceFarm-config)
+ [Input artifact (Artefatti di input)](#action-reference-DeviceFarm-input)
+ [Artefatti di output](#action-reference-DeviceFarm-output)
+ [Autorizzazioni per i ruoli di servizio: azione AWS Device Farm](#edit-role-devicefarm)
+ [Dichiarazione dell'operazione](#action-reference-DeviceFarm-example)
+ [Consulta anche](#action-reference-DeviceFarm-links)

## Tipo di operazione
<a name="action-reference-DeviceFarm-type"></a>
+ Categoria: `Test`
+ Proprietario: `AWS`
+ Provider: `DeviceFarm`
+ Versione: `1`

## Parametri di configurazione
<a name="action-reference-DeviceFarm-config"></a>

**AppType**  
Obbligatorio: sì  
Il sistema operativo e il tipo di applicazione che stai testando. Di seguito è riportato un elenco di valori validi:  
+ `iOS`
+ `Android`
+ `Web`

**ProjectId**  
Obbligatorio: sì  
L'ID del progetto Device Farm.   
Per trovare l'ID del progetto, nella console Device Farm, scegli il tuo progetto. Nel browser, copiare l'URL del nuovo progetto. L'URL contiene l'ID del progetto. L'ID del progetto è il valore nell'URL successivo`projects/`. Nell'esempio seguente, l'ID del progetto è`eec4905f-98f8-40aa-9afc-4c1cfexample`.  

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

**App**  
Obbligatorio: sì  
Il nome e la posizione del file dell'applicazione nell'elemento di input. Ad esempio: `s3-ios-test-1.ipa`

**TestSpec**  
Condizionale: Sì  
La posizione del file di definizione delle specifiche di test nell'artefatto di input. Questo è necessario per il test in modalità personalizzata.

**DevicePoolArn**  
Obbligatorio: sì  
L'ARN del pool di dispositivi Device Farm.   
Per ottenere il pool di dispositivi disponibile ARNs per il progetto, incluso l'ARN per i dispositivi principali, utilizza la AWS CLI per immettere il seguente comando:   

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

**TestType**  
Obbligatorio: sì  
Speciifica il framework di test supportato per il test. Di seguito è riportato un elenco di valori validi per`TestType`:  
+ **APPIUM\$1JAVA\$1JUNIT**
+ **APPIUM\$1JAVA\$1TESTNG**
+ **NODO\$1APPIUM**
+ **APPIUM\$1RUBY**
+ **APPIUM\$1PYTHON**
+ **APPIUM\$1WEB\$1JAVA JUNIT**
+ **APPIUM\$1WEB\$1JAVA\$1TESTNG**
+ **NODO APPIUM\$1WEB**
+ **APPIUM\$1WEB\$1RUBY**
+ **APPIUM\$1WEB\$1PYTHON**
+ **BUILTIN\$1FUZZ**
+ **INSTRUMENTATION**
+ **XCTEST**
+ **XCTEST\$1UI**
I seguenti tipi di test non sono supportati dall'azione in CodePipeline:`WEB_PERFORMANCE_PROFILE`, e. `REMOTE_ACCESS_RECORD` `REMOTE_ACCESS_REPLAY`
Per informazioni sui tipi di test di Device Farm, vedere [Working with Test Types in AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**RadioBluetoothEnabled**  
Obbligatorio: no  
Un valore booleano che indica se abilitare il Bluetooth all'inizio del test.

**RecordAppPerformanceData**  
Obbligatorio: no  
Un valore booleano che indica se registrare dati sulle prestazioni del dispositivo come CPU, FPS e prestazioni della memoria durante il test.

**RecordVideo**  
Obbligatorio: no  
Un valore booleano che indica se registrare video durante il test.

**RadioWifiEnabled**  
Obbligatorio: no  
Un valore booleano che indica se abilitare il Wi-Fi all'inizio del test.

**RadioNfcEnabled**  
Obbligatorio: no  
Un valore booleano che indica se abilitare NFC all'inizio del test.

**RadioGpsEnabled**  
Obbligatorio: no  
Un valore booleano che indica se abilitare il GPS all'inizio del test.

**Test**  
Obbligatorio: no  
Il nome e il percorso del file di definizione del test nella posizione di origine. Il percorso è relativo alla cartella principale dell'artefatto di input del test.

**FuzzEventCount**  
Obbligatorio: no  
Il numero di eventi dell'interfaccia utente che il fuzz test deve eseguire, compreso tra 1 e 10.000.

**FuzzEventThrottle**  
Obbligatorio: no  
Il numero di millisecondi di attesa del fuzz test prima di eseguire il successivo evento dell'interfaccia utente, compreso tra 1 e 1.000.

**FuzzRandomizerSeed**  
Obbligatorio: no  
Un seme per il fuzz test da utilizzare per randomizzare gli eventi dell'interfaccia utente. Utilizzando lo stesso numero per i fuzz test successivi si ottengono sequenze di eventi identiche.

**CustomHostMachineArtifacts**  
Obbligatorio: no  
La posizione sul computer host in cui verranno archiviati gli elementi personalizzati.

**CustomDeviceArtifacts**  
Obbligatorio: no  
La posizione sul dispositivo in cui verranno archiviati gli artefatti personalizzati.  


**UnmeteredDevicesOnly**  
Obbligatorio: no  
Un valore booleano che indica se utilizzare solo i dispositivi illimitati durante l'esecuzione dei test in questa fase.

**JobTimeoutMinutes**  
Obbligatorio: no  
Il numero di minuti di esecuzione di un test per dispositivo prima del timeout.

**Latitudine**  
Obbligatorio: no  
La latitudine del dispositivo espressa in gradi del sistema di coordinate geografiche.

**Longitudine**  
Obbligatorio: no  
La longitudine del dispositivo espressa in gradi del sistema di coordinate geografiche.

## Input artifact (Artefatti di input)
<a name="action-reference-DeviceFarm-input"></a>
+ **Numero di artefatti:** `1`
+ **Descrizione:** L'insieme di artefatti da mettere a disposizione dell'azione di test. Device Farm cerca l'applicazione integrata e le definizioni di test da utilizzare.

## Artefatti di output
<a name="action-reference-DeviceFarm-output"></a>
+ **Numero di artefatti:** `0` 
+ **Descrizione:** gli artefatti di output non si applicano a questo tipo di azione.

## Autorizzazioni per i ruoli di servizio: azione AWS Device Farm
<a name="edit-role-devicefarm"></a>

Quando CodePipeline viene eseguita l'azione, la policy del ruolo di CodePipeline servizio richiede le seguenti autorizzazioni, assegnate in modo appropriato all'ARN della risorsa della pipeline per mantenere l'accesso con il minimo privilegio. Ad esempio, aggiungi quanto segue alla tua dichiarazione politica:

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

## Dichiarazione dell'operazione
<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"
},
```

------

## Consulta anche
<a name="action-reference-DeviceFarm-links"></a>

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
+ [Utilizzo dei tipi di test in Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html): questo capitolo di riferimento della *Device Farm Developer Guide* fornisce ulteriori descrizioni sui framework di test per Android, iOS e applicazioni Web supportati da Device Farm.
+ [Azioni in Device Farm](https://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html): le chiamate e i parametri API nel *Device Farm API Reference* possono aiutarti a lavorare con i progetti Device Farm.
+ [Tutorial: crea una pipeline con cui creare e testare la tua app Android AWS Device Farm](tutorials-codebuild-devicefarm.md)— Questo tutorial fornisce un esempio di file di specifiche di build e un'applicazione di esempio per creare una pipeline con un GitHub sorgente che crea e testa un'app Android con Device CodeBuild Farm.
+ [Tutorial: crea una pipeline con cui testare la tua app iOS AWS Device Farm](tutorials-codebuild-devicefarm-S3.md)— Questo tutorial fornisce un'applicazione di esempio per creare una pipeline con un sorgente Amazon S3 che testa un'app iOS integrata con Device Farm.