MonkeyRunner: простой способ определения координат для сенсорной команды MonkeyDevice? - PullRequest
8 голосов
/ 04 февраля 2012

Я начал создавать скрипт MonkeyRunner.Все идет хорошо, но всякий раз, когда я добавляю команду MonkeyDevice :: touch, мне приходится определять входные координаты методом проб и ошибок.В основном я предполагаю координаты, к которым я хочу прикоснуться, и проверяю, не приводят ли эти координаты к нажатию кнопки, которое я пытаюсь проверить.Это работает, но это медленный процесс.В любом случае можно определить координаты элементов управления пользовательского интерфейса, возможно, из файлов макета XML?

Ответы [ 6 ]

7 голосов
/ 07 февраля 2012

Я нашел, как это сделать. Используйте представление Pixel Perfect в Eclipse, чтобы определить координаты x & y элемента пользовательского интерфейса. Вот краткий обзор: 1) Eclipse должен быть запущен 2) Ваше устройство Android должно быть подключено (реальное устройство через ADB или эмулятор) 3) Запустите средство просмотра иерархии (в / tools) 4) Выберите «Проверить скриншот» Представление Pixel Perfect запустится автоматически. Просто поместите перекрестие на элемент пользовательского интерфейса. Координаты x и y вместе со значениями RGB показаны ниже.

Вот URL, с которого я начал: http://developer.android.com/guide/developing/debugging/debugging-ui.html#pixelperfect

4 голосов
/ 07 февраля 2012

Этот пост ( monkeyrunner: взаимодействие с представлениями ) может дать вам представление о том, как получить координаты представления, используя AndroidViewClient .

1 голос
/ 02 августа 2012

вы также можете использовать инструмент HierarchyViewer в вашей папке AndroidSDK> tools, чтобы делать снимки экрана текущего экрана и просматривать это изображение попиксельно, чтобы получить точные координаты.

1 голос
/ 17 мая 2012

В большинстве версий Android вы можете включить указатель местоположения в Settings->Developer Options. Как только вы включите его, легко узнать координаты (x,y).

0 голосов
/ 20 апреля 2016

Создайте файл xyz.py с приведенным ниже кодом, подключите устройство и запустите его в терминале, например, monkeyrunner xyz.py, затем вы получите свое устройство на ПК, а затем нажмите любую кнопку на рекордере, чтобы получитькоординаты, после этого исследуйте его в любом файле, и вы можете использовать координаты.

from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder
device = mr.waitForConnection()
recorder.start(device)
0 голосов
/ 05 ноября 2013

Для устройств старше Android 4.0 см. Параграф, следующий за этим.Android 4.0 и более поздние версии включают в себя Настройки-> Параметры разработчика-> Переключатель положения указателя, который переключает прозрачную ленту в верхней части экрана устройства с координатами, скоростями и показаниями давления прикосновения, включая дорожки смахивания и перекрестные перекрестки x / y для текущего положения касания.Это намного проще, чем использовать альтернативы, такие как Monkey Recorder и другие средства.В Android 4.2 и более поздних версиях «Параметры разработчика» скрыты в меню «Настройки», и их необходимо включить, перейдя в «Настройки» -> «О планшете» и коснувшись номера сборки 7 раз.Можно только предположить, что Android скрыл параметры разработчика из-за все более влияющих на пользовательский интерфейс параметров и количества обращений / жалоб потребителей к производителям устройств от людей, которые играли с ним или чьи дети играли с ним.

В более старых версиях, которые могут не включать в себя указатель местоположения указателя, в Play Store (он же Android Market) есть приложение «Инструменты разработчика».См. Ссылку здесь: https://play.google.com/store/apps/details?id=com.ggb.development Он будет отображаться со значком шестеренки и надписью Dev Tools на устройстве и предоставит аналогичную функциональность, которая есть у Dev Tools в AVD (Android Virtual Device).Включает переключатель «Инструменты разработки» -> «Настройки разработки»> «Нет местоположения указателя / Местоположение указателя».Установка этого переключателя в положение указателя обеспечивает точно такую ​​же функциональность, встроенную в Android 4.0 и более поздние версии.Это же приложение также имеет более ограниченную настройку указателя в Dev Tools-> Pointer Location, которая ограничивает местоположение указателя только пустым экраном.

Наслаждайтесь!

...