Взятие значения (ZD)
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе
Оглавление
Описание
Данный экшен служит для получения значения атрибутов у указанного элемента. Это может быть:
высота\ширина
внутренний текст
координаты центра
id элемента
и др.
Как добавить действие в проект?
Через контекстное меню Добавить действие → Android→ Взятие значения
Через конструктор действий.
Либо воспользуйтесь умным поиском.
Как выбрать элемент для взятия значения?
Представим, что Вам нужно узнать ко��рдинаты ярлыка “Play Market”. Для этого делаем клик ПКМ по этой кнопке и из контекстного меню выбираем В конструктор действий.
Внизу, под окном браузера откроется Конструктор действий
Данные для поиска будут автоматически подобраны таким образом, что в результате поиска останется только один элемент. Ваши действия
В пункте Действие выбрать Get(1) (получить).
Координаты хранятся в атрибуте bounds: в первых квадратных скобках находятся координаты верхнего левого угла элемента, а во вторых скобках - правого нижнего угла.
Выбираем bounds из выпадающего списка Атрибут(2). В поле Значение появится -[530,120][750,253]
(в Вашем случае координаты могут отличаться).Перед добавлением экшена в проект не лишним будет протестировать его работу нажав соответствующую кнопку (особенно если Вы вносили изменения в конструкторе действий).
(Необязательно, но желательно) Добавить комментарий к экшену (т.к. комментарий по умолчанию крайне мало информативен)
Добавляем экшен в проект кликнув кнопку Добавить в проект
Для чего это используется?
Проверка наличия элемента на странице. Это может быть полезно для:
определения того авторизовались ли мы (например, когда пользователь авторизован в приложении, то появляется кнопка перехода в личный кабинет, если она есть, значит всё ОК. Либо наоборот, когда пользователь авторизован, то пропадает какой-то элемент, как вариант - кнопка “Вход”, если её нет, значит мы вошли)
поиск сообщений с ошибками (очень полезно при разгадывании капчи: если капча была разгадана неверно, то очень часто появляется новый элемент с текстом ошибки; если после отправки капчи возвращается страница с таким элементом, то мы пробуем разгадать капчу ещё раз)
Настройка действия: Вкладка “Основные”
После добавление экшена через Конструктор действий в проект, откроем его настройки:
Что брать
Список доступных атрибутов для считывания.
Поиск элемента
Настройка действия: Вкладка “Дополнительно”
Пример использования
Разберём один из способов применения. На примере приложения Google Play.
Представим, что нам нужно проверить, авторизован ли пользователь в Google Play.
Для начала нужно запустить приложение. Сделать это можно несколькими способами:
с помощью экшена Выполнить событие
или же используя экшен Утилиты и его подфункцию Открыть приложение
Воспользуемся вторым способом.
Если пользователь не авторизован, то откроется окно с кнопкой “Войти” (ВАЖНО: если Вы изменили язык виртуальной машины, то текст будет отображаться на выбранном Вами языке!)
Будем искать эту кнопку сразу по двум критериям. Условия для поиска на скриншоте ниже:
Если экшен завершился успехом (удалось найти кнопку и получить значение у атрибута) значит пользователь не авторизован.
Если же экшен завершился неуспехом (кнопка не найдена) значит авторизован.