Описание Robot
Релизы

Взаимодействие с элементами интерфейса (Desktop Picker)

Принципы работы с элементами интерфейса в приложениях

Введение

Чтобы взаимодействовать с элементами приложений, необходимо выбирать конкретные элементы, а также, при необходимости, определённые свойства этих элементов.

Для таких целей в платформе используется вкладка "Элементы", с помощью которой можно выбирать используемые элементы в приложениях, удалять и создавать новые.

Интерфейс

На рисунке ниже представлен интерфейс программы ElectroNeek Studio с активной вкладкой "Элементы".

Для создания нового элемента, необходимо:

  • Кликнуть на кнопку "Добавить новый элемент"

  • Выбрать "Элемент интерфейса"

  • Указать название для элемента

  • Нажать на кнопку "Изменить элемент"

После чего, появится программа "Desktop Picker", с помощью которой можно выбирать элементы в приложениях.

Чтобы выбрать элемент в приложении нужно нажать на кнопку "Выбрать" в окне программы "Desktop Picker" и навести курсор на необходимый элемент в приложении.

При наведении курсора программа "Desktop Picker" подсвечивает данный элемент красной рамкой. Для фиксации выбора элемента необходимо нажать на клавишу Ctrl+X на клавиатуре. Чтобы проверить корректность выбора элемента необходимо нажать на кнопку "Проверить". При нажатии элемент будет обведён жёлтой рамкой (если найден 1 элемент) либо оранжевой рамкой (если найдено несколько элементов) и появится надпись "Найден 1 элемент" либо надпись "Найдено несколько элементов: Х", где Х - число найденных элементов по выбранным атрибутам.

Цель - получить надпись "Найден 1 элемент" (если необходимо кликнуть по элементу) путём проставления флагов возле названий атрибутов из списка (чекбоксы).

Чтобы сохранить все настройки необходимо нажать на кнопку "Сохранить". Новый элемент сохранится на вкладке "Элементы".

Чтобы использовать данный элемент, необходимо выбрать блок из группы действий "Элементы интерфейса" и в настройках действия выбрать элемент из списка.

Таким образом, при разработке алгоритма можно выбирать элементы в приложениях и обращаться к ним в дальнейшем, выбрав название из списка.

Выбор атрибутов для поиска (метод "Равно")

В приложении Desktop Picker возможно использовать различные атрибуты для поиска элементов в приложениях:

Атрибуты

Type

Index

Value

ClassName

Name

AutomationId

AcceleratorKey

AccessKey

FrameworkId

HasKeyboardFocus

HelpText

IsContentElement

IsControlElement

IsEnabled

IsKeyboardFocusable

IsOffscreen

IsPassword

IsRequiredForForm

ItemType

ProcessId

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

Пример

Допустим, нам необходимо считать информацию из данного поля приложения "Калькулятор":

Выберем с помощью Desktop Picker данный элемент, нажмём на сочетание клавиш Ctrl+X и взглянем на атрибуты данного элемента:

Мы видим, что при выбранных атрибутах (Type, ClassName и Name) робот находит уникальный элемент - Найден 1 элемент. Но если мы изменим число, которое находится в поле Калькулятора с 0 на любое другое, то при нажатии на кнопку "Проверить" появится запись Элемент не найден

Это происходит поскольку у нас при поиске выбран атрибут Name, хранящий в данном элементе значение, которое отображается в элементе, т.е. в нашей задаче нам необходимо считать данный атрибут, а не использовать его для поиска (потому что значение атрибута изменяется динамически вместе со значением элемента). Поэтому снимаем выбор с атрибута Name в Desktop Picker, после чего на проверке получаем надписьНайдено несколько элементов: 2.

Наша цель - получить надпись Найден 1 элемент, поэтому добавляем дополнительный атрибут для поиска, например, Index, и получаем:

Таким образом, мы корректно выбрали изменяющийся элемент. Далее, для того, чтобы считать значение из поля мы также будем основываться на названии атрибутов из Desktop Picker. Для считывания используем действие "Прочитать свойство элемента" и укажем свойство (атрибут) Name:

При запуске workflow мы получим:

Дерево поиска

Внизу окна Desktop Picker также отражаются вкладки "дерева" поиска (снизу-вверху). Например, поле text в Калькуляторе является дочерним для элемента group, а group является дочерним элементом window и так далее.

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

Динамический поиск

Ранее мы использовали лишь фиксированные значения у атрибутов (либо отменяли использование какого-либо атрибута на примере Name).

В некоторых бизнес-процессах необходимо ссылаться на элементы, которые могут менять значения своих атрибутов. Поиск таких элементов возможно проводить с помощью различных методов, которые можно выбрать в столбце "Вычисление" в Desktop Picker:

Метод "Вычислить"

Позволяет использовать переменные в качестве значения атрибута.

Например, в атрибуте Name содержится значение "На экране показано 0", мы можем выбрать метод "Вычислить" со значением "На экране показано " + variableName , где variableName - название переменной, которая хранит необходимое значение, например, 0:

Метод "Wildcard"

Позволяет использовать следующие метасимволы для поиска значения атрибута:

Символы в значении поиска

Соответствие в значении элемента

?

Любой отдельный символ

*

Ноль или более символов

#

Любая отдельная цифра (0 – 9)

[charlist]

Любой отдельный символ вcharlist

[!charlist]

Любой отдельный символ, не являющийсяcharlist

Например, в атрибуте Name содержится значение "На экране показано 0", мы можем выбрать метод "Wildcard" и задать значение На экране показано #, таким образом мы найдём указанный элемент.

Метод "Содержит"

Позволяет указать строку, которую должен содержать атрибут в своём значении.

Например, в атрибуте Name содержится значение "На экране показано 0", мы можем выбрать метод "Содержит", задать значение "На экране" и таким образом если значение будет "На экране содержится" или "На экране показано 12345", мы найдём указанный элемент.