Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Оглавление

 Нажмите здесь, чтобы развернуть оглавление

Описание

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

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

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

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

  • id элемента

  • и др.


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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

Что брать

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

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

Прежде чем провзаимодействовать с элементом его надо найти.


Поиск осуществляется по атрибутам элемента.

Условия

  1. Группа - приоритет данного условия. Чем выше это число тем приоритет ниже.
    Если не смогли найти элемент по условию  с наивысшим приоритетом, то переходим к условию со следующим приоритетом и так пока элемент не будет найден, либо пока не закончатся условия поиска. Можно добавлять несколько условий с одним приоритетом, тогда поиск будет производиться по всем условиям с одинаковым приоритетом одновременно. 

  2. Атрибут - атрибут элемента по которому производится поиск.

  3. Тип поиска:

    1. text - поиск по полному либо частичному вхождению текста;

    2. notext - поиск элементов в которых не будет указанного текста;

    3. regexp - поиск с помощью Тестер регулярных выражений ;

  4. Значение - значение атрибута.

  5. № совпадения - порядковый номер найденного элемента (нумерация с нуля!). 

Удаление условия

Чтобы удалить условие поиска необходимо кликнуть ЛКМ по полю слева от него (на скриншоте выше выделено синим цветом) и нажать кнопку delete на клавиатуре.

Множественное условие

Для поиска элемента может использоваться одновременно несколько условий.

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


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

Подождать перед выполнением

Сколько секунд экшен будет ожидать перед выполнением (случайное значение в диапазоне ОТ и ДО).

Ждать элемент не более

Если по истечении указанного времени элемент не появился, то экшен завершит работу с ошибкой.


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

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

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

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

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

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

 Скриншот

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

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

 Скриншот

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

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

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

  • No labels