Dziwna funkcja w ActivityManager: isUserAMonkey. Co to oznacza, jakie jest jego zastosowanie?


144

W pakiecie znalazłem następującą funkcję android.app.ActivityManager.

public static boolean isUserAMonkey ()

Odniesienie opisuje:

public static boolean isUserAMonkey () Od: API Level 8

Zwraca wartość „true”, jeśli interfejs użytkownika jest obecnie modyfikowany przez małpę.

Byłem zszokowany tą dziwną funkcją. I mam kilka pytań.

  • Co to oznacza (interfejs użytkownika jest obecnie modyfikowany przez małpę)?

  • Jakie jest praktyczne zastosowanie tej funkcji?

  • Dlaczego używają isUserAMonkeynazwy funkcji?


Brak odpowiedniej dokumentacji. Więc jak możemy użyć tej funkcji. Powinni uzyskać przegląd swojej dokumentacji.
Mahendran

Według odpowiedzi HefferWolfa ta metoda jest używana do automatycznego testowania frameworka Androida (tak mi się wydaje), więc w ogóle nie musimy korzystać z tej funkcji ... więc nie ma potrzeby posiadania PRAWIDŁOWEJ dokumentacji.
gtiwari333

10
Wstrząśnij małpą
Jeff Axelrod

Wydaje mi się, że to kod testowy, który wyciekł do bibliotek produkcyjnych, w tym przypadku ActivityManager. Posiadanie wiedzy na temat kodu produkcyjnego o tym, czy jest obecnie testowany, i przypuszczalnie zmienianie jego działań w jakikolwiek sposób w oparciu o tę wiedzę, która działa przeciwko całemu punktowi kodu testowego, który łatwo prowadzi do Hisenbugs. Dodaje również okrucieństwo do API, utrudniając zrozumienie i utrzymanie. Fakt, że to pytanie SO istnieje, jest wystarczającym dowodem.
Melinda Green

Śmiałem się, kiedy zobaczyłem tę metodę
Marcos Vasconcelos

Odpowiedzi:



33

The Monkey to program, który działa na emulatorze lub urządzeniu i generuje pseudolosowe strumienie zdarzeń użytkownika, takich jak kliknięcia, dotknięcia lub gesty, a także szereg zdarzeń na poziomie systemu. Możesz użyć Monkey do testowania aplikacji, które tworzysz, w losowy, ale powtarzalny sposób.

po prostu odsyłaj te linki również:

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.