Обучение Урок 4 из 12
Windows-приложение
- Цель
- Автоматизировать окно программы Windows — запуск, ввод, нажатие, чтение результата — и научиться указывать элементы пикером
- Время
- 25 минут
Файлы примеров
- 02_testapp.flow.json — 2,8 КБ
Что понадобится #
- Студия Tulpar. В её папке есть учебная программа
samples\testapp\Tulpar.TestApp.exe(„Tulpar Test App“): поле „Имя“, кнопка „Отправить“, список городов, флажок и кнопки с задержкой и диалогом. - Файл примера
02_testapp.flow.json— он же лежит в папке студии:samples\flows\02_testapp.flow.json. - Незаблокированный экран: робот работает с окнами так же, как человек, — мышью и клавиатурой.
Процесс запускает программу по пути ../testapp/Tulpar.TestApp.exe относительно своей папки. Скачанный файл
положите в samples\flows папки студии (рядом с готовой копией) или откройте копию оттуда.
Шаг 1. Посмотрите на программу #
Запустите Tulpar.TestApp.exe, впишите имя и нажмите „Отправить“ — под полем появится Привет, <имя>!. Это и
проверяет процесс. Закройте программу.
Шаг 2. Откройте процесс #
В студии нажмите «Открыть» и выберите 02_testapp.flow.json:
app.startзапускает программу;ui.waitElement„Дождаться окна“ ждёт окноTulpar Test Appдо 10 секунд;ui.typeIntoвводит в поле имя из аргументаuserName;ui.clickнажимает кнопку „Отправить“;ui.getTextчитает ответ в переменнуюresult;control.ifсравнивает его с ожидаемым текстом,app.closeзакрывает программу.

Шаг 3. Селектор: как робот находит элемент #
Выберите шаг ввода текста. В «Свойства» — селектор элемента: путь от окна программы к полю. Нажмите «Изменить», чтобы увидеть его целиком:
{
"kind": "uia",
"path": [
{ "processName": "Tulpar.TestApp", "controlType": "Window", "name": "Tulpar Test App" },
{ "controlType": "Edit", "automationId": "txtName" }
]
}
Первый сегмент — окно программы, второй — поле с automationId txtName. automationId разработчики программ
задают сами, и он не меняется при переводе интерфейса, поэтому селектор по нему надёжнее, чем по подписи.

Шаг 4. Укажите элемент мышью #
Добавим выбор города:
- Запустите
Tulpar.TestApp.exe. - Перетащите в процесс после шага ввода действие
ui.selectItem. - В свойствах шага нажмите «Указать на экране», наведите курсор на список „Город“ в программе и нажмите Ctrl. Esc — отмена.
- Нажмите «Подсветить» — найденный элемент обведётся красной рамкой. В поле пункта напишите
Ош. - Так же добавьте
ui.setCheckedдля флажка „Согласен“ и включите у шага флажок „Включён“.
Шаг 5. Запуск #
Закройте программу, если она открыта, и нажмите «Запуск» (F5). Во время запуска не двигайте мышь и не переключайте окна.

Что должно получиться #
- Программа открылась, в поле появилось имя
Арген(значение аргумента по умолчанию), город и флажок выбраны, программа закрылась. - В «Лог» —
Проверка пройдена: Привет, Арген!и итог „Завершено успешно за …“. - Запустите ещё раз с другим именем в окне аргументов — в логе будет приветствие с ним.
Если не получилось #
| Что видно | Что сделать |
|---|---|
| „приложение не запустилось“ | Проверьте путь в свойствах шага app.start: ../testapp/Tulpar.TestApp.exe считается от папки процесса. Можно указать полный путь кнопкой «Обзор». |
| „элемент не найден“ | Окно ещё не открылось или подпись другая. Нажмите «Подсветить»: если рамки нет — укажите элемент заново («Указать на экране»). |
| „истекло время ожидания“ на шаге окна | Программа открылась за другим окном или долго стартует — увеличьте таймаут в разделе дополнительных свойств шага. |
| Текст вводится не туда | Не трогайте мышь и клавиатуру во время запуска; у фонового робота экран не должен быть заблокирован. |
Дальше — урок Ошибки и повторы: что делать, когда шаг падает.