Małpie urządzenie

Klasa monkeyrunner reprezentująca urządzenie lub emulator dostępne dla uruchomionej stacji roboczej monkeyrunner

Ta klasa służy do sterowania urządzeniem z Androidem lub emulatorem. Metody wysyłają zdarzenia UI pobierania informacji, instalowania i usuwania aplikacji oraz uruchamiania aplikacji.

Zwykle nie trzeba tworzyć instancji MonkeyDevice. Zamiast tego: należy użyć funkcji MonkeyRunner.waitForConnection(), aby utworzyć nowy obiekt na podstawie połączenia z urządzeniem, lub za pomocą emulatora. Na przykład zamiast przy użyciu:

newdevice = MonkeyDevice()

użyj:

newdevice = MonkeyRunner.waitForConnection()

Podsumowanie

Stałe
ciąg znaków W DÓŁ Tego argumentu należy używać z argumentem type funkcji press() lub touch() aby wysłać zdarzenie SPADEK.
ciąg znaków W GÓRĘ Tego argumentu należy używać z argumentem type funkcji press() lub touch() aby wysłać zdarzenie UP.
ciąg znaków W DÓŁ_I_W GÓRĘ Tego argumentu należy używać z argumentem type funkcji press() lub touch() , aby wysłać zdarzenie W DÓŁ, po którym następuje zdarzenie UP.
Metody
nieważne . broadcastIntent (identyfikator URI ciąg znaków, działanie ciąg znaków, danych string, typ MIME ciągu, Kategorie identyczne dodatki słownika, komponent, flagi iterable)
Przekazuje intencje do tego urządzenia, tak jakby intencje pochodziły z aplikacji.
nieważne . przeciągnij (początek krotki, koniec krotki, czas trwania zmiennoprzecinkowy, liczba całkowita)
Symuluje gest przeciągania (naciśnięcie, przytrzymanie i poruszanie) na ekranie urządzenia.
obiekt getproperty, (klucz ciąg znaków)
Zwraca wartość systemowej zmiennej środowiskowej dla tego urządzenia. Dostępne nazwy zmiennych są wymienione w sekcji szczegółowy opis tej metody.
obiekt getSystemProperty (klucz ciąg znaków)
. Odpowiednik interfejsu API funkcji adb shell getprop <key>. This is provided for use by platform developers.
nieważne . installPackage (ścieżka ciągu znaków)
Instaluje na nim aplikację na Androida lub pakiet testowy zawarty w pliku packageFile urządzenia. Jeśli aplikacja lub pakiet testowy jest już zainstalowany, zostanie zastąpiony.
słownik instrument (ciąg znaków className, słownik)
Uruchamia określony komponent w instrukcjach Androida i zwraca wyniki. w słowniku, którego dokładny format jest określony przez uruchamiany komponent. na tym urządzeniu musi być już dostępny komponent.
nieważne . naciśnij (nazwa ciągu znaków, typ słownika)
Wysyła kluczowe zdarzenie określone przez typ do klucza określonego przez funkcję (kod).
nieważne . uruchom ponownie (ciąg znaków do)
Uruchamia ponownie urządzenie w programie rozruchowym określonym przez parametr BoloadType.
nieważne . removePackage (pakiet ciągu znaków)
Usuwa z urządzenia określony pakiet, w tym dane i pamięć podręczną.
obiekt powłoka (ciąg znaków cmd)
Wykonuje polecenie powłoki adb i zwraca ewentualny wynik.
nieważne . startActivity (identyfikator URI ciąg znaków, działanie ciąg znaków, danych string, typ MIME ciągu, Kategorie identyczne dodatki słownika, komponent, flagi)
Uruchamia aktywność na tym urządzeniu, wysyłając intencję utworzoną na podstawie podane argumenty.
MonkeyImage takeSnapshot() .
Przechwytuje cały bufor ekranu urządzenia, uzyskując MonkeyImage obiekt zawierający zrzut ekranu bieżącego wyświetlacza.
nieważne . dotyk (liczba całkowita x, liczba całkowita y, typ liczba całkowita)
Wysyła zdarzenie dotknięcia określone według typu do wskazanej lokalizacji ekranu przez x i y.
nieważne . type (komunikat ciąg znaków)
Wysyła znaki zawarte w wiadomości do tego urządzenia w taki sposób, jakby została wpisana na klawiaturze urządzenia. Odpowiada to wywołaniu press() dla każdego kodu klucza w message za pomocą typu kluczowego zdarzenia DOWN_AND_UP.
nieważne . wybudzenie () .
Wybudza ekran tego urządzenia.

Stałe

ciąg znaków W DÓŁ

press() lub Wartość: touch(). Określa, że do urządzenia ma zostać wysłany typ zdarzenia W DÓŁ odpowiadający naciskając klawisz lub dotykając ekranu.

ciąg znaków WZROST

press() lub Wartość: touch(). Określa, że do urządzenia ma zostać wysłany typ zdarzenia UP odpowiadający który puszcza klucz czy unosi się od ekranu.

ciąg znaków W DÓŁ_I W GÓRĘ

press(), touch() lub Wartość type(). Określa, że do co oznacza wpisanie klawisza lub kliknięcie ekranu.

Metody publiczne

nieważne . broadcastIntent ( identyfikator URI string, string action, string, string (typ MIME), Kategorie iterowalne dodatki słownik, komponent, flagi iterable) .

Przekazuje intencje do tego urządzenia, tak jakby intencje pochodziły z aplikacji. Wejdź na Intent, by dowiedzieć się więcej o .

Argumenty
identyfikator URI Identyfikator URI intencji. (patrz Intent.setData()).
działanie Działanie w przypadku tej intencji (patrz Intent.setAction()).
dane Identyfikator URI danych dla tej intencji (patrz Intent.setData()).
typ MIME Typ MIME intencji (patrz Intent.setType()).
kategorie iteracyjną strukturę danych zawierającą ciągi znaków definiujące kategorie; Zamiar (zobacz Intent.addCategory()).
dodatki Słownik dodatkowych danych na potrzeby tej intencji (zobacz: Intent.putExtra() ).

Klucz każdego elementu słownika powinien być ciągiem znaków. Wartość elementu może być dowolnym prostym lub uporządkowanym typem danych.

składnik Komponent danej intencji (patrz ComponentName). Użycie tego argumentu skieruje intencję do konkretnej klasy w obrębie określonej pakietu na Androida.
flagi Iteracyjna struktura danych zawierająca flagi, które kontrolują sposób obsługi intencji (patrz Intent.setFlags()).

nieważne . przeciągnij ( początek krotki, koniec krotki, czas trwania zmiennoprzecinkowy, liczba całkowita) .

Symuluje gest przeciągania (naciśnięcie, przytrzymanie i poruszanie) na ekranie urządzenia.

Argumenty
rozpocznij Punkt początkowy gestu przeciągania w postaci krotki (x,y), gdzie x i y to liczby całkowite.
wartość końcowa Punkt końcowy gestu przeciągania w postaci krotki (x,y). gdzie x i y to liczby całkowite.
czas trwania Czas trwania gestu przeciągania w sekundach. Wartość domyślna to 1 sekunda.
kroki Liczba kroków do wykonania przy interpolowaniu punktów. Wartością domyślną jest 10.

obiekt getproperty, (klucz string)

Zwraca wartość systemowej zmiennej środowiskowej dla tego urządzenia.

Argumenty
klucz Nazwa systemowej zmiennej środowiskowej. Dostępne nazwy zmiennych są wymienione tutaj: Tabela 1. Nazwy zmiennych usługi na końcu tego tematu.
Zwroty
  • Wartość zmiennej. Format danych zależy od żądanej zmiennej.

obiekt getSystemProperty (klucz string)

Synonim terminu getProperty().

Argumenty
klucz Nazwa systemowej zmiennej środowiskowej. Dostępne nazwy zmiennych są wymienione tutaj: Tabela 1. Nazwy zmiennych usługi.
Zwroty
  • Wartość zmiennej. Format danych zależy od żądanej zmiennej.

nieważne . installPackage (ścieżka ciągu znaków) .

Instaluje aplikację na Androida lub pakiet testowy zawarty w pliku packageFile na tym urządzeniu. Jeśli aplikacja lub pakiet testowy są już zainstalowane, zastąpiono.

Argumenty
ścieżka Pełna ścieżka i nazwa pliku .apk do zainstalowania.

słownik instrument ( string className, słownik)

Uruchamia określony komponent przy użyciu instrumentacji Androida i zwraca wyniki. w słowniku, którego dokładny format jest określony przez uruchamiany komponent. na tym urządzeniu musi być już dostępny komponent.

Użyj tej metody, aby rozpocząć przypadek testowy, który korzysta z jednej z klas przypadków testowych Androida. Patrz: Testowanie podstawy, by dowiedzieć się więcej o testowaniu jednostkowym za pomocą testów na Androida. platformy.

Argumenty
nazwaklasy Nazwa komponentu Androida, który jest już zainstalowany na tym urządzeniu, w standardowy format nazwa pakietu/nazwa_klasy, gdzie nazwa_pakietu to wartość nazwę pakietu na Androida pliku .apk na tym urządzeniu oraz classname to nazwa klasy komponentu Androida (Działanie, ContentProvider, Service czy BroadcastReceiver). Obie opcje Nazwa pakietu i nazwa klasy muszą być pełne. Zobacz ComponentName, aby uzyskać więcej informacji.
argumenty Słownik zawierający flagi i ich wartości. Są one przekazywane do komponentu, gdy . Jeśli flaga nie przyjmuje wartości, ustaw pustą wartość słownika. ciągu znaków.
Zwroty
  • Słownik zawierający dane wyjściowe komponentu. Zawartość słownika są definiowane przez komponent.

    Jeśli używasz InstrumentationTestRunner jako nazwy zajęć w argumentu WebViewName, słownik wyników będzie zawierał pojedynczy klucz „strumień”. Wartość „stream” to ciąg znaków, który zawiera wynik testu, tak jakby usługa InstrumentationTestRunner została uruchomiona z wiersza poleceń. Format tych danych wyjściowych jest opisany w Testy w innych IDE.

nieważne . naciśnij (nazwa ciągu znaków, integer) .

Wysyła kluczowe zdarzenie określone przez type do klucza określonego przez funkcję keycode

Argumenty
nazwa Nazwa wysyłanego kodu klucza. Listę tych kategorii znajdziesz na stronie KeyEvent nazw kodów. Użyj nazwy kodu klucza, a nie jego wartości całkowitej.
typ Typ kluczowego zdarzenia do wysłania. Dozwolone wartości to DOWN, UP i DOWN_AND_UP

nieważne . uruchom ponownie (ciąg rozruchowy) .

Uruchamia ponownie urządzenie w programie rozruchowym określonym przez bootloadType.

Argumenty
do Typ programu rozruchowego, w którym nastąpi restartowanie. Dozwolone wartości to „program rozruchowy”, „recovery” lub „Brak”.

nieważne . removePackage (pakiet ciągu znaków) .

Usuwa z urządzenia określony pakiet, w tym dane i pamięć podręczną.

Argumenty
paczka Nazwa pakietu na Androida pliku .apk na tym urządzeniu.

obiekt powłoka (ciąg znaków cmd)

Wykonuje polecenie powłoki adb i zwraca ewentualny wynik.

Argumenty
Cmd Polecenie do wykonania w powłoce adb. Polecenia te mają postać opisane w temacie Android Debug Bridge.
Zwroty
  • Wyniki polecenia (jeśli jest dostępne). Format wyników jest określany na podstawie .

nieważne . startActivity ( identyfikator URI string, string action, string, string (typ MIME), Kategorie iterowalne dodatki słownik, komponent, flagi iterable) .

Uruchamia aktywność na tym urządzeniu, wysyłając intencję utworzoną na podstawie podane argumenty.

Argumenty
identyfikator URI Identyfikator URI intencji. (patrz Intent.setData()).
działanie Działanie związane z intencją (patrz Intent.setAction()).
dane Identyfikator URI danych intencji (patrz Intent.setData()).
typ MIME Typ MIME intencji (patrz Intent.setType()).
kategorie iteracyjną strukturę danych zawierającą ciągi tekstowe definiujące kategorie; Zamiar (zobacz Intent.addCategory()).
dodatki Słownik dodatkowych danych na potrzeby intencji (zobacz Intent.putExtra() ).

Klucz każdego elementu słownika powinien być ciągiem znaków. Wartość elementu może być dowolnym prostym lub uporządkowanym typem danych.

składnik Komponent intencji (patrz ComponentName). Użycie tego argumentu spowoduje kierowanie Intencja dotycząca określonej klasy w konkretnym pakiecie na Androida.
flagi Iteracyjna struktura danych zawierająca flagi, które kontrolują sposób obsługi intencji (patrz Intent.setFlags()).

MonkeyImage Zrób zrzut ekranu ()

Przechwytuje cały bufor ekranu urządzenia, uzyskując aktualnego wyświetlacza.

Zwroty
  • Za MonkeyImage zawierający obraz aktualnie wyświetlanego obrazu.

nieważne . dotyk ( liczba całkowita x, integer y, ciąg znaków) .

Wysyła zdarzenie dotknięcia określone według typu do wskazanej lokalizacji ekranu przez x i y.

Argumenty
x Pozioma pozycja dotyku w pikselach urządzenia, zaczynająca się od lewej strony wyświetlić ekran w bieżącej orientacji.
Y Pionowa pozycja dotyku w pikselach urządzenia, zaczynając od góry wyświetlić ekran w bieżącej orientacji.
typ Typ kluczowego zdarzenia do wysłania. Dozwolone wartości to DOWN, UP i DOWN_AND_UP

nieważne . type (komunikat string) .

Wysyła znaki zawarte w wiadomości do tego urządzenia w taki sposób, jakby została wpisana na klawiaturze urządzenia. Odpowiada to wywołaniu press() dla każdego kodu klucza w message za pomocą typu kluczowego zdarzenia DOWN_AND_UP.

Argumenty
wiadomość Ciąg tekstowy zawierający znaki do wysłania.

nieważne . wybudzenie () .

Wybudza ekran tego urządzenia.


Dodatek

Tabela 1. Nazwy zmiennych usługi używane z: getproperty() i getSystemProperty().

Grupa usług Właściwość Opis Uwagi
build board Nazwa kodowa płyty systemowej urządzenia Zobacz: Build
brand Operator lub dostawca, dla którego dostosowany jest system operacyjny.
device Nazwa projektu urządzenia.
fingerprint Unikalny identyfikator uruchomionej aktualnie kompilacji.
host
ID Numer lub etykieta na liście zmian.
model Nazwa urządzenia widoczna dla użytkownika.
product Ogólna nazwa produktu.
tags Rozdzielone przecinkami tagi opisujące kompilację, na przykład „un signed” (bez podpisu). i „debugowanie”.
type Typ kompilacji, na przykład „użytkownik”. lub „eng”.
user
CPU_ABI Nazwa zestawu instrukcji kodu natywnego w formacie: typ procesora plus ABI.
manufacturer Producent produktu lub sprzętu.
version.incremental Kod wewnętrzny używany przez system kontroli źródła do reprezentowania tej wersji za jego pomocą.
version.release Nazwa widoczna dla użytkownika danej wersji oprogramowania.
version.sdk Widoczna dla użytkowników wersja pakietu SDK powiązana z tą wersją systemu operacyjnego.
version.codename Obecny kryptonim dla programistów lub „REL”. jeśli ta wersja oprogramowania została został zwolniony.
display width Szerokość wyświetlacza urządzenia w pikselach. Zobacz DisplayMetrics, aby wyświetlić szczegóły.
height Wysokość wyświetlacza urządzenia w pikselach.
density Logiczna gęstość wyświetlacza. Jest to czynnik, który skaluje się DIP (piksele niezależne od gęstości) do rozdzielczości urządzenia. DIP jest dostosowywany tak, że 1 DIP to 1 piksel na wyświetlaczu o przekątnej 160 pikseli na cal. Przykład: na ekranie o rozdzielczości 160 dpi, gęstość = 1,0, a na ekranie 120 dpi – gęstość = 0,75.

Wartość nie jest dokładnie zgodna z rzeczywistym rozmiarem ekranu, ale jest dostosowywana do do dużych zmian DPI wyświetlacza. Zobacz density, aby uzyskać więcej informacji.

am.current package Nazwa obecnie uruchomionego pakietu na Androida. Klucze am.current zwracają informacje o aktualnie uruchomionym kluczu Aktywność.
action Działanie bieżącego działania. Ma taki sam format jak name elementu action w pliku manifestu pakietu.
comp.class Nazwa klasy komponentu, który rozpoczął bieżące działanie. Zobacz comp.package, aby uzyskać więcej informacji.
comp.package Nazwa pakietu komponentu, który rozpoczął bieżące działanie. Komponent jest określana przez nazwę pakietu i nazwę klasy, którą zawiera.
data Dane (jeśli istnieją) zawarte w intencji, która rozpoczęła bieżącą aktywność.
categories Kategorie określone przez intencję, która rozpoczęła bieżącą aktywność.
clock realtime Liczba milisekund od ponownego uruchomienia urządzenia, w tym tryb głębokiego uśpienia obecnie się znajdujesz. Aby dowiedzieć się więcej, przeczytaj SystemClock.
uptime Liczba milisekund od ponownego uruchomienia urządzenia, bez wliczania czas głębokiego snu
millis czas od początku epoki systemu UNIX (w milisekundach).