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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Trasmette un intent a questo dispositivo, come se l'intent provenisse da un'applicazione.
|
||||||||||
|
Simula un gesto di trascinamento (tocca, tieni premuto e sposta) sullo schermo di questo dispositivo.
|
||||||||||
|
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.
|
||||||||||
|
. L'equivalente API di
adb shell getprop <key>. This is provided for use
by platform developers.
|
||||||||||
|
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.
|
||||||||||
|
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.
|
||||||||||
|
Invia l'evento chiave specificato dal tipo alla chiave specificata dal codice.
|
||||||||||
|
Riavvia il dispositivo tramite il bootloader specificato da bootloadType.
|
||||||||||
|
Elimina dal dispositivo il pacchetto specificato, inclusi i dati e la cache.
|
||||||||||
|
Esegue un comando shell
adb e restituisce il risultato, se presente.
|
||||||||||
|
Avvia un'attività su questo dispositivo inviando un intent creato dagli argomenti forniti.
|
||||||||||
MonkeyImage
|
Acquisisce l'intero buffer dello schermo del dispositivo, generando
un oggetto
MonkeyImage
contenente uno screenshot della visualizzazione corrente.
|
||||||||||
|
Invia un evento touch specificato dal tipo alla posizione dello schermo specificata da x e y.
|
||||||||||
|
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 .
|
||||||||||
|
Riattiva lo schermo di questo dispositivo.
|
Costanti
string GIÙ
string SU
stringa DOWN_AND_UP
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 seInstrumentationTestRunner
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
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
|
||
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. |