Calculator Action Button with Dialog

Рассмотрим пример робота, который показывает как можно "добавить" свою кнопку в окно чужого приложения и выполнить определенное действие при клике по ней, в данном случае - показ диалогового окна с текстом и ссылкой. Перед запуском проекта должен быть запущен Калькулятор (проверено с Windows 10).

Проект робота состоит из одной диаграммы. Таким образом, если описывать пошагово, то данный робот работает следующим образом:

  1. Создает кнопку для калькулятора “Показать нашу подсказку” с помощью Редактора окон.

  2. После клика по созданной кнопке показывает созданное в “Редакторе окон” модальное окно с подсказкой и ссылкой на калькулятор в Google Chrome

  3. После клика по ссылке запускает калькулятор в Google Chrome, а после клика по кнопке “Закрыть” – закрывает модальное окно.

Диаграмма проекта выглядит так (для удобства блоки диаграммы пронумерованы):

  1. Блок “Старт” (с этого блока начинается любая диаграмма).

  2. Блок “Показать кнопку для калькулятора” позволяет создавать свои собственные окна (формы) и отображать их в модальном и немодальном режиме, в том числе, асинхронно по отношению к ходу сценария. Если задан селектор, координаты созданного окна будут привязаны элементу управления в другом приложении. Для создания и редактирования своего окна воспользуйтесь кнопкой «Редактировать...» блока, а для создания переиспользуемых окон - кнопкой «Редактор окон» на главной панели инструментов. Для данного блока указаны следующие свойства:

  • Конфигурация (строка конфигурации);

  • Объект окна (переменная с объектом окна);

  • Селектор (идентификатор элемента, к которому привязано окно при его отображении);

  • ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);

  • Угол привязки (выбор значения угла привязки окна, при заданном селекторе значение угла привязки указывает привязку левого верхнего угла окна к углу найденного элемента);

  • Смещение X (смещение по координате X при отображении окна);

  • Смещение Y (смещение по координате Y при отображении окна).

Кнопка, которую показывает блок создана помощью инструмента “Редактор окон”.

Просмотреть ее и отредактировать можно, нажав кнопку “Редактировать…”, находящуюся внутри блока.

  1. Блок “Условие” проверяет указанное условие на истинность, после чего выполнение сценария продолжается в сторону выхода “Да” (если условие выполняется) или в сторону выхода “Нет” (если условие не выполнилось).

Условие записывается в формате: “переменная” равна (==)/ больше (>)/ меньше (<) “значение”.

Например: $a == “Привет”, то есть, если значение переменной $a равно “Привет”, то выход “Да”, в противном случае – выход “Нет”.

$Result > 5, то есть, если значение переменной $Result меньше 5, то выход “Да”, в противном случае – выход “Нет”.

В данном случае используется условие клика по кнопке, в качестве него установлено: $ControlEvent != "". Т. е., если переменная $ControlEvent не пустая, то выход “Да”.

  1. Блок “Показать окно с подсказкой и ссылкой” позволяет создавать свои собственные окна (формы) и отображать их в модальном и немодальном режиме, в том числе, асинхронно по отношению к ходу сценария. Если задан селектор, координаты созданного окна будут привязаны элементу управления в другом приложении. Для создания и редактирования своего окна воспользуйтесь кнопкой «Редактировать...» блока, а для создания переиспользуемых окон - кнопкой «Редактор окон» на главной панели инструментов. Для данного блока указаны следующие свойства:

  • Конфигурация (строка конфигурации);

  • Объект окна (переменная с объектом окна);

  • Модальное (при установке флага, окно будет показано как модальное);

  • ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);

  • Угол привязки (выбор значения угла привязки окна, значение “Default” указывает на центр элемента).

Окно, которую показывает блок создана помощью инструмента “Редактор окон”. Просмотреть его и отредактировать можно, нажав кнопку “Редактировать…”, находящуюся внутри блока.

  1. Блок “Лог” позволяет выводить в лог произвольные сообщения и/или значения переменных в процессе работы сценария робота. Для данного блока указано свойство “Значение”. В кавычках указана текстовая константа, а имя переменной начинается с символа $. Т. е., данный блок записывает в лог робота значение переменной.

  1. Блок “Условие” проверяет указанное условие на истинность, после чего выполнение сценария продолжается в сторону выхода “Да” (если условие выполняется) или в сторону выхода “Нет” (если условие не выполнилось).

Условие записывается в формате: “переменная” равна (==)/ больше (>)/ меньше (<) “значение”.

Например: $a == “Привет”, то есть, если значение переменной $a равно “Привет”, то выход “Да”, в противном случае – выход “Нет”.

$Result > 5, то есть, если значение переменной $Result меньше 5, то выход “Да”, в противном случае – выход “Нет”.

В данном случае используется условие клика по ссылке, в качестве него установлено: $ControlEvent.Contains("LinkLabel"). Т. е., если переменная содержит текст "LinkLabel", то выход “Да”.

  1. Блок “Запустить браузер” запускает выбранный браузер. Для данного блока указаны следующие свойства:

  • Тип браузера (браузер, который необходимо открыть);

  • URL (ссылка, которая должна открыться при запуске браузера);

  • Время ожидания (время ожидания открытия браузера в секундах).

  1. Блок “Условие” проверяет указанное условие на истинность, после чего выполнение сценария продолжается в сторону выхода “Да” (если условие выполняется) или в сторону выхода “Нет” (если условие не выполнилось).

Условие записывается в формате: “переменная” равна (==)/ больше (>)/ меньше (<) “значение”.

Например: $a == “Привет”, то есть, если значение переменной $a равно “Привет”, то выход “Да”, в противном случае – выход “Нет”.

$Result > 5, то есть, если значение переменной $Result меньше 5, то выход “Да”, в противном случае – выход “Нет”.

В данном случае используется условие клика по кнопке “Закрыть”, в качестве него установлено: $ControlEvent.Contains("CloseButton"). Т.е., есди переменная содержит текст "CloseButton", то выход “Да”.

Last updated