Взятие значения (ZD)

Оглавление


Описание

Данный экшен служит для получения значения атрибутов у указанного элемента. Это может быть:

  • высота\ширина

  • внутренний текст

  • координаты центра

  • id элемента

  • и др.


Как добавить действие в проект?

Через контекстное меню Добавить действиеAndroidВзятие значения

Через конструктор действий.

Либо воспользуйтесь умным поиском.


Как выбрать элемент для взятия значения?

Представим, что Вам нужно узнать координаты ярлыка “Play Market”. Для этого делаем клик ПКМ по этой кнопке и из контекстного меню выбираем В конструктор действий.

Внизу, под окном браузера откроется Конструктор действий

Данные для поиска будут автоматически подобраны таким образом, что в результате поиска останется только один элемент. Ваши действия

  • В пункте Действие выбрать Get(1) (получить).

  • Координаты хранятся в атрибуте bounds: в первых квадратных скобках находятся координаты верхнего левого угла элемента, а во вторых скобках - правого нижнего угла.
    Выбираем bounds из выпадающего списка Атрибут(2). В поле Значение появится - [530,120][750,253](в Вашем случае координаты могут отличаться).

  • Перед добавлением экшена в проект не лишним будет протестировать его работу нажав соответствующую кнопку (особенно если Вы вносили изменения в конструкторе действий).

  • (Необязательно, но желательно) Добавить комментарий к экшену (т.к. комментарий по умолчанию крайне мало информативен)

  • Добавляем экшен в проект кликнув кнопку Добавить в проект


Для чего это используется?

  • Проверка наличия элемента на странице. Это может быть полезно для:

    • определения того авторизовались ли мы (например, когда пользователь авторизован в приложении, то появляется кнопка перехода в личный кабинет, если она есть, значит всё ОК. Либо наоборот, когда пользователь авторизован, то пропадает какой-то элемент, как вариант - кнопка “Вход”, если её нет, значит мы вошли)

    • поиск сообщений с ошибками (очень полезно при разгадывании капчи: если капча была разгадана неверно, то очень часто появляется новый элемент с текстом ошибки; если после отправки капчи возвращается страница с таким элементом, то мы пробуем разгадать капчу ещё раз)


Настройка действия: Вкладка “Основные”

После добавление экшена через Конструктор действий в проект, откроем его настройки:

Что брать

Список доступных атрибутов для считывания.

Поиск элемента


Настройка действия: Вкладка “Дополнительно”


Пример использования

Разберём один из способов применения. На примере приложения Google Play.

Представим, что нам нужно проверить, авторизован ли пользователь в Google Play.
Для начала нужно запустить приложение. Сделать это можно несколькими способами:

  1. с помощью экшена Выполнить событие

  2. или же используя экшен Утилиты и его подфункцию Открыть приложение

Воспользуемся вторым способом.

Имя приложения можно узнать с помощью окна Установленные приложения.

Если пользователь не авторизован, то откроется окно с кнопкой “Войти” (ВАЖНО: если Вы изменили язык виртуальной машины, то текст будет отображаться на выбранном Вами языке!)

 

Будем искать эту кнопку сразу по двум критериям. Условия для поиска на скриншоте ниже:

Если экшен завершился успехом (удалось найти кнопку и получить значение у атрибута) значит пользователь не авторизован.
Если же экшен завершился неуспехом (кнопка не найдена) значит авторизован.

Полезные ссылки