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

Оглавление


Описание

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

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

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

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

  • id элемента

  • и др.


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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

Что брать

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

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


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


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

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

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

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

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

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

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

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

 

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

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

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