2011-07-15 11 views
5

narzędzia SDK Po aktualizacji do rewizji 12, Po podłączeniu do monkeyrunner i sposób wykorzystanie prasy jak device.press ('KEYCODE_HOME', 'w dół') dostanie błąd msgCo 3rd argument monkeyrunner.press

Traceback (ostatnie ostatnie połączenie): Plik "", linia 1, w TypeError: naciśnij: wymagany jest trzeci argument.

Ale ja sprawdzam sdk doc, że prasa zawiera tylko dwa argumenty. jest to problem spowodowany przez nowe narzędzie SDK do wersji.

+0

Widzę ten sam błąd. Sprawdzając źródła, wydaje się, że tylko 2 są wymagane. Bardzo dziwny. – Matthias

+0

Wygląda jak błąd w monkeyrunner. Po prostu dodaj pusty łańcuch jako trzeci argument, który zadziała. – Matthias

Odpowiedz

3

Aby nacisnąć klawisz przy użyciu małpiego biegacza, musisz użyć czegoś takiego jak device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP), nie musisz dodawać trzeciego argumentu.

Być może twój problem to, że uzywasz 'DOWN' zamiast MonkeyDevice.DOWN

+0

ma ten sam problem, 2.3.3 – atian25

+0

Spójrz na kod źródłowy urządzenia monkeyrunner na http://android.git.kernel.org/?p=platform/sdk.git;a=blob;f=monkeyrunner/ src/com/android/monkeyrunner/MonkeyDevice.java na podstawie tego, co mogę powiedzieć, wydaje się mówić, że prasa potrzebuje tylko 2 argumentów. Być może jednak pomocne może się okazać, co jest nie tak. – someoneHuman

+0

To rozwiązanie działa dla mnie. –

1

Aby nacisnąć klawisz użyciu małpa biegacza trzeba użyć czegoś podobnego device.press („KEYCODE_HOME”, „down”,”„), który nie zrobił nie dostaniesz żadnego błędu.

Trzeci argument będzie tutaj pusty.

2

W rzeczywistości trzeci argument jest również ciągiem wskazującym typ prasy. Jest stałym MonkeyDevice: DOWN, UP i DOWN_AND_UP

Jeśli nie chcesz importować MonkeyDevice go używać tylko na tym, prawidłowy ciąg, który będzie używany w Monkeyrunner powinny być 'down', 'up' i 'downAndUp'.

Są one zdefiniowane w klasie enum ChimpChat.TouchPressType. Tu poniżej jest jego kod źródłowy częściowy:

public enum TouchPressType { 
    DOWN("down"), UP("up"), DOWN_AND_UP("downAndUp"); 
... 
} 
0

Trzeba dodać MonkeyDevice

Na przykład komenda paste będzie wyglądać następująco.

device.press('KEYCODE_PASTE',MonkeyDevice.DOWN) 
Powiązane problemy