DispositivoScimmia

Una classe monkeyrunner che rappresenta un dispositivo o un emulatore accessibile dalla workstation che esegue monkeyrunner.

Questa classe è utilizzata per controllare un emulatore o un dispositivo Android. I metodi consentono di inviare eventi dell'interfaccia utente, recuperare informazioni, installare e rimuovere applicazioni ed eseguire applicazioni.

In genere, non è necessario creare un'istanza di MonkeyDevice. Utilizza invece MonkeyRunner.waitForConnection() per creare un nuovo oggetto da una connessione a un dispositivo o un emulatore. Ad esempio, invece di utilizzare:

newdevice = MonkeyDevice()

devi utilizzare:

newdevice = MonkeyRunner.waitForConnection()

Riepilogo

Costanti
stringa IN RIBASSO Utilizzalo con l'argomento type di press() o touch() per inviare un evento DOWN.
stringa IN ALTO Utilizzalo con l'argomento type di press() o touch() per inviare un evento UP.
stringa GIÙ_E_SU Utilizza questo con l'argomento type di press() o touch() per inviare un evento DOWN immediatamente seguito da un evento UP.
Metodi
nullo broadcastIntent (URI string, azione string, dati string, tipo MIME string, extra dizionario categorie dizionario, componente componente, flag iterable)
Trasmette un intent a questo dispositivo come se l'intent provenisse da un'applicazione.
nullo trascinamento (inizio della tupla, fine della tupla, durata di float, passaggi dei passaggi di numero intero)
Simula un gesto di trascinamento (tocca, tieni premuto e sposta) sullo schermo di questo dispositivo.
oggetto getProperty (chiave stringa)
Dato il nome di una variabile di ambiente di sistema, restituisce il valore per questo dispositivo. I nomi delle variabili disponibili sono elencati nella descrizione dettagliata del metodo.
oggetto getSystemProperty (chiave stringa)
. L'equivalente API di adb shell getprop <key>. This is provided for use by platform developers.
nullo installPackage (percorso stringa)
Installa su questo dispositivo l'applicazione Android o il pacchetto di test contenuti nel file PackageFile. Se l'applicazione o il pacchetto di test sono già installati, vengono sostituiti.
dizionario strumento (string className, argomenti del dizionario)
Esegue il componente specificato nella strumentazione Android e restituisce i risultati in un dizionario il cui formato esatto è dettato dal componente in esecuzione. Il componente deve essere già presente su questo dispositivo.
nullo premi (nome stringa, tipo dizionario)
Invia l'evento chiave specificato per tipo alla chiave specificata dal codice chiave.
nullo riavvio (stringa in)
Riavvia questo dispositivo nel bootloader specificato da bootloadType.
nullo removePackage (pacchetto string)
Consente di eliminare dal dispositivo il pacchetto specificato, inclusi i dati e la cache.
oggetto shell (Cmd string)
Esegue un comando shell adb e restituisce il risultato, se presente.
nullo startActivity (URI string, azione string, dati string, tipo MIME string, categorie iterabili dizionario extra, componente componente, flag)
Avvia un'attività su questo dispositivo inviando un intent creato dagli argomenti forniti.
MonkeyImage takeSnapshot()
Acquisisce l'intero buffer dello schermo del dispositivo, producendo un oggetto MonkeyImage contenente un'acquisizione della schermata corrente.
nullo touch (numero intero x, numero intero y, tipo intero)
Invia un evento tocco specificato per tipo alla posizione dello schermo specificata da x e y.
nullo type (messaggio stringa)
Invia i caratteri contenuti nel messaggio a questo dispositivo, come se fossero stati digitati sulla tastiera del dispositivo. Equivale a chiamare press() per ogni codice chiave in message utilizzando il tipo di evento chiave DOWN_AND_UP.
nullo riattiva ()
Riattiva lo schermo di questo dispositivo.

Costanti

string GIÙ

press() o touch(). Specifica che deve essere inviato al dispositivo un tipo di evento GIÙ, corrispondente alla pressione su un tasto o al tocco dello schermo.

string SU

press() o touch(). Specifica che un tipo di evento UP deve essere inviato al dispositivo, corrispondente al rilascio di un tasto o al sollevamento dallo schermo.

stringa DOWN_AND_UP

press(), touch() o type(). Specifica che un tipo di evento DOWN seguito da un tipo di evento UP deve essere inviato al dispositivo, corrispondente alla digitazione di un tasto o al clic sullo schermo.

Metodi pubblici

void broadcastIntent ( URI string, azione string, dati string, tipo MIME string, categorie iterable extra dizionario, componente componente, flag iterabili)

Trasmette un intent a questo dispositivo come se l'intent provenisse da un'applicazione. Consulta Intent per ulteriori informazioni sugli argomenti.

Argomenti
URI L'URI dell'intent. (vedi Intent.setData()).
azione L'azione per questo intent (vedi Intent.setAction()).
dati L'URI dei dati per questo intent (vedi Intent.setData()).
tipo MIME Il tipo MIME per l'intent (vedi Intent.setType()).
categorie Una struttura di dati iterabile contenente stringhe che definiscono le categorie per questo intent (vedi Intent.addCategory()).
extra Un dizionario di dati aggiuntivi per questo intent (vedi Intent.putExtra() per un esempio).

La chiave di ogni elemento del dizionario deve essere una stringa. Il valore dell'elemento può essere qualsiasi tipo di dati semplici o strutturati.

componente Il componente per questo intent (vedi ComponentName). L'utilizzo di questo argomento indirizza l'intent a una classe specifica all'interno di uno specifico pacchetto Android.
flag Una struttura di dati iterabile contenente flag che controllano il modo in cui viene gestito l'intent (vedi Intent.setFlags()).

void trascina ( inizio della tupla, fine della tupla, durata di numero in virgola mobile, passaggi di numero intero)

Simula un gesto di trascinamento (tocca, tieni premuto e sposta) sullo schermo di questo dispositivo.

Argomenti
partenza Il punto iniziale del gesto di trascinamento, sotto forma di una tupla (x, y), dove x e y sono numeri interi.
fine Il punto finale del gesto di trascinamento, sotto forma di una tupla (x, y), dove x e y sono numeri interi.
media La durata del gesto di trascinamento in secondi. Il valore predefinito è 1,0 secondi.
passi Il numero di passaggi da seguire per l'interpolazione dei punti. Il valore predefinito è 10.

object getProperty (chiave stringa)

Dato il nome di una variabile di ambiente di sistema, restituisce il valore per questo dispositivo.

Argomenti
chiave Il nome della variabile di ambiente di sistema. I nomi delle variabili disponibili sono elencati nella tabella 1. Nomi delle variabili della proprietà alla fine di questo argomento.
Resi
  • Il valore della variabile. Il formato dei dati varia a seconda della variabile richiesta.

object getSystemProperty (chiave stringa)

Sinonimo di getProperty().

Argomenti
chiave Il nome della variabile di ambiente di sistema. I nomi delle variabili disponibili sono elencati nella tabella 1. Nomi variabili della proprietà.
Resi
  • Il valore della variabile. Il formato dei dati varia a seconda della variabile richiesta.

void installPackage (percorso string)

Consente di installare sul dispositivo l'applicazione Android o il pacchetto di test contenuti nel file PackageFile. Se l'applicazione o il pacchetto di test sono già installati, vengono sostituiti.

Argomenti
percorso Il percorso e il nome file completi del file .apk da installare.

dizionario strumento ( string className, argomenti dizionario)

Esegue il componente specificato con la strumentazione Android e restituisce i risultati in un dizionario il cui formato esatto è dettato dal componente in esecuzione. Il componente deve essere già presente su questo dispositivo.

Utilizza questo metodo per avviare uno scenario di test che utilizza una delle classi dello scenario di test di Android. Per saperne di più sui test delle unità con il framework di test di Android, consulta la pagina Concetti fondamentali sui test.

Argomenti
Nomeclasse Il nome di un componente Android già installato sul dispositivo, nel formato standard nomepacchetto/nomeclasse, dove Packagename è il nome del pacchetto Android di un file .apk su questo dispositivo e classname è il nome della classe di un componente Android (Activity, ContentProvider, Service o BroadcastFetchr) in tale file. Sia Packagename che classname devono essere completi. Per ulteriori dettagli, visita la pagina ComponentName.
argomenti Un dizionario contenente i flag e i relativi valori. Questi vengono trasmessi al componente all'avvio. Se il flag non ha un valore, imposta il valore del dizionario su una stringa vuota.
Resi
  • Un dizionario contenente l'output del componente. I contenuti del dizionario sono definiti dal componente stesso.

    Se utilizzi InstrumentationTestRunner come nome della classe nell'argomento componentiName, il dizionario dei risultati contiene la singola chiave "stream". Il valore di "stream" è una stringa contenente l'output di test, come se InstrumentationTestRunner fosse stato eseguito dalla riga di comando. Il formato dell'output è descritto in Test in altri IDE.

void premi (nome stringa, tipo numero intero)

Invia l'evento chiave specificato da type alla chiave specificata da keycode.

Argomenti
nome Il nome del codice chiave da inviare. Consulta KeyEvent per un elenco di nomi dei codici chiavi. Utilizza il nome del codice chiave, non il suo valore intero.
digita Il tipo di evento chiave da inviare. I valori consentiti sono DOWN, UP e DOWN_AND_UP.

void reboot (bootloadType string)

Riavvia il dispositivo tramite il bootloader specificato da bootloadType.

Argomenti
in Il tipo di bootloader da utilizzare per il riavvio. I valori consentiti sono "bootloader", "recovery" o "None".

void removePackage (pacchetto string)

Consente di eliminare dal dispositivo il pacchetto specificato, inclusi i dati e la cache.

Argomenti
Pacco Il nome del pacchetto Android di un file .apk su questo dispositivo.

object shell (string cmd)

Esegue un comando shell adb e restituisce il risultato, se presente.

Argomenti
Cmd Il comando da eseguire nella shell adb. La forma di questi comandi è descritta nell'argomento Android Debug Bridge.
Resi
  • I risultati del comando, se presenti. Il formato dei risultati è determinato dal comando.

void startActivity ( URI string, azione string, dati string, tipo MIME string, categorie iterabili extra dizionario, componente component, flag iterabili)

Avvia un'attività su questo dispositivo inviando un intent creato dagli argomenti forniti.

Argomenti
URI L'URI dell'intent. (vedi Intent.setData()).
azione L'azione per l'intent (vedi Intent.setAction()).
dati L'URI dati per l'intent (vedi Intent.setData()).
tipo MIME Il tipo MIME per l'intent (vedi Intent.setType()).
categorie Una struttura di dati iterabile contenente stringhe che definiscono le categorie per l'intent (vedi Intent.addCategory()).
extra Un dizionario di dati aggiuntivi per l'intent (vedi Intent.putExtra() per un esempio).

La chiave di ogni elemento del dizionario deve essere una stringa. Il valore dell'elemento può essere qualsiasi tipo di dati semplici o strutturati.

componente Componente per l'intent (vedi ComponentName). L'utilizzo di questo argomento indirizzerà l'intent a una classe specifica all'interno di un pacchetto Android specifico.
flag Una struttura di dati iterabile contenente flag che controllano il modo in cui viene gestito l'intent (vedi Intent.setFlags()).

MonkeyImage snapshot ()

Acquisisce l'intero buffer dello schermo del dispositivo, fornendo un'acquisizione della schermata corrente.

Resi
  • Un oggetto MonkeyImage contenente l'immagine del display corrente.

void touch ( numero intero x, numero intero y, tipo string)

Invia un evento tocco specificato per tipo alla posizione dello schermo specificata da x e y.

Argomenti
x La posizione orizzontale del tocco nei pixel effettivi del dispositivo, a partire dal lato sinistro dello schermo nell'orientamento attuale.
y La posizione verticale del tocco nei pixel effettivi del dispositivo, a partire dalla parte superiore dello schermo nell'orientamento attuale.
digita Il tipo di evento chiave da inviare. I valori consentiti sono DOWN, UP e DOWN_AND_UP.

void type (messaggio string)

Invia i caratteri contenuti nel messaggio a questo dispositivo, come se fossero stati digitati sulla tastiera del dispositivo. Equivale a chiamare press() per ogni codice chiave in message utilizzando il tipo di evento chiave DOWN_AND_UP.

Argomenti
messaggio Una stringa contenente i caratteri da inviare.

void attiva ()

Riattiva lo schermo di questo dispositivo.


Appendice

Tabella 1.Nomi delle variabili della proprietà utilizzati con getProperty() e getSystemProperty().

Gruppo di proprietà Proprietà Descrizione Note
build board Nome in codice della scheda di sistema del dispositivo Visualizza Build
brand L'operatore o il provider per il quale il sistema operativo è personalizzato.
device Il nome del design del dispositivo.
fingerprint Un identificatore univoco per la build attualmente in esecuzione.
host
ID Un numero o un'etichetta dell'elenco modifiche.
model Il nome del dispositivo visibile all'utente finale.
product Il nome complessivo del prodotto.
tags Tag separati da virgole che descrivono la build, ad esempio "unfirmato" e "debug".
type Il tipo di build, ad esempio "user" o "eng".
user
CPU_ABI Il nome del set di istruzioni di codice nativo, nel formato tipo di CPU più convenzione ABI.
manufacturer Il produttore del prodotto/hardware.
version.incremental Il codice interno utilizzato dal sistema di controllo del codice sorgente per rappresentare questa versione del software.
version.release Il nome visibile all'utente di questa versione del software.
version.sdk La versione dell'SDK visibile all'utente associata a questa versione del sistema operativo.
version.codename Il nome in codice dello sviluppo attuale o "REL" se questa versione del software è stata rilasciata.
display width La larghezza di visualizzazione del dispositivo in pixel. Per informazioni dettagliate, visita la pagina DisplayMetrics.
height L'altezza di visualizzazione del dispositivo in pixel.
density La densità logica del display. Questo è un fattore che scala le unità DIP (Density-Independent Pixel) alla risoluzione del dispositivo. Il DIP è regolato in modo che 1 DIP equivalga a un pixel su un display da 160 pixel per pollice. Ad esempio, su uno schermo a 160 dpi, densità = 1,0, mentre su uno schermo a 120 dpi, densità = 0,75.

Il valore non segue esattamente le dimensioni reali dello schermo, ma viene regolato per adattarsi alle variazioni significative del DPI del display. Per ulteriori dettagli, visita la pagina density.

am.current package Il nome del pacchetto Android del pacchetto attualmente in esecuzione. Le chiavi am.current restituiscono informazioni sull'attività attualmente in esecuzione.
action L'azione dell'attività corrente. Ha lo stesso formato dell'attributo name dell'elemento action nel file manifest del pacchetto.
comp.class Il nome della classe del componente che ha avviato l'attività corrente. Per ulteriori dettagli, visita la pagina comp.package.
comp.package Il nome del pacchetto del componente che ha avviato l'attività corrente. Un componente viene specificato dal nome di un pacchetto e dal nome della classe contenente il pacchetto.
data Gli eventuali dati contenuti nell'intent che ha avviato l'attività corrente.
categories Le categorie specificate dall'intent che ha avviato l'attività corrente.
clock realtime Il numero di millisecondi dal riavvio del dispositivo, incluso il tempo di sospensione profonda. Per ulteriori informazioni, visita la pagina SystemClock.
uptime Il numero di millisecondi dal riavvio del dispositivo, escluso il tempo di sospensione profonda
millis tempo corrente in millisecondi dall'epoca UNIX.