

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à.

# Strumentazione per Android e AWS Device Farm
<a name="test-types-android-instrumentation"></a>

Device Farm fornisce supporto per Instrumentation (JUnit, Espresso, Robotium o qualsiasi test basato su strumentazione) per Android.

Device Farm fornisce anche un'applicazione Android di esempio e collegamenti a test di lavoro in tre framework di automazione Android, tra cui Instrumentation (Espresso). L'[app di esempio Device Farm per Android](https://github.com/awslabs/aws-device-farm-sample-app-for-android) è disponibile per il download su GitHub.

Per ulteriori informazioni sui test in Device Farm, vedere[Framework di test e test integrati in AWS Device Farm](test-types.md).

**Topics**
+ [Che cos'è la strumentazione?](#test-types-android-instrumentation-what-is)
+ [Considerazioni per i test di strumentazione Android](#test-types-android-instrumentation-settings)
+ [Analisi dei test in modalità standard](#test-types-android-standard-mode-test-parse)
+ [Integrazione della strumentazione Android con Device Farm](test-types-android-instrumentation-integrate.md)

## Che cos'è la strumentazione?
<a name="test-types-android-instrumentation-what-is"></a>

Instrumentation di Android consente di invocare metodi di callback nel codice di test in modo da poter eseguire tutto il ciclo di vita di un componente passo-passo, come se si stesse effettuando il debug del componente. Per ulteriori informazioni, consulta [Test strumentati](https://developer.android.com/studio/test/test-in-android-studio#test_types_and_locations) nella sezione *Tipi e posizioni dei test* della documentazione di *Android Developer Tools*.

## Considerazioni per i test di strumentazione Android
<a name="test-types-android-instrumentation-settings"></a>

Quando utilizzi la strumentazione Android, prendi in considerazione i seguenti consigli e note.

**Verifica la compatibilità del sistema operativo Android**  
 Consulta la [documentazione di Android](https://developer.android.com/jetpack/androidx/releases/test#orchestrator-1.5.0) per assicurarti che Instrumentation sia compatibile con la versione del tuo sistema operativo Android. 

**Esecuzione dalla riga di comando**  
 Per eseguire i test di Instrumentation dalla riga di comando, segui la documentazione di [Android](https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/runner#enable-command). 

**System Animations (Animazioni di sistema)**  
 Secondo la [documentazione Android per i test di Espresso](https://developer.android.com/training/testing/espresso), si consiglia di disattivare le animazioni di sistema durante i test su dispositivi reali. Device Farm disattiva automaticamente le impostazioni **Window Animation Scale**, **Transition Animation Scale e Animator** **Duration Scale quando viene eseguito con il test** runner di strumentazione [JUnitandroid.support.test.runner.Android](http://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html) Runner.

**Test Recorders (Registratori di test)**  
Device Farm supporta framework, come Robotium, che dispongono record-and-playback di strumenti di scripting.

## Analisi dei test in modalità standard
<a name="test-types-android-standard-mode-test-parse"></a>

Nella modalità standard di esecuzione, Device Farm analizza la suite di test e identifica le classi e i metodi di test univoci che verrà eseguita. Questo viene fatto tramite uno strumento chiamato [Dex Test Parser](https://github.com/linkedin/dex-test-parser). 

Quando viene fornito un file.apk della strumentazione Android come input, il parser restituisce i nomi completi dei metodi dei test che corrispondono JUnit alle convenzioni 3 e 4. JUnit 

Per testarlo in un ambiente locale: 

1. Scarica il file [https://github.com/linkedin/dex-test-parser](https://github.com/linkedin/dex-test-parser)binario.

1. Esegui il comando seguente per ottenere l'elenco dei metodi di test che verranno eseguiti su Device Farm:

   ```
   java -jar parser.jar path/to/apk path/for/output
   ```