Я ищу способ в Selendroid, чтобы получить текущее представление дампа приложения, работающего на реальном устройстве. Теперь я знаю, что вы можете получить весь источник страницы сisClickable с Selendroid
driver.getPageSource()
То есть, что я в настоящее время использую. Этот метод дает мне XML-форматированную иерархию всех видимых элементов вида, которые могут быть проанализированы с помощью XPath. Выходной сигнал выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<views>
<DecorView name="" label="" value="" ref="97bc5edf-6001-0c8a-3550-92822dfe3d55" id="" shown="true">
<rect x="0" y="0" height="1920" width="1080" />
<LinearLayout name="" label="" value="" ref="da84259b-f404-d100-7eb6-ed006469d60e" id="" shown="true">
<rect x="0" y="0" height="1920" width="1080" />
<ViewStub name="" label="" value="" ref="beb2dd1c-4a0e-25ef-26ff-30fa1eb628d0" id="action_mode_bar_stub" shown="false">
<rect x="0" y="0" height="0" width="0" />
</ViewStub>
(...)
К сожалению, мне нужны только элементы, на которые можно щелкнуть. В Android SDK можно использовать isClickable в представлении, чтобы проверить, есть ли зарегистрированный для него прослушиватель кликов.
Можно ли получить атрибут isClickable элемента с Selendroid? Alternativel есть ли другой способ получить текущий дамп представления приложения с Selendroid, который даст мне значение атрибута isClickable элемента?
Последнее, что я работаю, является общим тестом для приложений, из которых у меня нет исходного кода. Из-за этого я не могу определить элементы представления перед выполнением. Это должно произойти динамически.