Класс Monkeyrunner, представляющий устройство или эмулятор, доступный рабочей станции, на которой работает monkeyrunner
.
Этот класс используется для управления устройством Android или эмулятором. Эти методы отправляют события пользовательского интерфейса, извлекают информацию, устанавливают и удаляют приложения, а также запускают приложения.
Обычно вам не нужно создавать экземпляр MonkeyDevice
. Вместо этого вы используете MonkeyRunner.waitForConnection()
для создания нового объекта из подключения к устройству или эмулятору. Например, вместо использования:
newdevice = MonkeyDevice()
вы бы использовали:
newdevice = MonkeyRunner.waitForConnection()
Краткое содержание
Константы | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
нить | ВНИЗ | Используйте это с аргументом type press() или touch() для отправки события DOWN. | |||||||||
нить | ВВЕРХ | Используйте это с аргументом type press() или touch() для отправки события UP. | |||||||||
нить | ВНИЗ_И_ВВЕРХ | Используйте это с аргументом type press() или touch() , чтобы отправить событие DOWN, за которым сразу же следует событие UP. |
Методы | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| BroadcastIntent (URI строки , строковое действие, строковые данные, строковый mimetype, дополнительные словари повторяемых категорий, компонент компонента, повторяемые флаги) Транслирует намерение на это устройство, как если бы оно исходило от приложения. | ||||||||||
| перетаскивание (начало кортежа , конец кортежа , длительность плавающего числа , целочисленные шаги) Имитирует жест перетаскивания (касание, удержание и перемещение) на экране этого устройства. | ||||||||||
объект | getProperty ( строковый ключ) Учитывая имя системной переменной среды, возвращает ее значение для этого устройства. Доступные имена переменных перечислены в подробном описании этого метода. | ||||||||||
объект | getSystemProperty ( строковый ключ) . API-эквивалент adb shell getprop <key>. This is provided for use by platform developers. | ||||||||||
| installPackage ( строковый путь) Устанавливает приложение Android или тестовый пакет, содержащийся в packageFile, на это устройство. Если приложение или тестовый пакет уже установлены, они заменяются. | ||||||||||
словарь | инструмент ( строка className, аргументы словаря ) Запускает указанный компонент с помощью инструментов Android и возвращает результаты в словаре, точный формат которого определяется запускаемым компонентом. Компонент уже должен присутствовать на этом устройстве. | ||||||||||
| нажмите (имя строки , тип словаря ) Отправляет событие ключа, указанное типом, на ключ, указанный кодом ключа. | ||||||||||
| перезагрузка ( строка в) Перезагружает это устройство в загрузчик, указанный в параметре bootloadType. | ||||||||||
| RemovePackage (пакет строк ) Удаляет указанный пакет с этого устройства, включая его данные и кэш. | ||||||||||
объект | оболочка ( строка cmd) Выполняет команду оболочки adb и возвращает результат, если таковой имеется. | ||||||||||
| startActivity ( строковый uri, строковое действие, строковые данные, строковый mimetype, дополнительные словари итерируемых категорий, компонент компонента, флаги ) Запускает действие на этом устройстве, отправляя намерение, созданное на основе предоставленных аргументов. | ||||||||||
MonkeyImage | сделать снимок () Захватывает весь буфер экрана этого устройства, создавая объект MonkeyImage , содержащий снимок экрана текущего дисплея. | ||||||||||
| touch ( целое число x, целое число y, целочисленный тип) Отправляет событие касания, указанное типом, в местоположение экрана, указанное x и y. | ||||||||||
| тип ( строковое сообщение) Отправляет символы, содержащиеся в сообщении, на это устройство, как если бы они были набраны на клавиатуре устройства. Это эквивалентно вызову press() для каждого кода клавиши в message с использованием типа события клавиши. DOWN_AND_UP . | ||||||||||
| будить () Пробуждает экран этого устройства. |
Константы
строка ВНИЗ
строка ВВЕРХ
строка DOWN_AND_UP
Публичные методы
void BroadcastIntent (URI строки , строковое действие, строковые данные, строковый mimetype, дополнительные словари повторяемых категорий, компонент компонента, повторяемые флаги)
Транслирует намерение на это устройство, как если бы оно исходило от приложения. См. Intent
для получения дополнительной информации об аргументах.
Аргументы
ури | URI для намерения. (см. Intent.setData() ). |
---|---|
действие | Действие для этого намерения (см. Intent.setAction() ). |
данные | URI данных для этого намерения (см. Intent.setData() ). |
мимтип | Тип MIME для намерения (см. Intent.setType() ). |
категории | Итерируемая структура данных, содержащая строки, определяющие категории для этого намерения (см. Intent.addCategory() ). |
дополнительные услуги | Словарь дополнительных данных для этого намерения (пример см. Intent.putExtra() ).Ключом для каждого элемента словаря должна быть строка . Значением элемента может быть любой простой или структурированный тип данных. |
компонент | Компонент для этого намерения (см. ComponentName ). Использование этого аргумента направит намерение на определенный класс в конкретном пакете Android. |
флаги | Итерируемая структура данных, содержащая флаги, управляющие обработкой намерения (см. Intent.setFlags() ). |
void перетаскивание (начало кортежа , конец кортежа , длительность плавающего числа , целочисленные шаги)
Имитирует жест перетаскивания (касание, удержание и перемещение) на экране этого устройства.
Аргументы
начинать | Начальная точка жеста перетаскивания в виде кортежа (x,y), где x и y — целые числа . |
---|---|
конец | Конечная точка жеста перетаскивания в виде кортежа (x,y), где x и y — целые числа . |
продолжительность | Длительность жеста перетаскивания в секундах. Значение по умолчанию — 1,0 секунды. |
шаги | Количество шагов, которые необходимо выполнить при интерполяции точек. По умолчанию — 10. |
объект getProperty ( строковый ключ)
Учитывая имя системной переменной среды, возвращает ее значение для этого устройства.
Аргументы
ключ | Имя системной переменной среды. Доступные имена переменных перечислены в Таблице 1. Имена переменных свойств приведены в конце этого раздела. |
---|
Возврат
- Значение переменной. Формат данных варьируется в зависимости от запрошенной переменной.
объект getSystemProperty ( строковый ключ)
Синоним getProperty()
.
Аргументы
ключ | Имя системной переменной среды. Доступные имена переменных перечислены в Таблице 1. Имена переменных свойств . |
---|
Возврат
- Значение переменной. Формат данных варьируется в зависимости от запрошенной переменной.
void installPackage ( строковый путь)
Устанавливает приложение Android или тестовый пакет, содержащийся в packageFile, на это устройство. Если приложение или тестовый пакет уже установлены, они заменяются.
Аргументы
путь | Полный путь и имя файла .apk для установки. |
---|
инструмент словаря ( строка className, аргументы словаря )
Запускает указанный компонент с помощью инструментов Android и возвращает результаты в словаре, точный формат которого определяется запускаемым компонентом. Компонент уже должен присутствовать на этом устройстве.
Используйте этот метод, чтобы запустить тестовый пример, в котором используется один из классов тестовых сценариев Android. См. раздел «Основы тестирования» , чтобы узнать больше о модульном тестировании с помощью среды тестирования Android.
Аргументы
имя класса | Имя компонента Android, который уже установлен на этом устройстве, в стандартной форме имя_пакета/имя_класса, где имя_пакета — это имя пакета Android для файла .apk на этом устройстве, а имя_класса — это имя класса компонента Android (Activity). , ContentProvider, Service или BroadcastReceiver) в этом файле. И имя пакета, и имя класса должны быть полными. См. ComponentName для получения более подробной информации. |
---|---|
аргументы | Словарь, содержащий флаги и их значения. Они передаются компоненту при его запуске. Если флаг не принимает значения, установите его словарное значение в пустую строку. |
Возврат
Словарь, содержащий выходные данные компонента. Содержимое словаря определяется самим компонентом.
Если вы используете
InstrumentationTestRunner
в качестве имени класса в аргументе имя_компонента, словарь результатов будет содержать единственный ключ «поток». Значение «stream» — это строка , содержащая выходные данные теста, как если быInstrumentationTestRunner
запускался из командной строки. Формат этого вывода описан в разделе «Тестирование в других IDE» .
void press (имя строки , целочисленный тип)
Отправляет событие ключа, указанное type
, на ключ, указанный keycode
.
Аргументы
имя | Имя кода ключа для отправки. См. KeyEvent для получения списка имен кодов клавиш. Используйте имя кода ключа, а не его целочисленное значение. |
---|---|
тип | Тип ключевого события для отправки. Допустимые значения: DOWN , UP и DOWN_AND_UP . |
недействительная перезагрузка ( строка bootloadType)
Перезагружает это устройство в загрузчик, указанный в bootloadType
.
Аргументы
в | Тип загрузчика для перезагрузки. Допустимые значения: «загрузчик», «восстановление» или «Нет». |
---|
void RemovePackage (пакет строк )
Удаляет указанный пакет с этого устройства, включая его данные и кэш.
Аргументы
упаковка | Имя пакета Android для файла .apk на этом устройстве. |
---|
оболочка объекта ( строка cmd)
Выполняет команду оболочки adb
и возвращает результат, если таковой имеется.
Аргументы
cmd | Команда для выполнения в оболочке adb . Форма этих команд описана в теме Android Debug Bridge . |
---|
Возврат
- Результаты команды, если таковые имеются. Формат результатов определяется командой.
void startActivity (URI строки , строковое действие, строковые данные, строковый mimetype, дополнительные словари повторяемых категорий, компонент компонента, повторяемые флаги)
Запускает действие на этом устройстве, отправляя намерение, созданное на основе предоставленных аргументов.
Аргументы
ури | URI для намерения. (см. Intent.setData() ). |
---|---|
действие | Действие для намерения (см. Intent.setAction() ). |
данные | URI данных для намерения (см. Intent.setData() ). |
мимтип | Тип MIME для намерения (см. Intent.setType() ). |
категории | Итерируемая структура данных, содержащая строки, которые определяют категории для намерения (см. Intent.addCategory() ). |
дополнительные услуги | Словарь дополнительных данных для намерения (пример см. Intent.putExtra() ).Ключом для каждого элемента словаря должна быть строка . Значением элемента может быть любой простой или структурированный тип данных. |
компонент | Компонент для намерения (см. ComponentName ). Использование этого аргумента направит намерение на определенный класс в конкретном пакете Android. |
флаги | Итерируемая структура данных, содержащая флаги, управляющие обработкой намерения (см. Intent.setFlags() ). |
MonkeyImage
takeSnapshot ()
Захватывает весь буфер экрана этого устройства, создавая снимок экрана текущего дисплея.
Возврат
- Объект MonkeyImage , содержащий изображение текущего дисплея.
void touch ( целое число x, целое число y, тип строки )
Отправляет событие касания, указанное типом, в местоположение экрана, указанное x и y.
Аргументы
х | Горизонтальное положение касания в реальных пикселях устройства, начиная с левой части экрана в его текущей ориентации. |
---|---|
й | Вертикальное положение касания в реальных пикселях устройства, начиная с верхней части экрана в его текущей ориентации. |
тип | Тип ключевого события для отправки. Допустимые значения: DOWN , UP и DOWN_AND_UP . |
тип void ( строковое сообщение)
Отправляет символы, содержащиеся в сообщении, на это устройство, как если бы они были набраны на клавиатуре устройства. Это эквивалентно вызову press()
для каждого кода клавиши в message
с использованием типа события клавиши DOWN_AND_UP
.
Аргументы
сообщение | Строка, содержащая символы для отправки. |
---|
пустота пробуждения ()
Пробуждает экран этого устройства.
Приложение
Таблица 1. Имена переменных свойств, используемые с getProperty() и getSystemProperty() .
Группа недвижимости | Свойство | Описание | Примечания |
---|---|---|---|
build | board | Кодовое название системной платы устройства | См. Build |
brand | Оператор связи или провайдер, для которого настроена ОС. | ||
device | Название конструкции устройства. | ||
fingerprint | Уникальный идентификатор текущей сборки. | ||
host | |||
ID | Номер или метка списка изменений. | ||
model | Имя устройства, видимое конечному пользователю. | ||
product | Общее название продукта. | ||
tags | Теги, разделенные запятыми, описывающие сборку, например «без знака» и «отладка». | ||
type | Тип сборки, например «пользователь» или «eng». | ||
user | |||
CPU_ABI | Имя набора инструкций собственного кода в формате «тип ЦП плюс соглашение ABI». | ||
manufacturer | Производитель продукта/оборудования. | ||
version.incremental | Внутренний код, используемый системой контроля версий для представления этой версии программного обеспечения. | ||
version.release | Видимое пользователю имя этой версии программного обеспечения. | ||
version.sdk | Видимая пользователем версия SDK, связанная с этой версией ОС. | ||
version.codename | Текущее кодовое имя разработки или «REL», если эта версия программного обеспечения была выпущена. | ||
display | width | Ширина дисплея устройства в пикселях. | Подробности см. в DisplayMetrics . |
height | Высота дисплея устройства в пикселях. | ||
density | Логическая плотность отображения. Это фактор, который масштабирует единицы DIP (независимые от плотности пикселей) в соответствии с разрешением устройства. DIP настроен таким образом, что 1 DIP эквивалентен одному пикселю на дисплее с разрешением 160 пикселей на дюйм. Например, на экране с разрешением 160 точек на дюйм плотность = 1,0, а на экране с разрешением 120 точек на дюйм плотность = 0,75. Это значение не совсем соответствует реальному размеру экрана, но корректируется в соответствии с большими изменениями разрешения дисплея. См. | ||
am.current | package | Имя пакета Android, работающего в данный момент. | Ключи am.current возвращают информацию о текущем действии. |
action | Действие текущего действия. Он имеет тот же формат, что и атрибут name элемента action в манифесте пакета. | ||
comp.class | Имя класса компонента, запустившего текущее действие. См. comp.package для получения более подробной информации. | ||
comp.package | Имя пакета компонента, запустившего текущее действие. Компонент указывается именем пакета и именем класса, который содержит пакет. | ||
data | Данные (если таковые имеются), содержащиеся в намерении, которое запустило текущее действие. | ||
categories | Категории, указанные намерением, которое запустило текущее действие. | ||
clock | realtime | Количество миллисекунд с момента перезагрузки устройства, включая время глубокого сна. | См. SystemClock для получения дополнительной информации. |
uptime | Количество миллисекунд с момента перезагрузки устройства, не включая время глубокого сна. | ||
millis | текущее время, начиная с эпохи UNIX, в миллисекундах. |