Как ввести текст в текстовое поле с помощью monkeyrunner

Я хотел ввести текст в текстовое поле в своем приложении для Android. Я установил приложение, а на второй странице я хотел выполнить поиск в некоторых местах. Для этого мне нужно ввести текст.

I tried `device.press('KEYCODE_BUTTON_SELECT',MonkeyDevice.DOWN_AND_UP)
device.press('KEYCODE_i','DOWN_AND_UP')
device.press('KEYCODE_n','DOWN_AND_UP')
device.press('KEYCODE_d','DOWN_AND_UP')
device.press('KEYCODE_i','DOWN_AND_UP')
device.press('KEYCODE_a','DOWN_AND_UP')

или Device.type(Индия)`

Но эти команды не работают для моего приложения. Он не вводит строку «Индия» в текст моего приложения. Но это работает с собственным текстом поиска телефона.

Я установил Android View Client и импортировал следующие вещи

import from com.dtmilano.android.view client import View Client
from com.android.monkey runner import Monkey Runner, Monkey Device

Затем я написал такой код

vc = ViewClient(device)
vc.dump()
address= vc.findViewById('search')
address.type('india')

Но он показывает ошибку: объект «Нет типа» не имеет атрибута «тип».

Можете ли вы помочь мне в этом.


person user1722227    schedule 17.10.2012    source источник


Ответы (1)


Вы можете использовать:

address = vc.findViewByIdOrRaise('search')

чтобы не проверять не найденное поле address. Кроме того, я думаю, что идентификатор 'id/search'.

И, наконец, слово предупреждения о:

address.type('india')

Это EditText.type(), поэтому вы должны быть уверены, что address является EditText.

print address.getClass()

в противном случае вы можете использовать

address.touch() # to focus it
device.type('india')

или (потому что иногда type() задыхается)

address.touch() # to focus it
for c in 'india':
    device.type(c)
person Diego Torres Milano    schedule 18.10.2012
comment
Привет, я попробовал следующий код. Он не набирает слово Индия и показывает предупреждение одного пользователя Неподдерживаемая версия Android 10 address = vc.findViewByIdOrRaise('id/search') address.touch() device.type('india') - person user1722227; 18.10.2012
comment
address = vc.findViewByIdOrRaise('search') address.type('india').. Отображается ошибка атрибута. Тип ошибки атрибута - person user1722227; 18.10.2012
comment
Я сказал вам убедиться, что address на самом деле является EditText или использовать подход device.type() - person Diego Torres Milano; 18.10.2012
comment
Каков результат печати address.getClass()? - person Diego Torres Milano; 19.10.2012
comment
На самом деле текстовое поле AutoCompleteTextView. Там я хочу что-то напечатать. Можете ли вы помочь мне в этом. - person user1722227; 05.11.2012