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à.
Utilizzo della strumentazione per Android e AWS Device Farm
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
Argomenti
Che cos'è la strumentazione?
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
Carica i tuoi test di strumentazione Android
Usa la console Device Farm per caricare i test.
-
Accedere alla console Device Farm all'indirizzo https://console.aws.amazon.com/devicefarm
. -
Nel pannello di navigazione di Device Farm, scegli Mobile Device Testing, quindi scegli Progetti.
-
Nell'elenco dei progetti, scegli il progetto su cui vuoi caricare i test.
Suggerimento
Puoi utilizzare la barra di ricerca per filtrare l'elenco dei progetti per nome.
Per creare un progetto, segui le istruzioni indicate nella sezione Crea un progetto in AWS Device Farm.
-
Se il pulsante Create a new run (Crea una nuova sessione è visualizzato, selezionarlo.
-
Nella pagina Scegli applicazione, seleziona Scegli file.
-
Individua e seleziona il file dell'app Android. Il file deve essere di tipo .apk.
-
Seleziona Successivo.
-
Nella pagina Configura, nella sezione Setup test framework, scegli Strumentazione, quindi seleziona Scegli file.
-
Individuare e selezionare il file .apk che contiene i test.
-
Scegli Avanti, quindi completa le istruzioni rimanenti per selezionare i dispositivi e avviare l'esecuzione.
Acquisizione di schermate nei test della strumentazione Android
Durante i test di Instrumentation per Android, si possono acquisire screenshot.
Per acquisire screenshot, chiamare uno dei seguenti metodi:
-
Per Robotium, chiamare il metodo
takeScreenShot
(ad esempio,solo.takeScreenShot();
). -
Per Spoon, chiamare il metodo
screenshot
, ad esempio:Spoon.screenshot(activity, "initial_state"); /* Normal test code... */ Spoon.screenshot(activity, "after_login");
Durante un'esecuzione di test, Device Farm ottiene schermate dalle seguenti posizioni sui dispositivi, se esistono, e quindi le aggiunge ai rapporti di test:
-
/sdcard/robotium-screenshots
-
/sdcard/test-screenshots
-
/sdcard/Download/spoon-screenshots/
test-class-name
/test-method-name
-
/data/data/
application-package-name
/app_spoon-screenshots/test-class-name
/test-method-name
Considerazioni aggiuntive per i test di strumentazione Android
- System Animations (Animazioni di sistema)
-
Secondo la documentazione Android per i test di 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 ndroidJUnitandroid.support.test.runner.A 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
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
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:
-
Scarica il file
dex-test-parser
binario. -
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