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

145

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

public static boolean isUserAMonkey ()

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

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

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

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

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

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

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

gtiwari333
источник
Нет надлежащей документации. Тогда как мы можем использовать функцию. Они должны проверить свою документацию.
Махендран
согласно ответу HefferWolf, этот метод используется для некоторого автоматического тестирования фреймворка Android (я думаю), поэтому нам вообще не нужно использовать эту функцию ... поэтому нет необходимости в ПРАВИЛЬНОЙ документации.
gtiwari333
10
Shock the monkey
Джефф Аксельрод
Мне это кажется тестовым кодом, который просочился в производственные библиотеки, в данном случае ActivityManager. Если ваш производственный код осведомлен о том, тестируется ли он в настоящее время, и, предположительно, изменяет его действия каким-либо образом на основе этих знаний, работает против всей точки тестового кода, что легко приводит к Hisenbugs. Это также добавляет беспорядка к API, что затрудняет понимание и поддержку. Тот факт, что этот вопрос ТАК вообще существует, является достаточным доказательством.
Мелинда Грин
Я засмеялся, когда увидел этот метод
Маркос Васконселос

Ответы:

94

Этот метод предназначен для проверки того, является ли текущий пользователь тестовым пользователем, с помощью некоторого автоматического тестирования, которое разработчики Android называют «обезьяной» .

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

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

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

харикришнан
источник