humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

Сверено 21 октября 2026 по выпускам 8.1.2 — 8.1.6 (бета) и 7.0.78. · Руководство humanemulator.net

Конструктор рабочих процессов

Визуальный робот Human Emulator — файл .wf: последовательность шагов с условиями, циклами, переменными и вызовами тех же объектов API, что доступны скрипту на PHP или C#. В восьмой линейке такой файл открывается структурой — шаги деревом, свойства в панели, подходящие действия в палитре, — и правится без текста разметки. Это руководство про рабочий процесс: как собрать, отладить, что делает редактор с файлом и где границы переноса между 7.x и 8.x.

Что такое .wf

Файл визуального робота живёт в папке скриптов проекта (в 8.x новый робот создаётся командой Файл → Создать → Workflow и попадает в «Мои скрипты»). Внутри — документ рабочего процесса: блоки «если», «для каждого», «пока», присваивания и активности из библиотеки продукта — те же navigate, click, set_value, работа с Excel, PDF, почтой, которые скрипт вызывает напрямую.

Отличие от обычного скрипта не в возможностях, а в форме: шаги видно как дерево, их порядок и свойства правятся на месте, а исполняется всё то же обращение к приложению. Если задача — «нажать, дождаться, записать», робот на .wf и робот на PHP делают одно и то же; там, где нужна ветка «пока не появится элемент», удобнее смотреть на структуру, чем читать вложенные if.

Новый робот 8.x открывается готовым примером: открыть https://ya.ru, напечатать текст в строке поиска и нажать Enter. До 7.0.78 и до 8.1.6 этот шаблон присваивал текст полю, и поиск не срабатывал — если вы собрали робота по старой поставке, проверьте, что действие именно «ввести».

Открытие и панель проверки

Сразу после открытия .wf панель проверки говорит, что с этим роботом можно делать здесь. Формулировок пять, и каждая — про конкретное состояние файла:

  • «исполняется здесь» — робот собран из переносимых узлов, можно править и запускать;
  • «исполняет только Windows Studio с плагином» — в файле есть шаги, которые видит только классическая среда;
  • «здесь не исполняется: в файле есть узлы вне подмножества net8» — названы места, которые восьмой движок не переносит;
  • «формат не распознан» — файл не похож на рабочий процесс;
  • «воркер не разобрал документ до конца» — частичный разбор: что видно, то правится, остальное названо.

Замечания панели — не лента строк: замечания одного шага стоят под одним заголовком, заголовок словами говорит, что с этим шагом («блокирует» или «правится здесь»), и печатает число замечаний; блокирующие поднимаются выше исправляемых, а порядок внутри следует порядку файла. Восьмая линейка дополнительно называет робота числом шагов, а не обещанием.

Версии: с 8.1.2 (структурный вид и панель проверки), группировка замечаний и «число шагов» — с 8.1.5.

Сборка: палитра, шаги, свойства

Палитра — каталог подходящих действий, собранный семьями по компонентам: браузер, интерфейс, Excel, PDF, Word, почта, файлы, папки, S3, WebDAV, Telegram и поток управления. Категории и подписи повторяют тулбокс Studio 7: робот не теряет действий при переезде в восьмую линейку. Поиск открывается иконкой, счётчики — чипами, семьи по умолчанию свёрнуты; внизу — легенда с именем шага и подсказкой, какие аргументы обязательны.

Конструктор .wf в Studio 8: слева палитра блоков с числом действий и конструкций, в центре дерево структуры, справа панель свойств, в шапке число узлов и ревизия файла
Studio 8: конструктор 3.wf — палитра слева, «Структура» в центре, «Свойства» выбранного узла справа. Разбор всех трёх колонок и счётчиков — в «Панели Studio 8».

Способов добавить шаг несколько: двойной клик или Enter по строке палитры, перетаскивание, контекстное меню шага («вставить перед/после», «вставить в…» для контейнеров), контекстное меню активности в палитре. Можно вставить сразу несколько шагов.

Панель свойств правит выбранный шаг: имя (переименовывается прямо в строке контура), поля аргументов, комментарий шага, закладка (флажок на вкладке «Служебные» — шаг отмечается иконкой в контуре), вид (иконка и цвет), пометка «не выполнять». Поля только что вставленного шага правятся сразу, без сохранения документа. CLR-имена, пути и термины протокола убраны в подсказки — на экране человеческие подписи.

В контуре: поиск по шагам, копирование и вставка шага, сворачивание и разворачивание дерева, запуск до шага и с шага. Конструкции потока управления переведены на русский: «Если», «Последовательность», «Присвоить», «Для каждого».

Сохранение идёт в сам файл .wf, с отменой и боковой копией .bak. Если сохранение отвергнуто (файл не пустой, права, разбор), редактор называет причину, а не делает вид: файл остаётся прежним. Правка, приехавшая на перечитываемый или не показанный сейчас шаг, тоже не исчезает молча.

Версии: Палитра, вставка, свойства и сохранение в файл — с 8.1.2; копирование/вставка, поиск по контуру, переименование в строке, запуск до/с шага, категории как в тулбоксе 7 — с 8.1.6.

Переменные, аргументы и сборки

У робота есть переменные: объявляются в панели переменных (имя, тип, значение по умолчанию), снимаются оттуда же. Шаг «Присвоить» вставляется из палитры или контекстного меню с уже выбранной переменной и приводит значение к её типу. Тип можно задать массивом. Если переменную читают шаги, снять её просто так нельзя — редактор назовёт шаги, которые её читают, а не только число мест.

Аргументы робота (входные и выходные значения вызова) и ссылки на сборки — отдельная панель, а не свойства какого-то шага: они относятся к документу целиком.

Значения, помеченные как защищённые, на паузе и в журнале показываются скрытыми: тела пароля в панели и в логе нет.

Версии: Переменные и шаг «Присвоить» — с 8.1.2; массивы — с 8.1.5; панель аргументов и сборок — с 8.1.6.

Отладка: пауза и значения

Шагу ставится точка останова из контекстного меню («поставить точку останова» / «снять точку»). При запуске робот встаёт на этом шаге до его действия и ждёт команды. Пока запуск стоит на паузе, в тулбаре документа появляются «В узел», «Следующий узел» и «Наружу», а в правой колонке — панель «Значения на паузе»: переменные робота и их значения ровно в тот момент, когда робот встал, плюс число строк в снимке. «Продолжить» двигает робота дальше.

Подсветка исполнения доведена до каждого шага: светятся не только отдельные действия, но и контейнеры (последовательность, «если», «для каждого»); у шага внутри цикла видно, который это проход («×3»), и сколько он длился; у упавшего — причина. Состояние шага читается без наведения мыши и без различения цветом, контур проходится с клавиатуры, а системная просьба «уменьшить количество движения» гасит подсветку целиком.

Команды запуска честные:

  • «Остановить», нажатая сразу после «Запустить», действительно останавливает запуск;
  • «Запустить» на роботе, стоящем на точке останова, не отменяет паузу молча и не выдаёт это за успех;
  • «Запустить» по роботу, который уже идёт и не на паузе, не поднимает второй запуск того же файла;
  • если процесс-исполнитель упал или был снят снаружи, панель лога получает ровно одну строку итога — «итог: lost · … · воркер вышел с кодом N», а гибель не выглядит как «робот ещё идёт». Гибель на точке останова называет шаг незавершённым, а не пустым.

Строки рана живут на своей вкладке журнала в панели отладки: на «Выводе» остаётся только то, что печатает сам робот, «Все» показывает и то и другое в порядке появления. DebugMessage и WriteLine пишутся во вкладку «Вывод».

Версии: Точки останова, пошаговый проход, «Значения на паузе» и подсветка контейнеров — с 8.1.3; поведение команд запуска и журнал рана — с 8.1.4 (запуск) и 8.1.5 (журнал, доступность).

«Показать как текст»

Текст разметки доступен по явной команде «Показать как текст» и только для чтения: так видно, что именно робот несёт в файле, не давая редактору сломать структуру ручной правкой. Обратный ход ничего не стоит — пока робот открыт текстом, к его структуре возвращает кнопка в тулбаре, и при этом не теряются очередь несохранённых правок, отмены/повторы, счётчик правок и значения полей.

Версии: с 8.1.2, обратный переход без потери правок — с 8.1.3.

Где робот исполняется

Исполнителей два, и это главное, что нужно знать про перенос:

  • Windows: .wf запускается через мост к .NET Framework 4.8 — тем же движком, что и классическая Studio, поэтому полный спектр активностей (в том числе работа с Excel, Word, Outlook, окнами, клавиатурой и мышью) доступен и в восьмой линейке. В коробке рядом с редакторным воркером лежит WfBridge. Мост получает порт API Studio, а не значение по умолчанию, иначе ран не доходит до строки «итог».
  • Linux: остаётся подмножество net8-исполнителя. Шаги рабочего стола и COM (Excel, Word, Outlook, клавиатура, мышь, окна, буфер обмена) отказываются до запуска и называют платформу: Имя: Windows-only.

Значит, робот, который на Windows использует только браузер, файлы, HTTP и почту, переезжает на Linux без изменений; робот, который трогает рабочий стол или COM-приложения, на Linux не исполняется, и редактор говорит об этом заранее, а не падает в середине прогона.

Выражения на Visual Basic, которые пишет классический редактор, мост компилирует после снимания типов; шаг «Присвоить» из палитры пишется как OutArgument со ссылкой на переменную — так же, как в классической Studio, иначе мост не грузит робота.

Версии: Мост net48 на Windows и отказ «Windows-only» на Linux — с 8.1.5.

«Открыть в Studio 7»

В отчёте открытия робота есть действие «Открыть в Studio 7»: классическая студия стартует на этом файле. Путь берётся из настроек классического продукта либо из переменной окружения XHE_STUDIO7_EXE; если Studio 7 не найдена, действие сообщает об отказе, а не падает, и второе окно само не открывается. Поиск установленной 7.x идёт по имени XWeb Human Emulator Studio.exe и по ветке реестра удаления программ.

Когда это нужно: в файле есть конструкции, которые восьмой движок не строит (см. следующий раздел), или робот сохранён задолго до текущей поставки и его проще доправить в классическом редакторе. Файл при этом не портится: действие только запускает второе приложение на том же пути.

Версии: с 8.1.6.

Границы и зашифрованные роботы

Что восьмой редактор пока не строит: блоки TryCatch, развилку по значению (Switch), графовые конструкции потока (Flowchart с решениями и ветвлениями), несколько позиций, писатель которых знает, но не умеет наполнять. Отказные позиции плитками в палитре не показываются — вставить «в надежде» нельзя; вместо этого файл с такой конструкцией называется панелью проверки, и лечится «Открыть в Studio 7».

Зашифрованный робот (файл вида имя.wf.encoded_wf) больше не молчит и не притворяется битым: редактор и запуск одним словом говорят, что это зашифрованный визуальный робот, который здесь не расшифровывается, и что нужно открыть исходный .wf или классическую Studio.

Роботы, сохранённые до 04.10.2026, в 7.0.78 снова открываются в редакторе: свойство IsFailOnExists у WebDAV-папок возвращено как нерабочее, и загрузчик XAML больше не роняет такой файл.

Помощник кода (вставка сниппета) в редакторе робота отказывает по названной причине: «откройте скрипт php, cs, js или py» либо «визуальный робот собирается из шагов» — молчания нет.

Как проверить у себя

  1. Создайте робота (8.x: Файл → Создать → Workflow) и откройте панель проверки: вердикт обязан называть, что можно делать с этим файлом, а не молчать.
  2. Добавьте шаг из палитры, измените свойство, сохраните, закройте вкладку и откройте файл заново: правка должна перечитатьсться из файла, а не потеряться.
  3. Поставьте точку останова на втором шаге и запустите: робот обязан встать до действия, а панель «Значения на паузе» показать переменные. Проверьте «Следующий узел» и «Наружу».
  4. Откройте тот же файл через «Показать как текст» и вернитесь назад: несохранённые правки и отмены не должны исчезнуть.
  5. Для переноса: соберите робота с шагом Excel и запустите на Linux — отказ должен прийти до запуска и назвать платформу.

Смежные страницы: Studio 8 (бета): что нового — раздел про конструктор, run_as_* — запуск скриптов из робота, меню «Отладка» — панель отладки, активация — общая лицензия для 7.x и 8.x.

← Запуск внешних скриптов из робота · Все руководства