Я запускаю AndroidViewClient и могу вывести полную иерархию, но что-то не получается, когда я пытаюсь получитьXY() или touch(). Даже решение из Получить текущее имя сфокусированного окна с помощью AndroidViewClient дает мне ошибка.
kwargs1 = {'verbose': True, 'ignoresecuredevice': True}
kwargs2 = {'startviewserver': True, 'forceviewserveruse': True,
'autodump': False, 'ignoreuiautomatorkilled': True}
device, serialno = ViewClient.connectToDeviceOrExit(**kwargs1)
vc = ViewClient(device, serialno, **kwargs2)
view = vc.dump(window='-1')
widget = vc.findViewByIdOrRaise("id/no_id/5")
widget.useUiAutomator = False
print widget
# Up until here runs no problem.
print widget.getXY() # fails.
widget.touch() # also fails.
Моя трассировка стека выглядит примерно так:
напечатать виджет.getXY()
Файл "/usr/local/lib/python2.7/dist-packages/androidviewclient-11.5.3-py2.7.egg/com/dtmilano/android/viewclient.py", строка 680, в getXY (wvx, wvy) = self.__dumpWindowsInformation(отладка=отладка)
Файл "/usr/local/lib/python2.7/dist-packages/androidviewclient-11.5.3-py2.7.egg/com/dtmilano/android/viewclient.py", строка 798, в __dumpWindowsInformation
dww = self.device.shell('dumpsys window windows')
Файл "/usr/local/lib/python2.7/dist-packages/androidviewclient-11.5.3-py2.7.egg/com/dtmilano/android/adb/adbclient.py", строка 377, в оболочке
self.__send('shell:%s' % cmd, checkok=True, reconnect=False)
Файл "/usr/local/lib/python2.7/dist-packages/androidviewclient-11.5.3-py2.7.egg/com/dtmilano/android/adb/adbclient.py", строка 243, в __send
self.__checkOk()
Файл "/usr/local/lib/python2.7/dist-packages/androidviewclient-11.5.3-py2.7.egg/com/dtmilano/android/adb/adbclient.py", строка 286, в __checkOk
raise RuntimeError("ERROR: %s %s" % (repr(recv), error))
Ошибка выполнения: ОШИБКА: ''
Есть предположения?
'forceviewserveruse': True
)? API 23 должен использоватьuiautomator
. - person Diego Torres Milano   schedule 05.05.2016