Klasa monkeyrunner reprezentująca urządzenie lub emulator dostępny dla stacji roboczej z systemem monkeyrunner
.
Ta klasa służy do sterowania urządzeniem z Androidem lub emulatorem. Metody te wysyłają zdarzenia interfejsu, pobierają informacje, instalują i usuwają aplikacje oraz uruchamiają aplikacje.
Zwykle nie musisz tworzyć instancji MonkeyDevice
. Zamiast tego użyj
MonkeyRunner.waitForConnection()
, aby utworzyć nowy obiekt na podstawie połączenia z urządzeniem lub emulatorem. Zamiast np.:
newdevice = MonkeyDevice()
należy użyć:
newdevice = MonkeyRunner.waitForConnection()
Podsumowanie
Stałe | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ciąg znaków | PIONOWO |
Użyj tego argumentu z argumentem type press() lub touch()
, aby wysłać zdarzenie DOWN.
|
|||||||||
ciąg znaków | W GÓRĘ |
Użyj tego argumentu type z wartością press() lub touch()
, aby wysłać zdarzenie UP.
|
|||||||||
ciąg znaków | W DÓŁ_I_W GÓRĘ |
Użyj tej opcji z argumentem type press() lub touch()
, aby wysłać zdarzenie DOWN, a po nim zdarzenie W GÓRĘ.
|
Metody | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Rozgłasza intencję do tego urządzenia, tak jakby pochodziła z aplikacji.
|
||||||||||
|
Symuluje gest przeciągania (dotknięcie, przytrzymanie i przesunięcie) na ekranie urządzenia.
|
||||||||||
|
Biorąc pod uwagę nazwę systemowej zmiennej środowiskowej, zwraca jej wartość dla tego urządzenia.
Dostępne nazwy zmiennych znajdziesz w
szczegółowym opisie tej metody.
|
||||||||||
|
. Odpowiednik interfejsu API
adb shell getprop <key>. This is provided for use
by platform developers.
|
||||||||||
|
Instaluje na urządzeniu aplikację na Androida lub pakiet testowy zawarte w pliku packageFile. Jeśli aplikacja lub pakiet testowy jest już zainstalowany, zostanie zastąpiony.
|
||||||||||
|
Uruchamia określony komponent w sekcji instrumentacji Androida i zwraca wyniki w słowniku, którego dokładny format jest określany przez uruchamiany komponent. Komponent musi już występować na tym urządzeniu.
|
||||||||||
|
Wysyła kluczowe zdarzenie określone przez typ do klucza określonego w kodzie klucza.
|
||||||||||
|
Uruchamia ponownie urządzenie w programie rozruchowym określonym przez typ bootloadType.
|
||||||||||
|
Usuwa określony pakiet z tego urządzenia, w tym dane i pamięć podręczną.
|
||||||||||
|
Wykonuje polecenie powłoki
adb i zwraca wynik (jeśli istnieje).
|
||||||||||
|
Uruchamia działanie na tym urządzeniu przez wysłanie intencji utworzonej na podstawie podanych argumentów.
|
||||||||||
MonkeyImage
|
Przechwytuje cały bufor ekranu tego urządzenia, uzyskując obiekt
MonkeyImage
zawierający zrzut ekranu bieżącego wyświetlacza.
|
||||||||||
|
Wysyła zdarzenie dotknięcia określone przez typ do lokalizacji na ekranie określonej przez
x i y.
|
||||||||||
|
Wysyła znaki zawarte w wiadomości na tym urządzeniu tak, jakby zostały wpisane na klawiaturze urządzenia. Odpowiada to wywołaniu
press() dla każdego kodu klucza w obiekcie message za pomocą typu kluczowego zdarzenia DOWN_AND_UP .
|
||||||||||
|
Wybudza ekran tego urządzenia.
|
Stałe
ciąg znaków DOWN
ciąg znaków W GÓRĘ
ciąg znaków DOWN_AND_UP
Metody publiczne
void broadcastIntent ( string uri, string action, string data, string MIMEtype, iterable campaigns dictionary extras, component, flagi iterable)
Rozgłasza intencję do tego urządzenia, tak jakby pochodziła z aplikacji. Więcej informacji o argumentach znajdziesz w sekcji Intent
.
Argumenty
identyfikator URI |
Identyfikator URI intencji.
(patrz Intent.setData() ).
|
---|---|
działanie |
Działanie związane z tą intencją (patrz Intent.setAction() ).
|
dane |
Identyfikator URI danych dla tej intencji (patrz Intent.setData() ).
|
typ MIME |
Typ MIME intencji (patrz Intent.setType() ).
|
kategorie |
Iterowa struktura danych zawierająca ciągi znaków, które definiują kategorie tej intencji (patrz Intent.addCategory() ).
|
dodatki |
Słownik z dodatkowymi danymi na potrzeby tej intencji (przykład znajdziesz tutaj: Intent.putExtra() ).
Kluczem dla każdego elementu słownika powinien być ciąg znaków. Wartością elementu może być dowolny typ danych uporządkowanych lub prosty. |
składnik |
Komponent tej intencji (patrz ComponentName ). Użycie tego argumentu przekieruje intencję do określonej klasy w ramach określonego pakietu na Androida.
|
flagi |
Iterowa struktura danych zawierająca flagi, które kontrolują sposób obsługi intencji (patrz Intent.setFlags() ).
|
void przeciągnij (początek kropki, koniec kropki, czas trwania zmiennoprzecinkowy, kroki całkowite)
Symuluje gest przeciągania (dotknięcie, przytrzymanie i przesunięcie) na ekranie urządzenia.
Argumenty
start | Punkt początkowy gestu przeciągania, w postaci kropki (x,y), gdzie x i y to liczby całkowite. |
---|---|
wartość końcowa | Punkt końcowy gestu przeciągania, w postaci kropki (x,y), gdzie x i y to liczby całkowite. |
czas trwania | Czas trwania gestu przeciągania w sekundach. Wartość domyślna to 1,0 sekundy. |
kroki | Liczba kroków do wykonania przy interpolacji punktów. Wartość domyślna to 10. |
object getProperty (klucz ciągu znaków)
Biorąc pod uwagę nazwę systemowej zmiennej środowiskowej, zwraca jej wartość dla tego urządzenia.
Argumenty
klucz | Nazwa systemowej zmiennej środowiskowej. Dostępne nazwy zmiennych są wymienione w tabeli 1. Nazwy zmiennych usługi na końcu tego tematu. |
---|
Zwroty
- Wartość zmiennej. Format danych zależy od żądanej zmiennej.
object getSystemProperty (klucz ciągu znaków)
Synonim terminu getProperty()
.
Argumenty
klucz | Nazwa systemowej zmiennej środowiskowej. Dostępne nazwy zmiennych są wymienione w tabeli 1. Nazwy zmiennych usługi. |
---|
Zwroty
- Wartość zmiennej. Format danych zależy od żądanej zmiennej.
void installPackage (ścieżka ciągu znaków)
Instaluje na urządzeniu aplikację na Androida lub pakiet testowy zawarte w pliku packageFile. Jeśli aplikacja lub pakiet testowy jest już zainstalowany, zostanie zastąpiony.
Argumenty
ścieżka |
Pełna ścieżka i nazwa pliku .apk do zainstalowania.
|
---|
dictionary instrument ( string className, dictionary arguments)
Uruchamia określony komponent z instrumentacją Androida i zwraca wyniki w słowniku, którego dokładny format jest określany przez uruchamiany komponent. Komponent musi już występować na tym urządzeniu.
Korzystając z tej metody, możesz uruchomić przypadek testowy z wykorzystaniem jednej z klas przypadku testowego Androida. Więcej informacji o testowaniu jednostkowym za pomocą platformy testowania Androida znajdziesz w artykule Podstawy testowania.
Argumenty
NazwaKlasa |
Nazwa komponentu Androida zainstalowanego już na tym urządzeniu w standardowej postaci nazwa_pakietu/nazwa_klasy, gdzie nazwa_pakietu to nazwa pakietu na Androida pliku .apk na urządzeniu, a nazwa klasy to nazwa klasy komponentu Androida (Activity, ContentProvider, Service lub Broadcastr) w danym pliku. Zarówno nazwa pakietu, jak i nazwa klasy muszą być pełne. Więcej informacji znajdziesz tutaj: ComponentName .
|
---|---|
argumenty | Słownik zawierający flagi i ich wartości. Są one przekazywane do komponentu w trakcie jego uruchamiania. Jeśli flaga nie przyjmuje wartości, ustaw jej wartość słownikową na pusty ciąg znaków. |
Zwroty
-
Słownik zawierający dane wyjściowe komponentu. Treść słownika jest definiowana przez sam komponent.
Jeśli jako nazwy klasy w argumencie WebViewName używasz
InstrumentationTestRunner
, słownik wyników zawiera pojedynczy klucz „stream”. Wartość „stream” to ciąg znaków zawierający testowe dane wyjściowe, tak jakbyInstrumentationTestRunner
był uruchamiany z wiersza poleceń. Format tych danych wyjściowych jest opisany w sekcji Testowanie w innych IDE.
void naciskanie (nazwa ciągu znaków, typ integer)
Wysyła kluczowe zdarzenie określone przez type
do klucza podanego przez keycode
.
Argumenty
nazwa |
Nazwa kodu klucza do wysłania. Listę nazw kodów kluczy znajdziesz na stronie KeyEvent . Użyj nazwy kodu klucza, a nie jego liczby całkowitej.
|
---|---|
typ |
Typ kluczowego zdarzenia do wysłania. Dozwolone wartości to
DOWN , UP i DOWN_AND_UP .
|
void reboot (string bootloadType)
Uruchamia urządzenie w programie rozruchowym określonym przez bootloadType
.
Argumenty
do | Typ programu rozruchowego, który ma zostać zrestartowany. Dozwolone wartości to „bootloader”, „recovery” lub „None”. |
---|
void removePackage (pakiet string)
Usuwa określony pakiet z tego urządzenia, w tym dane i pamięć podręczną.
Argumenty
paczka |
Nazwa pakietu na Androida pliku .apk na tym urządzeniu.
|
---|
object shell (ciąg cmd)
Wykonuje polecenie powłoki adb
i zwraca wynik (jeśli istnieje).
Argumenty
Cmd |
Polecenie do wykonania w powłoce adb . Formę tych poleceń opisano w temacie Android Debug Bridge.
|
---|
Zwroty
- Wyniki polecenia (jeśli występują). Format wyników jest określany w poleceniu.
void startActivity ( string uri, string action, string data, string typ MIME, iterable kategorie słownik dodatki, komponent komponent, flagi iterable)
Uruchamia działanie na tym urządzeniu przez wysłanie intencji utworzonej na podstawie podanych argumentów.
Argumenty
identyfikator URI |
Identyfikator URI intencji.
(patrz Intent.setData() ).
|
---|---|
działanie |
Działanie związane z intencji (patrz Intent.setAction() ).
|
dane |
Identyfikator URI danych intencji (patrz Intent.setData() ).
|
typ MIME |
Typ MIME intencji (patrz Intent.setType() ).
|
kategorie |
Iterowa struktura danych zawierająca ciągi znaków, które definiują kategorie intencji (patrz Intent.addCategory() ).
|
dodatki |
Słownik z dodatkowymi danymi na potrzeby intencji (przykład znajdziesz tutaj: Intent.putExtra() ).
Kluczem dla każdego elementu słownika powinien być ciąg znaków. Wartością elementu może być dowolny typ danych uporządkowanych lub prosty. |
składnik |
Komponent intencji (patrz ComponentName ). Użycie tego argumentu przekieruje intencję do określonej klasy w ramach określonego pakietu na Androida.
|
flagi |
Iterowa struktura danych zawierająca flagi, które kontrolują sposób obsługi intencji (patrz Intent.setFlags() ).
|
MonkeyImage
takeSnapshot
()
Przechwytuje cały bufor ekranu urządzenia, wykonując zrzut ekranu bieżącego wyświetlacza.
Zwroty
- Obiekt MonkeyImage zawierający obraz bieżącego wyświetlacza.
void touch ( integer x, liczba całkowita y, typ ciąg znaków)
Wysyła zdarzenie dotknięcia określone przez typ do lokalizacji na ekranie określonej przez x i y.
Argumenty
x | Pozioma pozycja dotknięcia w rzeczywistych pikselach urządzenia, począwszy od lewej strony ekranu w bieżącej orientacji. |
---|---|
Y | Pionowa pozycja dotyku w rzeczywistych pikselach urządzenia, od góry ekranu w bieżącej orientacji. |
typ |
Typ kluczowego zdarzenia do wysłania. Dozwolone wartości to
DOWN , UP i DOWN_AND_UP .
|
void type (wiadomość string)
Wysyła znaki zawarte w wiadomości na tym urządzeniu tak, jakby zostały wpisane na klawiaturze urządzenia. Odpowiada to wywołaniu press()
dla każdego kodu klucza w obiekcie message
za pomocą typu kluczowego zdarzenia DOWN_AND_UP
.
Argumenty
wiadomość | Ciąg tekstowy zawierający znaki do wysłania. |
---|
void wybudzenie ()
Wybudza ekran tego urządzenia.
Dodatek
Grupa usług | Właściwość | Opis | Uwagi |
---|---|---|---|
build |
board |
Nazwa kodu płyty systemowej urządzenia |
Zobacz: Build
|
brand |
Operator lub dostawca, dla którego został dostosowany system operacyjny. | ||
device |
Nazwa projektu urządzenia. | ||
fingerprint |
Unikalny identyfikator obecnie uruchomionej kompilacji. | ||
host |
|||
ID |
Numer listy zmian lub etykieta. | ||
model |
Nazwa urządzenia widoczna dla użytkownika. | ||
product |
Ogólna nazwa produktu. | ||
tags |
Oddzielone przecinkami tagi opisujące kompilację, np. „unsign” (bez podpisu) i „debug” (debugowanie). | ||
type |
Typ kompilacji, np. „user” lub „eng”. | ||
user |
|||
CPU_ABI |
Nazwa zestawu instrukcji dla kodu natywnego w postaci typu procesora formularza i konwencji interfejsu ABI. | ||
manufacturer |
Producent produktu lub sprzętu. | ||
version.incremental |
Kod wewnętrzny używany przez system kontroli źródła do reprezentowania tej wersji oprogramowania. | ||
version.release |
Widoczna dla użytkownika nazwa danej wersji oprogramowania. | ||
version.sdk |
Widoczna dla użytkownika wersja pakietu SDK powiązana z tą wersją systemu operacyjnego. | ||
version.codename |
Obecny kryptonim programisty lub „REL”, jeśli ta wersja oprogramowania została opublikowana. | ||
display |
width |
Szerokość wyświetlacza urządzenia w pikselach. |
Aby dowiedzieć się więcej, wejdź na DisplayMetrics .
|
height |
Wysokość wyświetlacza urządzenia w pikselach. | ||
density |
Logiczna gęstość wyświetlacza. Jest to współczynnik, który skaluje jednostki DIP (pikseli niezależne od gęstości) do rozdzielczości urządzenia. Wartość DIP jest dostosowywana tak, aby 1 DIP odpowiadała 1 pikselowi na wyświetlaczu o przekątnej 160 pikseli na cal. Na przykład na ekranie o rozdzielczości 160 dpi gęstość = 1,0, a na ekranie 120 dpi = 0,75.
Wartość nie jest dokładnie zgodna z rzeczywistym rozmiarem ekranu, ale jest dostosowywana w celu dostosowania go do dużych zmian DPI wyświetlacza. Więcej informacji znajdziesz tutaj: |
||
am.current |
package |
Nazwa aktualnie uruchomionego pakietu na Androida. |
Klucze am.current zwracają informacje o obecnie uruchomionej aktywności.
|
action |
Działanie w ramach bieżącej aktywności. Ma taki sam format jak atrybut name elementu action w pliku manifestu pakietu.
|
||
comp.class |
Nazwa klasy komponentu, który rozpoczął bieżące działanie. Więcej informacji znajdziesz tutaj: comp.package . |
||
comp.package |
Nazwa pakietu komponentu, który rozpoczął bieżące działanie. Komponent określa nazwa pakietu i nazwa klasy, która zawiera ten pakiet. | ||
data |
Dane (jeśli istnieją) zawarte w intencji, która rozpoczęła bieżące działanie. | ||
categories |
Kategorie określone przez intencję, która rozpoczęła bieżące działanie. | ||
clock |
realtime |
Liczba milisekund od ponownego uruchomienia urządzenia, w tym czas głębokiego uśpienia. |
Aby dowiedzieć się więcej, przeczytaj SystemClock .
|
uptime |
Liczba milisekund od ponownego uruchomienia urządzenia, bez uwzględnienia czasu głębokiego uśpienia | ||
millis |
czas w milisekundach od początku epoki UNIX. |