DispositivoScimmia

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

Questa classe viene utilizzata per controllare un emulatore o un dispositivo Android. I metodi inviano eventi di interfaccia utente, recuperano informazioni, installano e rimuovono applicazioni ed eseguono 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 IN_BASSO_E SU Utilizzalo con l'argomento type di press() o touch() per inviare un evento DOWN immediatamente seguito da un evento UP.
Metodi
void broadcastIntent (URI string, azione string, dati string, tipo MIME string, categorie iterable extra dizionari, componente componente, flag iterable)
Trasmette un intent a questo dispositivo, come se l'intent provenisse da un'applicazione.
void trascina (inizio della tupla, fine della tupla, durata dei valori in virgola mobile, passi di numero intero)
Simula un gesto di trascinamento (tocca, tieni premuto e sposta) sullo schermo di questo dispositivo.
oggetto getProperty (chiave string)
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 di questo metodo.
oggetto getSystemProperty (chiave string)
. L'equivalente API di adb shell getprop <key>. This is provided for use by platform developers.
void installPackage (percorso stringa)
Installa l'applicazione Android o il pacchetto di test contenuto nel file PackageFile sul dispositivo. Se l'applicazione o il pacchetto di test è già installato, verrà sostituito.
dizionario instrument (string className, dictionary argomenti)
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.
void premi (nome stringa, tipo dizionario)
Invia l'evento chiave specificato dal tipo alla chiave specificata dal codice.
void riavvio (stringa in)
Riavvia il dispositivo tramite il bootloader specificato da bootloadType.
void removePackage (pacchetto string)
Elimina 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.
void startActivity (URI string, azione string, dati string, tipo MIME string, categorie iterable extra dizionari, 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, generando un oggetto MonkeyImage contenente uno screenshot della visualizzazione corrente.
void touch (numero intero x, numero intero y, tipo numero intero)
Invia un evento touch specificato dal tipo alla posizione dello schermo specificata da x e y.
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.
void riattiva ()
Riattiva lo schermo di questo dispositivo.

Costanti

string GIÙ

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

string SU

Valore 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

Valore 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 ( string uri, azione string, dati string, tipo MIME string, categorie iterable extra dizionari, 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 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 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()).

void trascina ( inizio tupla, fine tupla, durata float, passi 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 eseguire per l'interpolazione di punti. Il valore predefinito è 10.

object getProperty (chiave string)

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.
Ritorni
  • Il valore della variabile. Il formato dei dati varia in base alla variabile richiesta.

object getSystemProperty (chiave string)

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à.
Ritorni
  • Il valore della variabile. Il formato dei dati varia in base alla variabile richiesta.

void installPackage (percorso string)

Installa su questo dispositivo l'applicazione Android o il pacchetto di test contenuto nel file PackageFile. Se l'applicazione o il pacchetto di test è già installato, verrà sostituito.

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

dizionario strumento ( string className, argomenti dictionary)

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.

Usa questo metodo per avviare uno scenario di test che utilizza una delle classi dello scenario di test di Android. Per scoprire di più sul test delle unità con il framework di test di Android, consulta la pagina relativa ai concetti fondamentali dei test.

Argomenti
nomeclasse Il nome di un componente Android già installato su questo dispositivo, nel formato standard nomepacchetti/nomeclasse, dove nome pacchetto è il nome del pacchetto Android di un file .apk sul dispositivo e classname è il nome della classe di un componente Android (Attività, ContentProvider, Service o BroadcastRicevir) in tale file. Sia il nome pacchetto 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.
Ritorni
  • 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 componenteName, 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 di questo output è descritto in Test in altri IDE.

void press (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 la pagina KeyEvent per un elenco dei nomi dei codici chiave. 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 riavvio (bootloadType string)

Riavvia il dispositivo tramite il bootloader specificato da bootloadType.

Argomenti
in Il tipo di bootloader in cui eseguire il riavvio. I valori consentiti sono "bootloader", "recovery" o "None".

void removePackage (pacchetto string)

Elimina 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 (Cmd string)

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

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

void startActivity ( string uri, azione string, dati string, tipo MIME string, categorie iterable dizionari extra, componente componente, 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 Il componente dell'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 AcquisisciSnapshot ()

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

Ritorni
  • Un oggetto MonkeyImage contenente l'immagine della visualizzazione corrente.

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

Invia un evento touch specificato dal 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 riattiva ()

Riattiva lo schermo di questo dispositivo.


Appendice

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

Gruppo di proprietà Proprietà Descrizione Notes
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 della 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 generale 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 agli utenti 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 viene regolato in modo che 1 DIP sia equivalente a un pixel su un display da 160 pixel per pollice. Ad esempio, su uno schermo a 160 dpi, la densità è = 1,0, mentre su uno a 120 dpi la densità = 0,75.

Il valore non segue esattamente le dimensioni reali dello schermo, ma viene regolato in modo da 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 in un 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 è specificato da un nome di pacchetto e dal nome della classe contenuta nel 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. Consulta SystemClock per saperne di più.
uptime Il numero di millisecondi dal riavvio del dispositivo, escluso il tempo di sospensione profonda
millis ora attuale dall'epoca UNIX, in millisecondi.