ОбезьянаУстройство

Класс 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 .
пустота будить ()
Пробуждает экран этого устройства.

Константы

строка ВНИЗ

значение press() или touch() . Указывает, что на устройство должно быть отправлено событие типа ВНИЗ, соответствующее нажатию клавиши или прикосновению к экрану.

строка ВВЕРХ

значение press() или touch() . Указывает, что на устройство должно быть отправлено событие типа UP, соответствующее отпусканию клавиши или поднятию экрана.

строка DOWN_AND_UP

Значение press() , touch() или type() . Указывает, что на устройство следует отправлять тип события ВНИЗ, за которым следует тип события ВВЕРХ, соответствующий вводу клавиши или щелчку по экрану.

Публичные методы

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.

Это значение не совсем соответствует реальному размеру экрана, но корректируется в соответствии с большими изменениями разрешения дисплея. См. density для более подробной информации.

am.current package Имя пакета Android, работающего в данный момент. Ключи am.current возвращают информацию о текущем действии.
action Действие текущего действия. Он имеет тот же формат, что и атрибут name элемента action в манифесте пакета.
comp.class Имя класса компонента, запустившего текущее действие. См. comp.package для получения более подробной информации.
comp.package Имя пакета компонента, запустившего текущее действие. Компонент указывается именем пакета и именем класса, который содержит пакет.
data Данные (если таковые имеются), содержащиеся в намерении, которое запустило текущее действие.
categories Категории, указанные намерением, которое запустило текущее действие.
clock realtime Количество миллисекунд с момента перезагрузки устройства, включая время глубокого сна. См. SystemClock для получения дополнительной информации.
uptime Количество миллисекунд с момента перезагрузки устройства, не включая время глубокого сна.
millis текущее время, начиная с эпохи UNIX, в миллисекундах.