Странная функция в ActivityManager: isUserAMonkey. Что это значит, в чем его польза?


145

Я нашел в пакете следующую функцию android.app.ActivityManager.

public static boolean isUserAMonkey ()

Ссылка описывает:

public static boolean isUserAMonkey () Начиная с: API уровня 8

Возвращает "истину", если в пользовательский интерфейс в настоящее время вмешивается обезьяна.

Меня потрясла эта странная функция. И есть несколько вопросов.

  • Что это означает (пользовательский интерфейс в настоящее время испорчен обезьяной)?

  • Какая практическая польза от этой функции?

  • Почему они используют isUserAMonkeyимя функции?


Нет надлежащей документации. Тогда как мы можем использовать функцию. Они должны проверить свою документацию.
Махендран

согласно ответу HefferWolf, этот метод используется для некоторого автоматического тестирования фреймворка Android (я думаю), поэтому нам вообще не нужно использовать эту функцию ... поэтому нет необходимости в ПРАВИЛЬНОЙ документации.
gtiwari333

10
Shock the monkey
Джефф Аксельрод

Мне это кажется тестовым кодом, который просочился в производственные библиотеки, в данном случае ActivityManager. Если ваш производственный код осведомлен о том, тестируется ли он в настоящее время, и, предположительно, изменяет его действия каким-либо образом на основе этих знаний, работает против всей точки тестового кода, что легко приводит к Hisenbugs. Это также добавляет беспорядка к API, что затрудняет понимание и поддержку. Тот факт, что этот вопрос ТАК вообще существует, является достаточным доказательством.
Мелинда Грин

Я засмеялся, когда увидел этот метод
Маркос Васконселос

Ответы:


94

18
В яблочко. Стоит увидеть эту страницу: developer.android.com/guide/developing/tools/monkey.html
Киби

33

The Monkey - это программа, которая запускается на вашем эмуляторе или устройстве и генерирует псевдослучайные потоки пользовательских событий, таких как щелчки, прикосновения или жесты, а также ряд событий системного уровня. Вы можете использовать Monkey для стресс-тестирования приложений, которые вы разрабатываете, случайным, но повторяемым образом.

просто обратитесь также к этим ссылкам:

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.