Eine monkeyrunner-Klasse, die ein Gerät oder einen Emulator darstellt, auf den die Workstation, auf der monkeyrunner
ausgeführt wird, zugreifen kann.
Mit dieser Klasse wird ein Android-Gerät oder -Emulator gesteuert. Die Methoden senden UI-Ereignisse, rufen Informationen ab, installieren und entfernen Anwendungen und führen Anwendungen aus.
Normalerweise müssen Sie keine Instanz von MonkeyDevice
erstellen. Stattdessen verwenden Sie
MonkeyRunner.waitForConnection()
, um ein neues Objekt aus einer Verbindung zu einem Gerät oder Emulator zu erstellen. Anstatt beispielsweise Folgendes zu verwenden:
newdevice = MonkeyDevice()
würden Sie verwenden:
newdevice = MonkeyRunner.waitForConnection()
Zusammenfassung
Konstanten | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | NACH UNTEN |
Verwenden Sie dies mit dem Argument type von press() oder touch()
, um ein DOWN-Ereignis zu senden.
|
|||||||||
String | NACH OBEN |
Verwenden Sie diese Methode mit dem Argument type von press() oder touch()
, um ein UP-Ereignis zu senden.
|
|||||||||
String | DOWN_AND_UP |
Verwenden Sie dies mit dem Argument type von press() oder touch()
, um ein DOWN-Ereignis unmittelbar gefolgt von einem UP-Ereignis zu senden.
|
Methoden | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Sendet einen Intent an dieses Gerät, so als ob der Intent von einer Anwendung stammt.
|
||||||||||
|
Simuliert eine Ziehbewegung (Berühren, Halten und Verschieben) auf dem Bildschirm dieses Geräts.
|
||||||||||
|
Gibt den Namen einer Systemumgebungsvariablen zurück, deren Wert für dieses Gerät zurückgegeben wird
Die verfügbaren Variablennamen sind in der
detaillierten Beschreibung dieser Methode aufgeführt.
|
||||||||||
|
. Die API-Entsprechung zu
adb shell getprop <key>. This is provided for use
by platform developers.
|
||||||||||
|
Die Android-Anwendung oder das in „packageFile“ enthaltene Testpaket wird auf diesem Gerät installiert. Wenn die Anwendung oder das Testpaket bereits installiert ist, wird es ersetzt.
|
||||||||||
|
Führt die angegebene Komponente unter Android-Instrumentierung aus und gibt die Ergebnisse in einem Wörterbuch zurück, dessen genaues Format von der ausgeführten Komponente bestimmt wird. Die Komponente muss bereits auf diesem Gerät vorhanden sein.
|
||||||||||
|
Sendet das nach Typ angegebene Schlüsselereignis an den durch Keycode angegebenen Schlüssel.
|
||||||||||
|
Startet dieses Gerät im durch BootloadType angegebenen Bootloader neu.
|
||||||||||
|
Löscht das angegebene Paket, einschließlich der Daten und des Cache, von diesem Gerät.
|
||||||||||
|
Führt einen
adb -Shell-Befehl aus und gibt das Ergebnis zurück, falls vorhanden.
|
||||||||||
|
Startet eine Aktivität auf diesem Gerät, indem ein Intent gesendet wird, der aus den bereitgestellten Argumenten erstellt wurde.
|
||||||||||
MonkeyImage
|
Erfasst den gesamten Bildschirmzwischenspeicher des Geräts und ergibt ein
MonkeyImage
-Objekt, das eine Bildschirmaufnahme des aktuellen Bildschirms enthält.
|
||||||||||
|
Sendet ein Touch-Ereignis, das durch den Typ angegeben ist, an die durch x und y angegebene Bildschirmposition.
|
||||||||||
|
Sendet die in der Nachricht enthaltenen Zeichen an dieses Gerät, so als wären sie über die Tastatur des Geräts eingegeben worden. Dies entspricht dem Aufrufen von
press() für jeden Schlüsselcode in message mit dem Schlüsselereignistyp DOWN_AND_UP .
|
||||||||||
|
Aktiviert das Display dieses Geräts.
|
Konstanten
string DOWN
string UP
String DOWN_AND_UP
Öffentliche Methoden
void broadcastIntent ( string uri, string Aktion, string daten, string mimetype, iterable kategorien wörterbuch Extras, komponenten-Komponente, iterable-Flags)
Sendet einen Intent an dieses Gerät, so als ob der Intent von einer Anwendung stammt. Weitere Informationen zu den Argumenten finden Sie unter Intent
.
Argumente
uri |
Der URI für den Intent.
(siehe Intent.setData() ).
|
---|---|
Aktion |
Die Aktion für diesen Intent (siehe Intent.setAction() ).
|
Daten |
Der Daten-URI für diesen Intent (siehe Intent.setData() ).
|
MIME-Typ |
Der MIME-Typ für den Intent (siehe Intent.setType() ).
|
kategorien |
Eine iterierbare Datenstruktur mit Strings, die Kategorien für diesen Intent definieren (siehe Intent.addCategory() ).
|
Extras |
Ein Wörterbuch mit zusätzlichen Daten für diesen Intent (ein Beispiel finden Sie unter Intent.putExtra() ).
Der Schlüssel für jedes Wörterbuchelement sollte ein String sein. Der Wert des Elements kann ein beliebiger einfacher oder strukturierter Datentyp sein. |
Komponente |
Die Komponente für diesen Intent (siehe ComponentName ). Mit diesem Argument wird der Intent an eine bestimmte Klasse innerhalb eines bestimmten Android-Pakets weitergeleitet.
|
Flags |
Eine iterierbare Datenstruktur mit Flags, die steuern, wie der Intent verarbeitet wird (siehe Intent.setFlags() ).
|
void ziehen ( tuple-Anfang, tuple-Ende, float-Dauer, integer-Schritte)
Simuliert eine Ziehbewegung (Berühren, Halten und Verschieben) auf dem Bildschirm dieses Geräts.
Argumente
starten | Der Startpunkt der Ziehbewegung in Form eines Tupels (x, y), wobei x und y Ganzzahlen sind. |
---|---|
Ende | Der Endpunkt der Ziehbewegung in Form eines Tupels (x, y), wobei x und y Ganzzahlen sind. |
dauer | Die Dauer der Ziehbewegung in Sekunden. Der Standardwert ist 1,0 Sekunden. |
Schritte | Anzahl der Schritte, die beim Interpolieren von Punkten ausgeführt werden sollen. Der Standardwert ist 10. |
Objekt getProperty (string-Schlüssel)
Gibt den Namen einer Systemumgebungsvariablen zurück, deren Wert für dieses Gerät zurückgegeben wird
Argumente
schlüssel | Der Name der Systemumgebungsvariablen. Die verfügbaren Variablennamen sind in Tabelle 1 aufgeführt. Property-Variablennamen. |
---|
Returns
- Wert der Variablen Das Datenformat variiert je nach angeforderter Variable.
Objekt getSystemProperty (string-Schlüssel)
Synonym für getProperty()
.
Argumente
schlüssel | Der Name der Systemumgebungsvariablen. Die verfügbaren Variablennamen sind in Tabelle 1 aufgeführt. Namen von Property-Variablen: |
---|
Returns
- Wert der Variablen Das Datenformat variiert je nach angeforderter Variable.
void installPackage (string-Pfad)
Android-App oder das in „packageFile“ enthaltene Testpaket wird auf diesem Gerät installiert. Wenn die Anwendung oder das Testpaket bereits installiert ist, wird es ersetzt.
Argumente
Pfad |
Der voll qualifizierte Pfad und Dateiname der zu installierenden Datei .apk .
|
---|
dictionary instrument (string className, dictionary-Argumente)
Führt die angegebene Komponente mit Android-Instrumentierung aus und gibt die Ergebnisse in einem Wörterbuch zurück, dessen genaues Format von der ausgeführten Komponente bestimmt wird. Die Komponente muss bereits auf diesem Gerät vorhanden sein.
Verwende diese Methode, um einen Testlauf zu starten, der eine der Testlaufklassen von Android verwendet. Weitere Informationen zu Unittests mit dem Android-Test-Framework findest du unter Testgrundlagen.
Argumente
className (Klassenname) |
Der Name einer Android-Komponente, die bereits auf diesem Gerät installiert ist, im Standardformat „Paketname/Klassenname“, wobei der Paketname der Android-Paketname einer .apk -Datei auf diesem Gerät und der Klassenname der Klassenname einer Android-Komponente (Activity, ContentProvider, Service oder BroadcastReceiver) in dieser Datei ist. Sowohl der Paketname als auch der Klassenname müssen voll qualifiziert sein. Weitere Informationen finden Sie unter ComponentName .
|
---|---|
Argumente | Ein Wörterbuch mit Flags und ihren Werten. Diese werden beim Start an die Komponente übergeben. Wenn das Flag keinen Wert annimmt, legen Sie seinen Wörterbuchwert auf einen leeren String fest. |
Returns
-
Ein Wörterbuch mit der Ausgabe der Komponente. Der Inhalt des Wörterbuchs wird von der Komponente selbst definiert.
Wenn Sie
InstrumentationTestRunner
als Klassennamen im Argument componentName verwenden, enthält das Ergebniswörterbuch den einzelnen Schlüssel „stream“. Der Wert von „stream“ ist ein String mit der Testausgabe, so als würdeInstrumentationTestRunner
über die Befehlszeile ausgeführt. Das Format dieser Ausgabe wird unter In anderen IDEs testen beschrieben.
void press (string name, integer-Typ)
Sendet das in type
angegebene Schlüsselereignis an den in keycode
angegebenen Schlüssel.
Argumente
Name |
Der Name des zu sendenden Keycodes. Eine Liste der Keycode-Namen findest du unter KeyEvent . Verwenden Sie den Namen des Schlüsselcodes, nicht den ganzzahligen Wert.
|
---|---|
eingeben |
Die Art des zu sendenden Schlüsselereignisses. Die zulässigen Werte sind
DOWN , UP und DOWN_AND_UP .
|
void neu starten (string bootloadType)
Startet dieses Gerät im von bootloadType
angegebenen Bootloader neu.
Argumente
in | Der Bootloader-Typ, bei dem neu gestartet werden soll. Die zulässigen Werte sind „bootloader“, „recovery“ oder „None“. |
---|
void removePackage (string-Paket)
Löscht das angegebene Paket, einschließlich der Daten und des Cache, von diesem Gerät.
Argumente
Paket |
Android-Paketname einer .apk -Datei auf diesem Gerät.
|
---|
Objekt Shell (string cmd)
Führt einen adb
-Shell-Befehl aus und gibt das Ergebnis zurück, falls vorhanden.
Argumente
CMD |
Der in der adb -Shell auszuführende Befehl. Die Form dieser Befehle wird im Thema Android Debug Bridge beschrieben.
|
---|
Returns
- Die Ergebnisse des Befehls, falls vorhanden. Das Format der Ergebnisse wird durch den Befehl bestimmt.
void startActivity ( string uri, string aktion, string daten, string mimetype, iterable kategorien wörterbuch Extras, komponenten-Komponente, iterable-Flags)
Startet eine Aktivität auf diesem Gerät, indem ein Intent gesendet wird, der aus den bereitgestellten Argumenten erstellt wurde.
Argumente
uri |
Der URI für den Intent.
(siehe Intent.setData() ).
|
---|---|
Aktion |
Die Aktion für den Intent (siehe Intent.setAction() ).
|
Daten |
Der Daten-URI für den Intent (siehe Intent.setData() ).
|
MIME-Typ |
Der MIME-Typ für den Intent (siehe Intent.setType() ).
|
kategorien |
Eine iterierbare Datenstruktur mit Strings, die Kategorien für den Intent definieren (siehe Intent.addCategory() ).
|
Extras |
Ein Wörterbuch mit zusätzlichen Daten für den Intent (ein Beispiel finden Sie unter Intent.putExtra() ).
Der Schlüssel für jedes Wörterbuchelement sollte ein String sein. Der Wert des Elements kann ein beliebiger einfacher oder strukturierter Datentyp sein. |
Komponente |
Die Komponente für den Intent (siehe ComponentName ). Mit diesem Argument wird der Intent an eine bestimmte Klasse in einem bestimmten Android-Paket weitergeleitet.
|
Flags |
Eine iterierbare Datenstruktur mit Flags, die steuern, wie der Intent verarbeitet wird (siehe Intent.setFlags() ).
|
MonkeyImage
takeSnapshot
()
Erfasst den gesamten Bildschirmzwischenspeicher des Geräts, sodass eine Bildschirmaufnahme des aktuellen Bildschirms erstellt wird.
Returns
- Ein MonkeyImage-Objekt, das das Bild des aktuellen Displays enthält.
void touch ( integer x, integer y, string typ)
Sendet ein Touch-Ereignis, das durch den Typ angegeben ist, an die durch x und y angegebene Bildschirmposition.
Argumente
x | Die horizontale Position des Touchscreens in tatsächlichen Gerätepixeln, beginnend vom linken Rand des Bildschirms in seiner aktuellen Ausrichtung. |
---|---|
y | Die vertikale Position des Touchscreens in tatsächlichen Gerätepixeln, beginnend vom oberen Bildschirmrand in seiner aktuellen Ausrichtung. |
eingeben |
Die Art des zu sendenden Schlüsselereignisses. Die zulässigen Werte sind
DOWN , UP und DOWN_AND_UP .
|
void type (string message)
Sendet die in der Nachricht enthaltenen Zeichen an dieses Gerät, so als wären sie über die Tastatur des Geräts eingegeben worden. Dies entspricht dem Aufrufen von press()
für jeden Schlüsselcode in message
mit dem Schlüsselereignistyp DOWN_AND_UP
.
Argumente
Nachricht | Ein String mit den zu sendenden Zeichen. |
---|
void wake ()
Aktiviert das Display dieses Geräts.
Anhang
Property-Gruppe | Attribut | Beschreibung | Hinweise |
---|---|---|---|
build |
board |
Codename für die Systemkarte des Geräts |
Build ansehen
|
brand |
Der Mobilfunkanbieter oder Anbieter, für den das Betriebssystem angepasst ist. | ||
device |
Der Name des Gerätedesigns. | ||
fingerprint |
Eine eindeutige Kennung für den aktuell ausgeführten Build. | ||
host |
|||
ID |
Eine Nummer oder ein Label für die Änderungsliste | ||
model |
Der für den Endnutzer sichtbare Name des Geräts. | ||
product |
Der allgemeine Produktname. | ||
tags |
Durch Kommas getrennte Tags, die den Build beschreiben, z. B. „unsigniert“ und „debug“. | ||
type |
Der Build-Typ, z. B. „user“ oder „eng“. | ||
user |
|||
CPU_ABI |
Der Name des nativen Code-Befehlssatzes in Form von CPU-Typ plus ABI-Konvention. | ||
manufacturer |
Der Produkt-/Hardwarehersteller. | ||
version.incremental |
Der interne Code, der vom Versionsverwaltungssystem verwendet wird, um diese Version der Software darzustellen. | ||
version.release |
Der für den Nutzer sichtbare Name dieser Softwareversion. | ||
version.sdk |
Die für den Nutzer sichtbare SDK-Version, die mit dieser Version des Betriebssystems verknüpft ist. | ||
version.codename |
Der aktuelle Entwicklungscodename oder „REL“, wenn diese Version der Software veröffentlicht wurde. | ||
display |
width |
Die Displaybreite des Geräts in Pixeln. |
Weitere Informationen finden Sie unter DisplayMetrics .
|
height |
Die Anzeigehöhe des Geräts in Pixeln. | ||
density |
Die logische Dichte der Anzeige. Dies ist ein Faktor, der die DIP-Einheiten (Density-Independent Pixel) auf die Auflösung des Geräts skaliert. Die DIP wird so angepasst, dass 1 DIP einem Pixel auf einem 160 Pixel pro Zoll großen Bildschirm entspricht. Auf einem Bildschirm mit 160 dpi lautet die Dichte beispielsweise 1,0, auf einem Bildschirm mit 120 dpi beträgt die Dichte 0,75.
Der Wert entspricht nicht exakt der tatsächlichen Bildschirmgröße, wird jedoch an größere Änderungen des Anzeige-DPI angepasst. Weitere Informationen finden Sie unter |
||
am.current |
package |
Der Android-Paketname des derzeit ausgeführten Pakets. |
Die am.current -Schlüssel geben Informationen zur aktuell ausgeführten Aktivität zurück.
|
action |
Die Aktion der aktuellen Aktivität. Es hat dasselbe Format wie das Attribut name des action -Elements in einem Paketmanifest.
|
||
comp.class |
Der Klassenname der Komponente, die die aktuelle Activity gestartet hat. Weitere Informationen finden Sie unter comp.package . |
||
comp.package |
Der Paketname der Komponente, die die aktuelle Aktivität gestartet hat. Eine Komponente wird durch einen Paketnamen und den Namen der Klasse, die das Paket enthält, angegeben. | ||
data |
Die Daten (falls vorhanden), die in dem Intent enthalten sind, der die aktuelle Aktivität gestartet hat. | ||
categories |
Die Kategorien, die von dem Intent angegeben wurden, der die aktuelle Aktivität gestartet hat. | ||
clock |
realtime |
Die Anzahl der Millisekunden seit dem Neustart des Geräts, einschließlich der Tiefschlafzeit. |
Weitere Informationen findest du unter SystemClock .
|
uptime |
Die Anzahl der Millisekunden seit dem Neustart des Geräts, ohne die Tiefschlafzeit | ||
millis |
Aktuelle Zeit seit der UNIX-Epoche in Millisekunden. |