Calculator Action Triggers
Last updated
Last updated
Рассмотрим пример робота, который одновременно отслеживает разные события в интерфейсе других программ и, в зависимости от произошедшего события, выполняет разные действия: показ сообщения, окна, создание документа, переход на сайт, отправку письма.
Примечание: перед запуском проекта необходимо запустить Калькулятор (проверено с Windows 10) и набрать на калькуляторе нужное число, чтобы сработало то или иное событие.
Диаграмма проекта выглядит так (для удобства блоки диаграммы пронумерованы):
В данном примере используются коннекторы. Они нужны для того, чтобы диаграмму проекта можно было легко читать.
Блок “Старт” (с этого блока начинается любая диаграмма).
Блок “Параллельный выбор” позволяет псевдопараллельно выполнить один из непосредственно подключенных к своим выходам блоков, выбрав тот из блоков, в котором не происходит ошибка, и после успешного выполнении такого блока продолжить работу сценария. Подключенный блок считается успешно выполненным, если он не вызвал ошибку (исключение). Для данного блока указано свойство “Время ожидания” (предельное время ожидания выполнения блоков в секундах).
Блок “Контролировать элемент” проверяет, что элемент с указанным селектором находится в одном из указанных состояний. Для данного блока указаны следующие свойства:
Селектор (идентификатор элемента пользовательского интерфейса);
ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);
Состояние (состояние, которое необходимо проверить; в данном случае, проверяется атрибут);
Тип сравнения (тип сравнения; в данном случае указан тип “Wildcard”);
Значение сравнения (значение, с которым будет сравниваться полученное значение атрибута, в данном случае: 365);
Ожидаемый ответ (ожидаемое значение после проверки);
Атрибут (название атрибута);
Задержка перед (задержка перед выполнением блока в секундах);
Задержка после (задержка после выполнения блока в секундах);
Время ожидания (предельное время ожидания заданного элемента в секундах).
Блок “Окно с сообщением” показывает пользователю модальное диалоговое окно, с заданным заголовком, текстом и набором кнопок. Для данного блока указаны следующие свойства:
Сообщение (переменная, которая будет отображена внутри диалогового окна, в данном случае: “Обнаружено значение 365”);
Кнопки (кнопки, которые будут доступны пользователю для нажатия).
Блок “Контролировать элемент” проверяет, что элемент с указанным селектором находится в одном из указанных состояний. Для данного блока указаны следующие свойства:
Селектор (идентификатор элемента пользовательского интерфейса);
ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);
Состояние (состояние, которое необходимо проверить; в данном случае, проверяется атрибут);
Тип сравнения (тип сравнения; в данном случае указан тип “Wildcard”);
Значение сравнения (значение, с которым будет сравниваться полученное значение атрибута, в данном случае: 893);
Ожидаемый ответ (ожидаемое значение после проверки);
Атрибут (название атрибута);
Задержка перед (задержка перед выполнением блока в секундах);
Задержка после (задержка после выполнения блока в секундах);
Время ожидания (предельное время ожидания заданного элемента в секундах).
Блок “Показать окно” позволяет создавать свои собственные окна (формы) и отображать их в модальном и немодальном режиме, в том числе, асинхронно по отношению к ходу сценария. Если задан селектор, координаты созданного окна будут привязаны элементу управления в другом приложении. Для создания и редактирования своего окна воспользуйтесь кнопкой “Редактировать…” блока, а для создания переиспользуемых окон - кнопкой “Редактор окон” на главной панели инструментов. Для данного блока указаны следующие свойства:
Конфигурация (строка конфигурации);
Объект окна (переменная с объектом окна);
Селектор (идентификатор элемента, к которому привязано окно при его отображении);
ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);
Угол привязки (выбор значения угла привязки окна).
Здесь блок “Показать окно” добавлен с помощью инструмента записи действий пользователя.
Окно, которую показывает блок создана помощью инструмента “Редактор окон”. Просмотреть его и отредактировать можно, нажав кнопку “Редактировать…”, находящуюся внутри блока.
Блок “Получить текст” позволяет получить видимый текст выбранного элемента пользовательского интерфейса (надписи, текстового поля, пункта меню и т.д.). Для данного блока указаны следующие свойства:
Селектор (идентификатор элемента пользовательского интерфейса);
Тип значения (тип извлекаемого значения, в данном случае, это имя);
ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);
Время ожидания (предельное время ожидания заданного элемента в секундах).
Автоскроллинг (при установке флага будет автоматически произведена прокрутка списка до элемента, находящегося вне видимой области).
Здесь блок “Получить текст” добавлен с помощью инструмента записи действий пользователя.
Блок “Преобразовать строку” позволяет преобразовать строку в заданный формат. Для данного блока указаны следующие свойства:
Текст (входная строка);
Тип преобразования (тип преобразования, в данном случае выбран тип “Int” – оставляет в строке только числа).
Блок “Условие” проверяет указанное условие на истинность, после чего выполнение сценария продолжается в сторону выхода “Да” (если условие выполняется) или в сторону выхода “Нет” (если условие не выполнилось).
Условие записывается в формате: “переменная” равна (==)/ больше (>)/ меньше (<) “значение”.
Например: $a == “Привет”, то есть, если значение переменной $a равно “Привет”, то выход “Да”, в противном случае – выход “Нет”.
$Result > 5, то есть, если значение переменной $Result меньше 5, то выход “Да”, в противном случае – выход “Нет”.
В данном случае используется условие клика по ссылке, в качестве него установлено: $ControlEvent != "". Т. е., если переменная $ControlEvent не пустая, то выход “Да”.
Блок “Контролировать элемент” проверяет, что элемент с указанным селектором находится в одном из указанных состояний. Для данного блока указаны следующие свойства:
Селектор (идентификатор элемента пользовательского интерфейса);
ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);
Состояние (состояние, которое необходимо проверить; в данном случае, проверяется атрибут);
Тип сравнения (тип сравнения; в данном случае указан тип “Wildcard”);
Значение сравнения (значение, с которым будет сравниваться полученное значение атрибута, в данном случае: 35);
Ожидаемый ответ (ожидаемое значение после проверки);
Атрибут (название атрибута);
Задержка перед (задержка перед выполнением блока в секундах);
Задержка после (задержка после выполнения блока в секундах);
Время ожидания (предельное время ожидания заданного элемента в секундах).
Блок “Запустить браузер” запускает выбранный браузер. Для данного блока указаны следующие свойства:
Тип браузера (браузер, который необходимо открыть);
URL (ссылка, которая должна открыться при запуске браузера);
Время ожидания (время ожидания открытия браузера в секундах).
Блок “Контролировать элемент” проверяет, что элемент с указанным селектором находится в одном из указанных состояний. Для данного блока указаны следующие свойства:
Селектор (идентификатор элемента пользовательского интерфейса);
ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);
Состояние (состояние, которое необходимо проверить; в данном случае, проверяется атрибут);
Тип сравнения (тип сравнения; в данном случае указан тип “Wildcard”);
Значение сравнения (значение, с которым будет сравниваться полученное значение атрибута, в данном случае: 2 000);
Ожидаемый ответ (ожидаемое значение после проверки);
Атрибут (название атрибута);
Задержка перед (задержка перед выполнением блока в секундах);
Задержка после (задержка после выполнения блока в секундах);
Время ожидания (предельное время ожидания заданного элемента в секундах).
Блок “Создать документ” позволяет создать Word-документ. Для данного блока указаны следующие свойства:
Использовать COM (при установке флага работа будет происходить с помощью установленного Word);
Видимость (при установке флага в этом свойстве и в свойстве “Использовать COM” интерфейс Word будет отображаться на экране монитора).
Блок “Записать текст в документ” позволяет записать текст в Word-документ. Для данного блока указаны следующие свойства:
Ссылка на документ (ссылка на открытый Word-документ, с которым в данный момент происходит работа. Название переменной в данном свойстве должно совпадать с названием переменной в свойстве "Ссылка на документ", блоков "Создать документ" или "Открыть документ" из группы Word, которые ранее использовались для создания или открытия данного документа);
Текст (текст, который необходимо записать в документ, в данном случае текст выглядит так: “Это тестовый документ, который был создан потому что в Калькулятор было введено число 2 000”).
Блок “Контролировать элемент” проверяет, что элемент с указанным селектором находится в одном из указанных состояний. Для данного блока указаны следующие свойства:
Селектор (идентификатор элемента пользовательского интерфейса);
ID процесса (переменная, в которой хранится идентификатор процесса, указывает с каким приложением необходимо работать);
Состояние (состояние, которое необходимо проверить; в данном случае, проверяется атрибут);
Тип сравнения (тип сравнения; в данном случае указан тип “Wildcard”);
Значение сравнения (значение, с которым будет сравниваться полученное значение атрибута, в данном случае: 3 000);
Ожидаемый ответ (ожидаемое значение после проверки);
Атрибут (название атрибута);
Задержка перед (задержка перед выполнением блока в секундах);
Задержка после (задержка после выполнения блока в секундах);
Время ожидания (предельное время ожидания заданного элемента в секундах).
Блок “Отправить письмо” позволяет отправить письмо с использованием протокола SMTP. Для данного блока указаны следующие свойства:
Тема письма (тема письма, в данном случае: “Новое событие в Калькуляторе”);
Текст письма (текст письма, в данном случае: “Пользователь набрал 3 000”)
HTML-разметка (при установке флага содержимое письма будет отправлено как HTML-страница и может содержать теги);
Время ожидания (время ожидания ответа от сервера в секундах).
Блок “Окно с сообщением” показывает пользователю модальное диалоговое окно, с заданным заголовком, текстом и набором кнопок. Для данного блока указаны следующие свойства:
Сообщение (переменная, которая будет отображена внутри диалогового окна, в данном случае: “Письмо отправлено”);
Кнопки (кнопки, которые будут доступны пользователю для нажатия).
Блок “Клик мышкой” эмулирует клик мышкой по кнопке сброса. Данный блок добавлен с помощью инструмента записи действий пользователя.