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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
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 del metodo.
|
||||||||||
|
. L'equivalente API di
adb shell getprop <key>. This is provided for use
by platform developers.
|
||||||||||
|
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.
|
||||||||||
|
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.
|
||||||||||
|
Invia l'evento chiave specificato per tipo alla chiave specificata dal codice chiave.
|
||||||||||
|
Riavvia questo dispositivo nel bootloader specificato da bootloadType.
|
||||||||||
|
Consente di eliminare 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, producendo un oggetto
MonkeyImage
contenente un'acquisizione della schermata corrente.
|
||||||||||
|
Invia un evento tocco specificato per 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 ( 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 seInstrumentationTestRunner
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
|
||
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. |