Перейти к содержанию

MCP в Vanessa Automation

Быстрый старт

Для начала использования MCP в Vanessa Automation выполните следующие шаги:

  1. Настройте LLM с поддержкой MCP. У вас должна быть работающая LLM, к которой можно подключить MCP инструменты. Например, VSCode + плагин Cline — это среда, где вы пишете промты.

  2. Установите расширение client_mcp в базу менеджера тестирования. В базу менеджера тестирования необходимо поставить расширение из проекта. В базе расширение должно быть установлено под именем client_mcp и активно — по этому имени Vanessa Automation находит его при старте.

  3. Запустите сеанс 1С как менеджер тестирования и откройте в нём Vanessa Automation. Сеанс обязательно должен быть запущен с ключом /TestManager — только такой сеанс является менеджером тестирования; на работу в этом режиме рассчитаны MCP-инструменты управления клиентом тестирования. Что и где именно запускать — в разделе Запуск MCP сервера: что и где запускать. При старте Vanessa Automation зарегистрирует свои инструменты MCP (если расширение client_mcp найдено).

  4. MCP сервер запустится сам. Если Vanessa Automation найдёт в базе расширение client_mcp, она сама запустит сервер MCP — отдельно запускать его не нужно. Условия автозапуска, порт и ручной запуск описаны в разделе Запуск MCP сервера: что и где запускать.

  5. Настройте MCP клиент в вашей IDE. В вашей IDE, где работает LLM, необходимо прописать настройки MCP сервера, который запущен в менеджере тестирования. В инструкции ниже приведены примеры настроек для плагина Continue (для VSCode), плагина Cline и плагина Roo Code (тоже для VSCode).

  6. Включите внешнюю компоненту VanessaExt. В Vanessa Automation необходимо включить использование внешней компоненты VanessaExt.

  7. Установите расширение VAExtension. В базу клиента тестирования необходимо добавить расширение VAExtension.

  8. Настройка завершена. После выполнения всех шагов MCP готов к работе.

Запуск MCP сервера: что и где запускать

Сервер MCP — это не отдельная программа. Он поднимается внутри сеанса 1С:Предприятие, в котором открыта Vanessa Automation, поэтому скачивать или устанавливать его отдельно не нужно.

Где запускать

Всё запускается на том компьютере, где должен работать менеджер тестирования — как правило, это тот же компьютер, на котором установлена ваша IDE с LLM. Сеанс 1С:Предприятие с открытой Vanessa Automation становится менеджером тестирования, а сервер MCP принимает подключения от вашей IDE.

Что запускать: сеанс 1С в режиме менеджера тестирования

Запускается обычный сеанс 1С:Предприятие, но обязательно с ключом /TestManager — только сеанс с этим ключом является менеджером тестирования. Если запустить Vanessa Automation в обычном сеансе (без ключа), менеджером тестирования он не станет: сервер MCP в нём может подняться, но MCP-инструменты управления клиентом тестирования рассчитаны на сеанс менеджера тестирования.

Пример запуска из командной строки:

"C:\Program Files\1cv8\8.3.27.2130\bin\1cv8c.exe" ENTERPRISE /IBConnectionString "File=""c:\Bases\8.3.27"";" /TestManager /Execute "C:\Commons\rep\vanessa-automation\vanessa-automation.epf"
  • 1cv8c.exe — тонкий клиент (исполняемый файл толстого клиента — 1cv8.exe). Путь к исполняемому файлу подставьте от своей версии платформы.
  • /IBConnectionString — строка соединения с базой менеджера тестирования (в примере — файловая база c:\Bases\8.3.27).
  • /TestManager — ключ запуска сеанса в режиме менеджера тестирования (в проекте встречается и написание /TESTMANAGER).
  • /Execute — путь к файлу vanessa-automation.epf.

Эту же команду можно сохранить в ярлык или bat-файл, подставив свои пути. Для отладки сеанс можно запускать из конфигуратора, добавив /TestManager в дополнительные параметры запуска.

Если Vanessa Automation уже открыта в обычном сеансе, её можно перезапустить как менеджер тестирования — командой Перезапустить как менеджер тестирования в командной панели окна Vanessa Automation (дополнительное подменю). Команда видна, только пока сеанс не является менеджером тестирования.

Автозапуск сервера MCP

Отдельно запускать сервер MCP не нужно: если Vanessa Automation находит в базе расширение client_mcp, она запускает сервер MCP сама — при старте, после регистрации инструментов MCP.

Автозапуск работает, когда выполнены все условия:

  • в базе, где запущен сеанс, установлено и активно расширение client_mcp;
  • на закладке AI настроек Vanessa Automation включена настройка «Запускать сервер MCP при запуске VA» (включена по умолчанию);
  • Vanessa Automation не запущена в режиме самотестирования.

Сервер поднимается на порту из настройки «Порт сервера MCP» на той же закладке AI (по умолчанию 9874; если порт не задан или задан неверно, используется 9874). Обе настройки можно задать и параметрами StartMCPServerOnVAStartup и MCPServerPort, например в файле VAParams.json.

Если сервер уже запущен (например, его запустили вручную), автозапуск ничего не делает и настройка «Порт сервера MCP» не применяется.

Автозапуск не действует, если свой MCP-транспорт установил внешний плагин (внешний фасад расширения) — в этом случае транспортом управляет плагин.

Ручной запуск сервера MCP

Если автозапуск отключён или сервер нужно запустить вручную:

  • запустите сервер из формы управления MCP расширения client_mcp (кнопка запуска сервера);
  • либо попросите расширение запустить сервер сразу при старте сеанса, передав в командной строке:
"C:\Program Files\1cv8\8.3.27.2130\bin\1cv8c.exe" ENTERPRISE /IBConnectionString "File=""c:\Bases\8.3.27"";" /TestManager /Execute "C:\Commons\rep\vanessa-automation\vanessa-automation.epf" /C "runMcp;mcpPort=9874"

В параметре mcpPort можно указать свой порт сервера, но он должен совпадать с портом в настройках MCP-клиента (в примерах конфигов ниже — 9874).

Диагностика MCP в журнале регистрации

Если нужно разобрать работу MCP (загрузку фич, запуск сценариев, проверку синтаксиса), включите на закладке AI настройку «Записывать служебные данные MCP в журнал регистрации» (параметр AIЗаписыватьСлужебныеДанныеВЖР / WriteMCPServiceDataToEventLog). По умолчанию настройка выключена.

События пишутся в журнал регистрации базы, где запущена Vanessa Automation, с префиксом VanessaAutomation.MCP. и уровнем «Информация». В данных события передаются только служебные поля: режим, идентификатор вызова, путь к файлу, номера строк, статусы и признаки. Тексты ошибок и значения полей тестируемого приложения в события MCP не записываются. Записи удобно отбирать по префиксу события VanessaAutomation.MCP. (в инструменте get_event_log_manager — event_match_type: starts_with).

При включённой настройке вызовы инструментов Vanessa Automation, у которых не было события начала, пишутся событием VanessaAutomation.MCP.Инструмент.Запрос: имя инструмента, идентификатор вызова и имена параметров. Значения параметров не записываются. У инструментов check_syntax, open_feature_file, load_features, execute_feature_step, run_scenario, stop_scenario и restart_vanessa остаются их прежние события начала (СинтаксКонтроль.Запрос, ОткрытиеФичаФайла.Запрос, Шаг.Запрос, Сценарий.Запрос, Сценарий.Остановка, Перезапуск.Вызов, Перезапуск.Запрос). В ветках отказа run_scenario, open_feature_file и load_features, которые завершаются до своего события начала, запись о вызове может отсутствовать. Инструменты, зарегистрированные расширением (например, infobase_info), этим событием не покрываются.

При частом опросе get_vanessa_automation_state и get_test_results журнал растёт, а каждая запись выполняется серверным вызовом и может добавлять задержку: включайте настройку на короткое время диагностики. Вызов самого get_event_log_manager тоже пишется в журнал и может попасть в читаемую выборку.

Проверка

Запущенный сервер MCP отвечает по адресу http://<компьютер менеджера тестирования>:<порт>/mcp. Если IDE работает на том же компьютере, в настройках MCP клиента указывается http://localhost:9874/mcp — примеры конфигов для разных плагинов приведены ниже. Через MCP доступно управление сеансом 1С, поэтому не открывайте порт сервера во внешнюю сеть — для удалённого подключения используйте доверенную сеть.

🚀 Реальный проект покрытия тестами

Файлы из examples/МультиАгент/ — это шаблоны. Для покрытия тестами конкретной конфигурации 1С создаётся реальный проект — отдельный каталог, в котором лежат копии шаблонов и проектные данные.

📂 Структура реального проекта

<корень_проекта>/
├── ТестПлан.MD                  ← Вход: тесты в свободной форме (Дано/Когда/Тогда)
├── ТестПлан.pdf                 ← PDF-версия для согласования (опционально)
├── ПараметрыКонфигурации.MD     ← Пути к DT, исходникам, профилю (ОБЯЗАТЕЛЬНО)
│
├── InstructionsResearch.md       ← Копия шаблона
├── InstructionsWriteScenario.md ← Копия шаблона
├── ПодготовкаУправляющегоАгента.MD ← Копия шаблона
│
├── ПромптыСубагентов/           ← Копии промптов субагентов
│
├── Чеклисты/                    ← Чек-листы для ревьюеров
│   └── *.MD
│
├── dt/                          ← DT-эталон и лог restore
│   ├── <Эталон>.dt
│   └── log.txt
│
├── data/                        ← Выход: анализ командного интерфейса
│   └── АнализДанных_<NN>_<...>.MD
│
├── research/                    ← Выход: результаты исследования
│   └── РезультатИсследования_<NN>_<...>.MD
│
├── features/                    ← Выход: готовые feature-файлы
│   └── <NN>_<КраткоеНазвание>.feature
│
├── rewiew/                      ← Выход: отчёты ревьюеров
│   ├── rewiew_<NN>_<...>_Researcher_<N>.MD
│   └── rewiew_<NN>_<...>_Writer_<N>.MD
│
├── restore/                     ← Выход: отчёты о восстановлении базы
│   └── Restore_<NN>_<...>.MD
│
├── writer/                      ← Выход: логи работы Писателя
│   └── ПисательСценариев_<NN>_<...>.MD
│
├── png/                         ← Скриншоты (создаются при отладке)
│
└── Архив/                       ← Старые/неактуальные файлы

🔄 Полный workflow от ТестПлан.MD до готовых feature-файлов

ВХОДЫ (пользователь):
├── ТестПлан.MD           — тесты в свободной форме
├── dt/<Эталон>.dt        — эталонное состояние базы
└── ПараметрыКонфигурации.MD — пути проекта

         ↓

УПРАВЛЯЮЩИЙ АГЕНТ (оркестратор):
1. Парсит ТестПлан.MD → СПИСОК_СЦЕНАРИЕВ
2. Для каждого сценария запускает цепочку субагентов

         ↓

ВЫХОДЫ (по каждому сценарию):
├── data/АнализДанных_<NN>.MD            ← от АнализДанныхИИнтерфейса
├── research/РезультатИсследования_<NN>.MD ← от Исследователя
├── rewiew/rewiew_<NN>_Researcher.md     ← от Код-Ревьюера (Researcher)
├── features/<NN>_<...>.feature         ← от Писателя
├── rewiew/rewiew_<NN>_Writer.md         ← от Код-Ревьюера (Writer)
├── restore/Restore_<NN>.MD             ← от АдминистраторБазы
└── writer/ПисательСценариев_<NN>.MD    ← лог работы Писателя

         ↓

НАКОПЛЕНИЕ ЗНАНИЙ:
└── Memory.MD  ← по итогам работы сюда записываются
                  новые знания о конфигурации

📋 Шаги для запуска нового тестового проекта

  1. Создать каталог проекта (например, C:\Commons\rep\AI\testERP7\).
  2. Скопировать шаблоны из examples/МультиАгент/:
  3. InstructionsResearch.md
  4. InstructionsWriteScenario.md
  5. ПодготовкаУправляющегоАгента.MD
  6. ПромптыСубагентов/ (целиком)
  7. Чеклисты/ (целиком)
  8. Создать ПараметрыКонфигурации.MD и заполнить пути.
  9. Подготовить DT-эталон — положить в dt/<Эталон>.dt.
  10. Написать ТестПлан.MD — заполнить тесты в свободной форме.
  11. Запустить Управляющего Агента (см. ПодготовкаУправляющегоАгента.MD).

🔗 Связь между шаблонами и реальным проектом

Шаблон (examples/МультиАгент/) Копия в реальном проекте Отличия
ПодготовкаУправляющегоАгента.MD копируется обычно без изменений
InstructionsResearch.md копируется может дополняться под конфигурацию
InstructionsWriteScenario.md копируется обычно без изменений
ПромптыСубагентов/*.MD копируются в ПромптыСубагентов/ обычно без изменений
ПараметрыКонфигурации.MD (шаблон) создаётся в проекте заполняется конкретными путями
ТестПлан.MD (шаблон) создаётся в проекте заполняется тестами
— dt/, data/, features/ и т.п. создаются автоматически

⚠️ Что НЕ нужно менять

  • Шаблоны промптов уже универсальны — они читают ПараметрыКонфигурации.MD и ТестПлан.MD из текущего каталога проекта.
  • ПодготовкаУправляющегоАгента.MD универсален — он парсит ТестПлан.MD и запускает субагентов.
  • Memory.MD пуст при старте и наполняется по ходу работы.

Примеры конфигов для разных сред управления ИИ

Плагин Continue для VSCode

  • Путь к файлу конфига: "C:\Users\ИмяПользователя.continue\mcpServers\VanessaAutomation.yaml"
    name: VanessaAutomation
    version: 0.0.1
    schema: v1
    mcpServers:
      - name: VanessaAutomation
        type: streamable-http
        url: http://localhost:9874/mcp
    

Плагин cline для VSCode

  • Путь к файлу конфига: "C:\Users\ИмяПользователя\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json"
    {
      "mcpServers": {
        "VanessaAutomation": {
          "type": "streamableHttp",
          "url": "http://localhost:9874/mcp"
        }
      }
    }
    

Плагин Roo Code для VSCode

  • Путь к файлу конфига: "C:\Users\ИмяПользователя\AppData\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json"
    {
        "mcpServers": {
            "VanessaAutomation": {
                "type": "streamable-http",
                "url": "http://localhost:9874/mcp",
                "alwaysAllow": [
                    "activate_process_os",
                    "check_syntax",
                    "close_test_client",
                    "execute_feature_step",
                    "execute_form_actions",
                    "frequently_used_steps",
                    "get_active_form_element",
                    "get_active_window_data",
                    "get_data_from_knowledge_base",
                    "get_editor_state",
                    "get_environment_data",
                    "get_event_log_manager",
                    "get_event_log_test_client",
                    "get_extension_list",
                    "get_form_analysis",
                    "get_form_element_data",
                    "get_form_element_steps",
                    "get_info_about_line_scenario",
                    "get_object_attributes",
                    "get_process_list_os",
                    "get_table_data",
                    "get_test_results",
                    "get_va_settings",
                    "get_vanessa_automation_state",
                    "get_window_list_os",
                    "get_window_list_testclient",
                    "get_window_screenshot_os",
                    "input_text_to_active_field",
                    "load_features",
                    "manage_breakpoints",
                    "manage_clipboard",
                    "manage_command_interface",
                    "manage_editor",
                    "manage_form_elements",
                    "manage_test_client",
                    "manage_test_client_profiles",
                    "manage_uiautomation",
                    "manage_variables",
                    "open_feature_file",
                    "restart_vanessa",
                    "run_scenario",
                    "save_table_document_to_file",
                    "search_for_steps_by_keywords",
                    "select_scenario",
                    "select_step",
                    "speak_text",
                    "stop_scenario",
                    "user_actions_recording",
                    "voice_notification",
                    "window_management"
                ]
            }
        }
    }
    

manage_va_settings намеренно не включён в alwaysAllow: это write-инструмент, требующий отдельного разрешения.

📚 Дополнительные ресурсы

В директории docs/AI/ расположены вспомогательные файлы, которые содержат важную информацию для работы с MCP в Vanessa Automation.

📝 ОписаниеЗадачи.md

Путь: examples/ЗапускаемПромптыВРучную/ОписаниеЗадачи.md

Назначение: Пример оформления задания для ИИ-агента

Что содержит: - 🎯 Пример формулировки контекста задачи - 📋 Пример структурирования требований к тесту - ✅ Пример оформления проверок и ожидаемых результатов

Как использовать: 1. При постановке задачи — используйте как шаблон для оформления требований к сценарию 2. Для обучения — изучите структуру и формат описания задач 3. При создании новых задач — адаптируйте пример под свои потребности, сохраняя общую структуру


📋 1.Исследование.md

Путь: examples/ЗапускаемПромптыВРучную/1.Исследование.md

Назначение: Промт, который запускает работу исследователя, который выполняет требования к задаче "вручную" и собирает информацию.


📋 2.Сценарий.md

Путь: examples/ЗапускаемПромптыВРучную/2.Сценарий.md

Назначение: Промт, который запускает работу по написанию и отладке сценария.


📋 InstructionsResearch.md

Путь: examples/ЗапускаемПромптыВРучную/InstructionsResearch.md

Назначение: Подробное руководство по работе исследователя.

Что содержит: - 📘 Общие вводные и подготовку к работе - 🔧 Включение и остановку записи действий пользователя - 📝 Выполнение будущего сценария тестирования "вручную" - ✅ Сбор информации о реквизитах формы, командном интерфейсе, окнах клиента тестирования, которая потом будет использована для написания и отладки сценария - ✅ Получение примерного сценария на языке Turbo Gherkin, который потом будет использован для написания и отладки сценария


📋 InstructionsWriteScenario.md

Путь: examples/ЗапускаемПромптыВРучную/InstructionsWriteScenario.md

Назначение: Подробное руководство по созданию сценариев тестирования для ИИ агента с использованием MCP инструментов.

Что содержит: - 📘 Общие вводные и подготовку к работе - 🔧 Предварительные действия перед запуском сценариев - 📝 Требования к структуре и форматированию сценариев - 🚨 Алгоритм обработки ошибок - ✅ Чек-лист перед запуском и завершение работы по написанию сценария


📋 ПараметрыКонфигурации.MD

Путь: examples/МультиАгент/ПараметрыКонфигурации.MD

Назначение: Файл с путями проекта (DT-эталон, исходники конфигурации, имя профиля клиента тестирования и т.п.). Все субагенты читают этот файл в начале работы.

Как использовать: 1. Скопировать в корень реального проекта покрытия тестами. 2. Заполнить параметры (путь к DT, путь к исходникам, имя профиля). 3. Субагенты АдминистраторБазы и АналитикКода автоматически будут использовать значения из этого файла.

Параметры: - Имя проекта - Имя профиля клиента тестирования - Путь к DT-эталону - Путь к лог-файлу restore - Путь к платформе 1С - Путь к базе клиента тестирования - Имя пользователя 1С - Путь к исходникам конфигурации - Имя тестируемой конфигурации


📋 Чеклисты/

Путь: Создаётся в корне реального проекта

Назначение: Чек-листы для Код-Ревьюера (и других субагентов), которые формализуют критерии проверки.

Как использовать: - Передаются Код-Ревьюеру при каждой итерации проверки. - Содержат блоки критериев (A, B, C, D) и правила вынесения вердикта.


💾 Memory.MD

Путь: examples/ЗапускаемПромптыВРучную/Memory.MD

Назначение: Файл для хранения накопленного опыта тестирования.

Что содержит: - Универсальные знания об особенностях тестирования конкретной конфигурации - Паттерны решения типовых задач - Рекомендации по избежанию распространённых ошибок

Как использовать: 1. Перед созданием сценариев — прочитайте файл для загрузки накопленного опыта 2. После выполнения задачи — сохраните в этот файл новые знания, если они были получены в процессе работы 3. При возникновении проблем — проверьте, есть ли в файле рекомендации по вашей ситуации


🤖 Многоагентный режим покрытия тестами

Для сложных задач используется многоагентная система, описанная в examples/МультиАгент/ПодготовкаУправляющегоАгента.MD.

Цепочка субагентов для каждого сценария

[Пользователь] → ТестПлан.MD
        ↓
Управляющий Агент (парсит ТестПлан, итерирует по сценариям)
        ↓
1. АнализДанныхИИнтерфейса → data/АнализДанных_<NN>.MD
        ↓
2. Исследователь → research/РезультатИсследования_<NN>.MD
        ↓
3. Код-Ревьюер (Researcher) → rewiew/rewiew_<NN>_Researcher.md
        ↓ (если ✅)
4. Писатель → features/<NN>_<...>.feature
        ↓
5. Код-Ревьюер (Writer) → rewiew/rewiew_<NN>_Writer.md
        ↓ (если ✅)
6. ✅ Готово!
        ↓ (следующий сценарий)
7. АдминистраторБазы → restore/Restore_<NN>.MD

🔗 Рекомендуемый порядок работы с файлами

Для простого случая (1-2 сценария)

ТестПлан.MD (ввод теста в свободной форме)
        ↓
InstructionsResearch.md →  Исследование через UI клиента тестирования
        ↓
InstructionsWriteScenario.md →  Написание и отладка feature-файла

Для сложного случая (многоагентный режим)

ПараметрыКонфигурации.MD → Заполнить пути проекта
        ↓
ТестПлан.MD → Описать все тесты в свободной форме
        ↓
ПодготовкаУправляющегоАгента.MD → Запустить оркестратор
        ↓
   (для каждого теста автоматически:)
   АнализДанныхИИнтерфейса → Исследователь → Код-Ревьюер →
   Писатель → Код-Ревьюер → ✅ Готово
        ↓
features/*.feature, research/*.MD, rewiew/*.MD, restore/*.MD

Доступные инструменты:

Ниже приведена таблица всех доступных MCP инструментов Vanessa Automation, отсортированная по имени инструмента.

Инструмент Описание
activate_process_os Активизирует окно процесса операционной системы: выводит его на передний план и передаёт ему фокус. Аналог шагов <И я активизирую процесс "PID"> и <И я активизирую процесс по заголовку "Заголовок">; полная аналогия с шагом по заголовку — при поиске с маской заголовок, без маски отбор шире — по подстроке. Нужно передать один из параметров: pid (положительное число; активизировать главное окно процесса) или window_title (найти процесс по заголовку или части заголовка окна; поддерживаются маски с *, например Блокнот; поиск без учёта регистра; маска проверяется на полное совпадение строки, поэтому для поиска по части строки оборачивайте выражение в * с обеих сторон). Параметры pid и window_title взаимоисключающие. Полезно перед всем, что работает с активным окном: эмуляция клавиатуры, ввод текста, шаги UI Automation, снятие скриншота. Для работы нужна включённая внешняя компонента VanessaExt. Не работает в веб-клиенте. Клиент тестирования не требуется.
check_syntax Проверяет синтаксис Gherkin в указанном feature-файле. Параметр filePath обязателен; принимается только файл с расширением .feature (каталог и другие расширения отклоняются как INVALID_PARAMS и не меняют текущий каталог фич). Возвращает Markdown с найденными ошибками: неизвестные шаги, структурные проблемы, ошибки ключевых слов. Можно проверять любой feature-файл, даже если он не открыт в редакторе. Проверка оставляет проверяемый файл открытым и активным: если файл не был открыт, открывается новая вкладка; если файл уже открыт в редактируемой вкладке, она активируется; если только в diff-вкладке, создаётся редактируемая вкладка. Прежняя активная вкладка остаётся открытой. Текущим файлом фич становится проверяемый файл, поэтому последующие инструменты работают с ним. В Markdown-ответе указывается, изменилась ли активная вкладка, какая вкладка была активна до и после, была ли открыта новая вкладка и был ли файл открыт до проверки. При ошибке обработки результата загрузки или таймауте ожидания загрузки вкладка проверяемого файла не закрывается, а в текст ошибки добавляется фактическое состояние вкладок редактора.
close_test_client Закрывает сеанс клиента тестирования по имени профиля. Если профиль не указан — закрывает текущий подключённый профиль. Используйте для завершения работы с клиентом тестирования после выполнения тестов.
execute_feature_step Выполняет шаг из .feature файла по номеру строки. Если фича уже загружена, выполняет шаг без повторной загрузки; иначе загружает файл. Параметры reload (принудительная загрузка) и details (расширенный ответ: режим, номера строк, файл дерева). Внешние изменения файла на диске не проверяются. Если идёт загрузка, возвращает ACTION_FAILED с причиной BUSY — повторите вызов после её завершения.
execute_form_actions Выполняет последовательность действий с элементами формы клиента тестирования. Позволяет выполнить несколько действий за один вызов инструмента. Параметр actions_json (обязательный) - JSON-строка с массивом действий. Каждое действие в массиве содержит: action - тип действия (click_button, input_text, и т.д.), element_name - имя элемента формы, table_name - имя таблицы (если элемент в таблице), value - значение для ввода/выбора, другие параметры в зависимости от действия. При возникновении ошибки выполнение прерывается. Ответ - компактный отчёт: одна строка на выполненное действие вида 'N действие адрес ok' (например, '1 set_value Менеджер=Admin ok ("Admin")'); полезная нагрузка read-действий (содержимое списка у get_dropdown_state, данные строк у get_selected_rows) и ошибки приводятся полным текстом. Модальные диалоги: диалог проверяется перед каждым действием, после последнего действия и при ошибке действия (диалог может появиться с задержкой - после цепочки асинхронных обработчиков). Появление модального диалога приостанавливает цепочку: результат возвращается со статусом paused_modal_dialog (это не ошибка), в нём - выполненные действия, текст диалога, его кнопки и машиночитаемый остаток цепочки (блок json), выполненные действия повторять не нужно. Диалоги не закрываются автоматически: ожидаемый диалог закрывайте действием manage_modal_dialog прямо в цепочке сразу после действия, которое его вызывает; неожиданный - ответом на паузу (manage_modal_dialog через manage_form_elements) и продолжением остатка. Окна 'Выбор типа данных' и 'Список значений' диалогами не считаются - с ними работает вызывающая сторона. После add_row на динамическом списке активна форма создания элемента: цепочку нужно остановить и продолжить после записи и закрытия формы; дальнейшие действия с этой таблицей в той же цепочке не выполнятся. Веб-клиент: не поддерживается. Требует подключённого клиента тестирования.
find_form_elements Ищет элементы в активном окне клиента тестирования платформенным методом НайтиОбъекты: по заголовку, по имени элемента или по обоим (параметр search_by: all/title/name; по умолчанию all). Символ * - маска (например, Товар). Для каждого найденного элемента выводится заголовок, внутреннее имя, тип и вид, родитель первого уровня, а также имя табличной части, если элемент находится в таблице (учитываются колонки, вложенные в группы внутри таблицы). Параметр search_string обязателен; limit ограничивает число элементов в ответе (по умолчанию 50, 0 - без ограничения). Поиск идёт только по активному окну; элементы на ещё не открытых закладках (страницах формы) могут не находиться - переключите закладку (страницу) (switch_tab). Пустой результат - не ошибка. Требует платформы 8.3.25 и выше и подключённого клиента тестирования. Это поиск элементов формы клиента тестирования (не путать с find_elements UI Automation в manage_uiautomation).
frequently_used_steps Возвращает информацию о том какие шаги чаще используются по статистике больших проектов. В начале идут часто используемые шаги, далее идут более редко используемые шаги. Возвращает представление шага, описание шага, тип шага. Также возвращает информацию сколько всего шагов есть в накопленной статистике.
get_active_form_element Возвращает идентичность активного элемента формы клиента тестирования в модели TestClient: клиент, окно, форма, элемент (имя, заголовок, тип, вид), а для таблицы - таблица, текущая колонка (если определена) и сведения о выделенных строках. Read-only: не перемещает фокус, не открывает формы и не выполняет шаги. Если элемент не в фокусе или активное окно не является формой, возвращается явное пустое состояние, а не ошибка. Ответ - Markdown и блок JSON; element_id имеет вид <ИмяФормы>/<ИмяЭлемента> или <ИмяФормы>/<ИмяТаблицы>/<ИмяКолонки> (это идентификатор TestClient, не element_id UI Automation). Параметр include_row_values=true добавляет представление текущей строки, если выделена ровно одна строка; по умолчанию возвращается только количество выделенных строк. При множественном выделении текущая строка может быть не определена, представление строки не формируется инструментом (row.selected_count > 1, row.representation = null); неопределённость текущей строки - поведение платформы. Параметр include_edit_text=true читает текст текущего редактирования активного поля шапки или колонки таблицы через ПолучитьТекстРедактирования; это текущий ввод, а не зафиксированное значение; чтение не завершает редактирование. В JSON возвращаются edit_text_requested, edit_text и edit_text_available (false, если текст не запрашивался или метод недоступен). Требует подключённого клиента тестирования; при недоступности платформенного метода ПолучитьТекущийЭлемент() возвращается состояние unavailable с деталями.
get_active_window_data В зависимости от параметра type возвращает важные свойства активного окна клиента тестирования: если type=window_caption - возвращает самое важное значение активного окна: его заголовок. По заголовку окна можно найти окно и получить его данные, можно активизировать окно, можно закрыть окно. Если type=navigation_link - возвращает навигационную ссылку активного окна. Навигационная ссылка потом может быть использована для открытия окна по навигационной ссылке. Также навигационная ссылка помогает понять с каким объектом метаданных связано активное окно. Если type=form_name - возвращает имя формы, подчиненной активному окну. Имя формы позволяет понять с каким объектом метаданных связано активное окно, т.к. в имени формы чаще всего содержится имя объекта метаданных. Если type=form_caption - возвращает заголовок формы, подчиненной активному окну. Чаще всего такой заголовок формы совпадает с заголовком окна-владельца и он нужен редко.
get_data_from_knowledge_base Получает информацию из базы знаний, в которой хранится информация о часто возникающих вопросах и как их решить. Данные в базе знаний хранятся в формате Вопрос - ответ. Чтобы экономить токены можно получать данные порциями. В начале ответа указывается размер переданных данных в байтах и символах: если символов в полученном тексте меньше указанного, ответ был обрезан MCP-клиентом. Можно получить только тексты вопросов, чтобы потом получить ответ только на нужный вопрос. Можно выполнить поиск по вопросам и ответам. Поиск работает без учёта регистра букв. Всю базу знаний можно записать в файл: format=save_to_file и параметр file_path (файл создаётся на машине Vanessa Automation).
get_editor_state Совместимый с прежними версиями инструмент; для нового формата используйте manage_editor (action='get_state'). Возвращает состояние Monaco-редактора Vanessa Automation: открытые вкладки, содержимое активного документа, позицию курсора, ошибки. Один вызов для полного понимания контекста редактора. Если feature файл загружен в редактор Vanessa Automation, то уже можно запускать его сценарии на выполнение с помощью run_scenario. Для действий с вкладками (активация, чтение, сохранение, закрытие) используйте manage_editor.
get_environment_data Получает важные данные об окружении: текущая дата и время, версия платформы 1С:Предприятие, данные об операционной системе, какая используется VA - обычная или Single, включено ли использование внешней компоненты VanessaExt, в какой базе запущен менеджер тестирования, версия MCP (код этого репозитория; версия расширения Мсп_Сервер в неё не входит).
get_event_log_manager Читает журнал регистрации базы менеджера тестирования (той базы, где запущена Vanessa Automation) штатным механизмом платформы. Читаются последние события периода; порядок вывода по умолчанию - от новых к старым. Вызывающая сторона сама выбирает нужные колонки (columns), платформа не материализует лишние. Отборы: date_start, date_end (по умолчанию - последний час), event (системное имя или представление; event_match_type: exact/partial/starts_with), comment (comment_match_type), level, user, computer, application, metadata, data (навигационная ссылка или ЗначениеВСтрокуВнутр), data_presentation, session, server, port, sync_port, transaction, transaction_status; несколько значений - через '
get_event_log_test_client Читает журнал регистрации базы клиента тестирования. Отбор и обрезка выполняются внутри базы клиента (обработка VAExtension_ЖурналРегистрации расширения VAExtension), менеджеру возвращается только результат, поэтому лишний трафик клиент -> менеджер не гоняется. Журнал читается в привилегированном режиме: права пользователя клиента тестирования чтение не ограничивают - учитывайте это, данные ЖР могут быть чувствительными. Контракт параметров и формат ответа те же, что у get_event_log_manager (период, событие, комментарий, уровень, пользователь, компьютер, приложение, метаданные, данные, сеанс, сервер, порты, транзакция, статус транзакции, limit, scan_limit, display_order, columns, data_max_length, output_file, output_format). Требует подключённого клиента тестирования (manage_test_client, action='connect') и расширения VAExtension версии 1.40 и выше в базе клиента.
get_extension_list Получает список всех расширений установленных в клиент тестирования. Клиент тестирования должен быть подключён. Возвращает информацию о каждом расширении. Поля: Имя, Версия, Назначение; Флаги: Активно, БезопасныйРежим. После вызова инструмент возвращает фокус окну, которое было активным до вызова.
get_form_analysis Возвращает информацию о текущей форме тестируемого приложения: дерево элементов или состояние формы как Gherkin-шаги. Требует подключённого клиента тестирования. Важно обращать на флаг Видимости у элемента формы и групп, в которые он входит. Если у элемента Видимость=Истина, а у группы Видимость=Ложь, то скорее всего элемент формы не виден пользователю и он не может с ним взаимодействовать. Параметр only_table (имя или заголовок таблицы) ограничивает ответ одной таблицей формы: возвращаются только эта таблица и её содержимое (все колонки, включая вложенные в группы внутри таблицы, с именем, заголовком, видимостью и толькопросмотром). Полезно, когда полное дерево формы не влезает в лимит ответа. Параметр применим к форматам elements, full и buttons (в full ограничивается только раздел элементов формы). Если таблица не найдена - возвращается ошибка со списком таблиц формы. Если ответ не влезает целиком, дерево можно ограничить и другими параметрами: only_group (только указанная группа/закладка/страница), max_depth (глубина дерева), only_visible (только видимые элементы). Меню формы (контекстное меню и подменю) в дерево по умолчанию не включаются: возвращаются интерактивные элементы; include_menus=true добавляет меню и их пункты, а в формате buttons меню выводятся всегда (пункты меню - это кнопки). Дерево выводится в компактном виде (по умолчанию) для форматов elements, full и buttons: код типа и состояние элемента одной буквой, сокращение внутренних имён (у колонок таблиц печатается полное имя; при совпадении имени с заголовком - [=]), легенда в начале ответа; вид легенды управляется параметром legend (full/short/none). Прежний подробный вывод дерева - compact=false. Формат buttons выводит только кнопки; в десктопном клиенте дерево заходит и в таблицы - до кнопок их командных панелей; если кнопок на форме нет, вернётся сообщение об этом. Gherkin-состояние в full включается по умолчанию и отключается параметром gherkin=false; состояние по умолчанию компактное - строки с пустыми значениями скрыты, режим задаёт gherkin_mode (filled/compact/all). Gherkin-состояние в форматах gherkin и full возвращается на языке генератора (ЯзыкГенератораGherkin); значения полей, имена элементов и таблиц не переводятся; при сбое перевода возвращается русский текст с предупреждением. Примеры: format='elements', only_group='Товары'; format='elements', max_depth=2.
get_form_element_data Получает данные указанного элемента формы клиента тестирования. Возвращает информацию об элементе в формате Markdown: Имя элемента, Заголовок, Тип, Вид, Значение, Представление (если применимо), Флаги: Видимость, Доступность, ТолькоПросмотр. Параметр element_name обязателен и должен содержать имя элемента формы.
get_form_element_steps Возвращает подсказки-шаги или проверки одного элемента формы клиента тестирования, не строя дерево всей формы. Параметр mode обязателен: suggestions - нативные подсказки-шаги исследователя формы, checks - Gherkin-состояние одного элемента. element_name - внутреннее имя элемента; если не указан, берётся активный элемент. Для колонки таблицы укажите её имя: table_scope=current (по умолчанию) проверяет текущую ячейку, all - всю таблицу; table_name проверяет, что колонка принадлежит указанной таблице. Для кнопок и групп режим checks в v1 не поддерживается. Инструмент не строит дерево формы и требует платформы 8.3.25 и выше и подключённого клиента тестирования. Не поддерживается в веб-клиенте.
get_info_about_line_scenario Получает подробную информацию о указанной строке файла открытого в редакторе. Если в строке находится шаг сценария, то будет возвращена подробная информация о шаге. Параметр lineNumber обязателен: положительное целое число.
get_object_attributes Получает значения реквизитов объекта (и их тип), связанного с открытой формой. Работает только для форм объектов (Справочники, Документы и т.п.), не работает для форм списков и служебных форм. Типичный сценарий: открыта форма документа, табличная часть заполнена, но документ не записан; вызов data_mode='single_tabular_section', tabular_section_name='Товары', only_filled=false возвращает все строки и колонки табличной части, включая несохранённые изменения, без выделения строк. В режиме single_tabular_section only_filled не фильтрует строки: возвращаются все строки, включая незаполненные. Для больших табличных частей используйте row_numbers ('1,3,5') или row_ranges ('1-100,200-300') только вместе с data_mode='single_tabular_section' и tabular_section_name; дубликаты убираются, вывод по возрастанию; в ответе есть totalRows, requestedRows, rowsSerialized, rowsReturned, rowsFilteredOut, coverage, complete, truncated, outOfRange; complete=true, если возвращены все строки табличной части и outOfRange пуст (при отборе подмножества строк complete=false; если отбор покрывает всю таблицу - complete=true); truncated всегда false - инструмент не обрезает ответ молча; outOfRange содержит только элементы, полностью вышедшие за таблицу, а у частично существующего диапазона недостающие строки видны по requestedRows/rowsReturned. format='json' поддерживается для all, attributes_only, tabular_sections_only, single_tabular_section (для single_attribute - нет). Снимок содержит зафиксированные значения; незавершённый ввод текущей ячейки читайте через get_active_form_element (include_edit_text=true), который вызывает ПолучитьТекстРедактирования и не завершает редактирование. Данные объекта и представление таблицы на форме могут отличаться по заголовкам, порядку и отображению колонок; состав колонок формы смотрите в get_form_analysis (only_table). Параметры режима: all (все данные), attributes_only (только реквизиты шапки; по умолчанию; табличные части не сериализуются), single_attribute (значение реквизита, требуется attribute_name; для колонки ТЧ - первая строка), tabular_sections_only (только все табличные части), single_tabular_section (только указанная табличная часть, требуется tabular_section_name). only_filled: true (только заполненные, по умолчанию), false (все); в single_attribute и single_tabular_section не применяется. navigationLink - читать по навигационной ссылке без открытой формы; row_numbers/row_ranges/format для него поддерживаются. Данные читаются из активного окна; после чтения инструмент возвращает фокус окну, из которого читал. Тот же набор параметров режима (кроме row_numbers, row_ranges и format) поддерживает get_table_data при object_type=6.
get_process_list_os Возвращает список процессов операционной системы в формате Markdown-таблицы: PID и командная строка (при наличии данных - и дата старта процесса). Полезно для диагностики: какие процессы запущены, какие клиенты тестирования активны. Параметр only_1c - если true, вернутся только процессы 1С (отбор выполняет внешняя компонента VanessaExt). Параметр filter отбирает процессы по части имени процесса, командной строки или PID; поддерживаются выражения с масками, где * - произвольный набор символов, например 1C; если маски нет - выполняется поиск подстроки; поиск без учёта регистра; маска проверяется на полное совпадение строки, поэтому для поиска по части строки оборачивайте выражение в * с обеих сторон. Параметр limit - максимальное количество процессов в ответе (0 - вернуть все, по умолчанию 100). Для работы нужна включённая внешняя компонента VanessaExt. Не работает в веб-клиенте.
get_table_data Получает данные из таблицы базы данных. Цель - понять какие тестовые данные уже есть в базе, чтобы лучше понимать какими данными заполнять объекты в тестах. Нужно указать Тип - object_type: 1 = Справочник, 2 = Документ, 3 = Перечисление, 4 = одна константа, 5 = все константы, 6 = Реквизиты объекта по навигационной ссылке, 7 = План видов характеристик, 8 = все справочники, 9 = все документы, 10 = все перечисления, 11 = все планы видов характеристик. Надо указать Вид - object_name (обязательный параметр для object_type 1-4 и 7). limit - сколько элементов возвращать (необязательный, по умолчанию 10). Для справочников будет возвращено Наименование, Код, Владелец, если такие поля есть у данного вида справочника. Если справочник подчинен другому справочнику, то должен быть параметр для указания владельца. Для документа будут возвращены Дата, Номер. Для справочников и документов будет также возвращена навигационная ссылка. Для документов можно передать date_start и date_end (оба необязательные, формат: "30.12.2025 15:45:55"). name_filter - отбор по наименованию элемента. Работает для Справочников и Планов видов характеристик. Для документов (object_type = 2) не применяется - у документов нет реквизита "Наименование", используйте filter, например filter="Номер = мп00-000001". Необязательный параметр. Нужен, чтобы проверить есть ли конкретный элемент в базе. name_match_type - режим сравнения для name_filter: exact (точное совпадение, по умолчанию), partial (частичное совпадение, подстрока в любом месте наименования), starts_with (наименование начинается со значения). Работает только совместно с name_filter (для Справочников и Планов видов характеристик; для документов не применяется). Необязательный параметр. navigationLink - навигационная ссылка на элемент справочника или документ (используется когда object_type = 6); при чтении по ссылке набор параметров режима совпадает с get_object_attributes (кроме row_numbers, row_ranges и format - они относятся только к get_object_attributes): data_mode ('attributes_only' по умолчанию, 'all', 'single_attribute', 'tabular_sections_only', 'single_tabular_section'), attribute_name (реквизит для 'single_attribute'), tabular_section_name (табличная часть для 'single_tabular_section'), only_filled (только заполненные; по умолчанию true); object_name при object_type = 6 игнорируется. Параметры режима применяются только при object_type = 6; при других object_type не передавайте data_mode, attribute_name, tabular_section_name и only_filled, иначе инструмент вернёт INVALID_PARAMS (исключение для совместимости: явные прежние значения по умолчанию data_mode='all' и only_filled=false принимаются и не применяются). start_number - начальный номер константы в диапазоне (1-based, используется только при object_type = 5). end_number - конечный номер константы в диапазоне (1-based, используется только при object_type = 5). Для планов видов характеристик (object_type = 7) возвращаются Наименование, Код, если такие поля есть у данного вида ПВХ, а также навигационная ссылка. Для справочников, документов и планов видов характеристик в ответе дополнительно возвращается общее количество элементов/документов в информационной базе (без учёта фильтров и параметра limit). object_type = 8 - возвращает список имён всех справочников в базе. object_type = 9 - возвращает список имён всех документов в базе. object_type = 10 - возвращает список имён всех перечислений в базе. object_type = 11 - возвращает список имён всех планов видов характеристик в базе. Ответ выводится таблицей Markdown (справочники, документы, константы), элементы перечислений - нумерованным списком "N. Имя — Представление". Данные читаются через служебную форму расширения; после вызова инструмент возвращает фокус окну, которое было активным до вызова.
get_test_results Подробные результаты выполнения сценария: статус каждого шага, время, ошибки. Для шага подсценария дополнительно выводятся файл шага, строка вызова и идентификатор вхождения вызова. Если scenarioId не указан — результат последнего сценария. Для результата одиночного шага (execute_feature_step) выводится отметка «Результат выполнения одиночного шага», строка «Сценарий не завершён» не печатается. При остановке или незавершённом прогоне указывает причину: остановку вызовом stop_scenario или прочую остановку (точка останова, кнопка остановки, настройка остановки при ошибке). Для идущего непрерванного прогона причина не выводится. Параметр format=json возвращает машиночитаемый объект: schemaVersion (1.1), runId, ok, scenarioId/treeRowId, имя сценария и фичи, статус, isComplete (есть финальный статус или результат одиночного шага), ошибку, шаги с id/lineNumber/status/error и счётчики; при отсутствии результата ok=false, isComplete=false и reason (result_not_ready/no_results/scenario_not_run); значения параметров шага в JSON не выводятся.
get_va_settings Читает настройки Vanessa Automation в уже работающем сеансе. Действия (параметр action): list (по умолчанию) — список настроек с фильтрами и поиском по частичному совпадению, get — одна настройка по key или path (тип, текущее значение, значение по умолчанию, допустимые значения, состояние элемента формы, зависимости), groups — список групп. Поиск query не учитывает регистр, приводит ё к е и игнорирует разделители _ - пробел и точку; ищет по русскому имени, английскому json-ключу, path и синониму (например, query=allur находит настройки отчёта Allure). Фильтры: match (contains/starts_with/exact), group, path_prefix, keys, available_only; пагинация — limit (по умолчанию 50, максимум 200, 0 — все) и offset. Состав ответа: include_values (по умолчанию true), include_defaults, include_allowed_values, include_ui_state. Для каждой настройки возвращаются kind, settable, read_only_reason, requires_restart, requires_handler и подсказки. Значения возвращаются как есть, без маскирования паролей и токенов. Клиенты тестирования и GlobalVars в инструмент не входят (manage_test_client_profiles/manage_test_client и manage_variables); КаталогФич доступен только для чтения (open_feature_file/load_features/run_scenario); lifecycle-ключи помечены ACTION_ONLY. Формат ответа — format=markdown (по умолчанию) или json.
get_vanessa_automation_state Возвращает текущее состояние Vanessa Automation (по умолчанию в формате Markdown, при format=json — машиночитаемый JSON): выполняется ли сценарий, текущая фича (имя, путь, язык, теги), текущий сценарий (имя, статус, теги, treeRowId), текущий шаг (id, текст, значения параметров, номер строки, статус; stepFile — файл шага, isSubScenarioStep — признак шага подсценария, для подсценария subScenarioCallLine — строка вызова, callId — идентификатор вхождения вызова; статус Running означает, что шаг выполняется), подключён ли клиент тестирования. Результат сценария выводится компактно: статус, время, упавший шаг, краткая ошибка, один блок технических данных и подробности ошибки в details; полная детализация — в get_test_results по scenarioId. Данные о фиче, сценарии и шаге относятся к прогону, а не к файлу в редакторе (файл редактора — manage_editor). Параметр format=json возвращает машиночитаемый объект: schemaVersion (1.1), runId, ok, текущую фичу (tags — массив строк), сценарий (isComplete — есть финальный статус или результат одиночного шага), текущий шаг (name/lineNumber/id/status/statusRaw), упавший шаг (name/lineNumber/id/status/statusRaw/error), счётчики, stateAvailable/stateReason; полный список шагов — в get_test_results; значения параметров шага в JSON не выводятся.
get_window_list_os Возвращает список окон доступных для снятия скриншота с точки зрения операционной системы. Нужно вызвать перед get_window_screenshot_os.
get_window_list_testclient Получает список внутренних окон клиента тестирования. Результат можно использовать для управления окнами с помощью инструмента window_management (активизировать, закрыть, открыть навигационную ссылку), либо для получения данных из текущего окна get_active_window_data. Результат нельзя использовать для получения скриншота окна, т.к. список внутренних окон клиента тестирования и список окон с точки зрения операционной системы - это разные вещи.
get_window_screenshot_os Делает скриншот окна клиента тестирования и возвращает изображение, для последующего анализа скриншота с помощью компьютерного зрения. Параметр window_title определяет с какого окна нужно снять скриншот, т.к. у одного клиента тестирования может быть несколько окон. Параметр обязательный. Чтобы получить список доступных окон для снятия скриншота надо вызвать get_window_list_os. Параметр color_mode определяет режим цвета: grayscale (черно-белый, по умолчанию) или color (цветной). Если клиент тестирования не подключён или не запущен, возвращает ошибку с подсказкой сначала вызвать manage_test_client с action: connect.
input_text_to_active_field Вводит текст в активное поле, эмулируя ввод с клавиатуры через внешнюю компоненту VanessaExt. Имя элемента формы указывать не нужно: текст вводится в то окно, которое сейчас активно в операционной системе. Если текст должен попасть в неактивное окно, передайте activate_window=true - тогда перед вводом будет активизировано окно клиента тестирования, либо окно, заданное параметрами pid или window_title. Раскладка клавиатуры не важна. Вводятся только символы: клавиши Enter, Tab и другие не эмулируются, для них используйте manage_uiautomation press_keys. Для длинного или многострочного текста поместите его в буфер обмена (manage_clipboard, action='set_text') и вставьте сочетанием Ctrl+V (manage_uiautomation, action='press_keys'). Эмуляция ввода не сообщает об ошибках и может быть прервана, поэтому после ввода проверьте значение поля (get_form_element_data). Пока идёт ввод, не вызывайте инструменты, которые работают с тем же активным окном или вводом: activate_process_os, manage_uiautomation и другие отложенные операции с окнами. speak_text на ввод не влияет и доступен. При выполнении сценариев инструмент отказывает - сначала остановите сценарии (stop_scenario). Параметры: text (обязательный, максимум 1000 символов), delay (задержка между символами в мс, от 0 до 5000, по умолчанию 100 - примерно 10 символов в секунду; длина текста, умноженная на задержку, не должна быть больше 45000), activate_window (по умолчанию false), pid и window_title (взаимоисключающие, используются только вместе с activate_window=true; в window_title поддерживаются маски с *, маска проверяется на полное совпадение строки, поэтому для поиска по части строки оборачивайте выражение в * с обеих сторон). Требует включённую внешнюю компоненту VanessaExt. Не работает в веб-клиенте и под Linux.
load_features Устаревший alias для open_feature_file; сохраняет прежний формат ответа и параметр path. Загружает или перезагружает .feature файл. Используйте после того как вы отредактировали .feature файл, чтобы перечитать файл с диска в Vanessa Automation. Построение дерева выполняется асинхронно; инструменты запуска сценариев дожидаются готовности дерева. Если path не указан, перезагружается текущий файл в редакторе.
manage_app Универсальный инструмент для управления приложением клиента тестирования. Поддерживаемые действия (параметр action): set_file_dialog_result - установить результат диалога выбора файла в клиенте тестирования (параметры: cancel - булево, необязательное, по умолчанию Ложь: Истина = отмена диалога, Ложь = файл выбран; file_name - строка, путь к выбранному файлу, обязателен при cancel=Ложь; filter_index - целое неотрицательное число, необязательный индекс фильтра диалога; при cancel=Истина параметры file_name и filter_index игнорируются). Установленный результат сработает при следующем открытии диалога выбора файла в клиенте тестирования; требует подключённого клиента тестирования (manage_test_client, action='connect'). clear_file_dialog_result - очистить ранее установленный результат диалога выбора файла (не требует параметров; требуется платформа 8.3.25+).
manage_breakpoints Управление точками останова в Gherkin-сценариях; те же действия доступны через manage_editor (list_breakpoints, toggle_breakpoint, remove_all_breakpoints). Действия: toggle (по умолчанию), remove_all, list. Остановка на точке останова прекращает весь прогон: шаг с точкой останова не выполняется, сценарии после него тоже. Точки учитываются по паре (файл шага, строка), поэтому точка на шаге внутри вызванного сценария срабатывает и при вызове из другого сценария; для такого шага toggle возвращает примечание о семантике (при повторном выполнении шага точка сработает снова); любая строка вызова вложенного подсценария пока не проверяется. line — положительное целое число; без line переключается текущая строка курсора, некорректное значение (0, отрицательное, дробное, нечисловое, пустое) отклоняется как INVALID_PARAMS. list возвращает точки по данным редактора: переключение через toggle видно сразу, изменения мышью могут отображаться с запаздыванием; отдельной строкой выводится число участников следующего прогона. Точки других открытых вкладок показываются отдельным разделом: они учитываются по файлу шага и сработают, если в прогоне выполняются шаги из соответствующего файла; в счётчик текущей вкладки не входят, точки-вставки других вкладок в прогоне не участвуют. remove_all очищает только текущую вкладку; если в других вкладках остались точки, ответ об этом предупреждает. При загрузке или перезагрузке фичи точки останова не переносятся: номера строк могли измениться, поэтому проверьте их заново.
manage_clipboard Работает с системным буфером обмена операционной системы через внешнюю компоненту VanessaExt. Поддерживаемые действия (параметр action): set_text - поместить текст в буфер обмена (требуется text), get_text - прочитать текст из буфера обмена (при большом объёме вернутся только первые 100000 символов), clear - очистить буфер обмена. Основной сценарий: длинный или многострочный текст нельзя ввести инструментом input_text_to_active_field (лимит 1000 символов), поэтому текст помещают в буфер обмена (action='set_text'), активизируют окно-приёмник (activate_process_os) и вставляют текст сочетанием Ctrl+V (manage_uiautomation, action='press_keys'). Буфер обмена - общий ресурс операционной системы: инструмент затирает то, что пользователь скопировал ранее, а тестируемое приложение или шаг сценария может перезаписать буфер. Если в буфере обмена файлы, а не текст, action='get_text' вернёт список путей к файлам. Если буфер обмена занят другим приложением, текст может вернуться пустым - повторите вызов. Пока идёт работа с буфером обмена, не вызывайте инструменты, которые работают с тем же активным окном или вводом: input_text_to_active_field, manage_uiautomation, activate_process_os. speak_text буфер обмена не использует и доступен. Параметр text обязателен для action='set_text', максимум 100000 символов, многострочный текст передавайте целиком: переводы строк сохраняются. Требует включённую внешнюю компоненту VanessaExt. Не работает в веб-клиенте. Под Linux поддерживается только текст, файлы и картинки недоступны. При запрете синхронных вызовов способ вставки через manage_uiautomation press_keys не работает.
manage_command_interface Универсальный инструмент для работы с командным интерфейсом 1С:Предприятия. Поддерживаемые действия (параметр action): get_section_panel - получить панель разделов (первый уровень), get_function_panel - получить панель функций (второй уровень, у функций есть навигационная ссылка, которую потом можно использовать для прямого вызова функции), click_section_panel - нажать кнопку панели разделов (после этого действия появится панель функций данного раздела и интерфейс клиента тестирования будет заблокирован, пока не будет выбрана команда из панели функций), click_function_panel - нажать кнопку панели функций (после нажатия на кнопку панели функций нужно проверить, что открылось нужное окно клиента тестирования с помощью инструмента get_window_list_testclient), close_function_panel - закрыть панель функций, если она открыта (если панель функций не была открыта, просто возвращает сообщение о том, что панель функций не была открыта), get_all - получить весь командный интерфейс (панель разделов и для каждой кнопки панель функций). Для click_section_panel: command (обязательно) - имя кнопки для нажатия, returnFunctionPanel (необязательно) - вернуть содержимое панели функций после нажатия. Для click_function_panel: command (обязательно) - имя кнопки для нажатия, group (необязательно) - имя группы, если команды не уникальны.
manage_editor Управление редактором Vanessa Automation. Действия (параметр action): get_state — состояние редактора: вкладки, активный документ, позиция курсора, ошибки, дерево фич; параметры includeContent, includeDocument, includeTabs (по умолчанию true); list_tabs — компактный список вкладок; activate_tab — активировать вкладку; get_tab_content — текст вкладки; save_tab — сохранить edit-вкладку; для активной или деревой .feature-вкладки — как Ctrl+S: записать файл и перезагрузить дерево; пишет файл даже без изменений и возвращает saved, wasModified, treeReloaded, treeReady, treeError; фоновая вкладка другого файла сохраняется без переключения дерева; close_tab — закрыть вкладку; line_info — информация о строке сценария (обязательный lineNumber — положительное целое число); list_breakpoints, toggle_breakpoint (параметр line; без него — текущая строка курсора) и remove_all_breakpoints — точки останова. Для activate_tab, get_tab_content, save_tab и close_tab укажите ровно один селектор: index (с 0), filePath (точное имя файла, поддерживает memory:) или title (точный заголовок без учёта регистра); type — необязательный фильтр any/edit/diff/viewer. Для get_tab_content параметр maxLength ограничивает ответ (по умолчанию 20000 символов, 0 — весь текст). close_tab не закрывает изменённую edit-вкладку без saveChanges=true. activate_tab во время прогона отклоняется, если не передан allowDuringRun=true. Активация не перечитывает файл и не перезагружает дерево фич.
manage_form_elements Универсальный инструмент для управления элементами формы клиента тестирования. Поддерживаемые действия (параметр action): click_button - нажатие на кнопку формы (требуется element_name), input_text - ввод текста в поле (требуются element_name и value; ввод не фиксирует значение - завершите ввод, например simulate_tab), open_dropdown - открыть выпадающий список (требуется element_name; у перечислений и других статических списков элементы видны сразу, у ссылочных полей с вводом по строке список наполняется только после ввода текста в поле - открытый без текста список пуст, это поведение платформы), get_dropdown_state - получить состояние открытого списка (требуется element_name; инструмент дожидается формирования открытого списка, т.к. наполнение после ввода текста асинхронное; если список всё ещё пуст, повторите вызов через несколько секунд), select_from_dropdown - выбрать значение из открытого списка (требуются element_name и value; перед выбором инструмент дожидается формирования списка), set_value - установить значение в поле одним действием (требуются element_name и value; для ссылочных полей с вводом по строке инструмент вводит текст, дожидается формирования списка и выбирает значение, при неудаче дожидается формирования и повторяет выбор; в ответе на успех выводится фактически выбранное представление ("Выбрано из списка: ..."), т.к. выбор по строке берёт первый элемент сформированного по тексту списка; если в выбранном представлении нет введённого текста, в ответ добавляется предупреждение), open_choice_form - открыть форму выбора для поля (требуется element_name), set_radio_button - установить переключатель (требуются element_name и value; value - представление (текст) варианта переключателя, как в списке выбора; имеет смысл только для полей шапки), set_checkbox - установить флаг (требуется element_name), unset_checkbox - снять флаг (требуется element_name), toggle_checkbox - переключить флаг на противоположное значение (требуется element_name), click_hyperlink - нажать гиперссылку (требуется element_name, опционально hyperlink_title или hyperlink_index (индекс с 0), имеет смысл только для полей шапки), simulate_tab - эмуляция перехода TAB (без параметров или с tab_direction), activate_column - активизировать колонку таблицы (требуются table_name и value - имя колонки: имя реквизита табличной части, полное имя поля формы или заголовок), navigate_next_column - переход к следующей колонке в таблице (эмуляция TAB, параметры: table_name), navigate_previous_column - переход к предыдущей колонке в таблице (эмуляция SHIFT+TAB, параметры: table_name), start_edit_row - начать редактирование строки таблицы (параметры: table_name, редактирование начнётся в текущей колонке таблицы; если текущая колонка не редактируется, сначала активизируйте редактируемую колонку действием activate_column; учтите: колонка в реальной форме может быть фактически нередактируемой, хотя по данным элемента формы этого не видно - get_form_element_data показывает обычные 'Вид: Поле ввода', 'Доступность: Да', 'ТолькоПросмотр: Нет' - тогда старт редактирования завершится ошибкой, это ожидаемая ситуация, и нужно выбрать другую колонку), end_edit_row - закончить редактирование строки таблицы (параметры: table_name), navigate_to_row - переход к строке таблицы по ключу (параметры: table_name и row_criteria в формате 'Колонка=Значение;Колонка2=Значение2'), navigate_next_row - переход к следующей строке таблицы (параметры: table_name), navigate_previous_row - переход к предыдущей строке таблицы (параметры: table_name), choose_row - выбрать текущую строку таблицы (эмуляция нажатия ENTER на текущей строке и колонке таблицы, параметры: table_name), get_selected_rows - вернуть значение выделенных строк таблицы (по умолчанию возвращается значение текущей строки, параметры: table_name), create_new - вызывает команду создания нового элемента у указанного поля шапки или поля таблицы (параметры: element_name обязательный, table_name опционально если элемент находится в таблице), switch_tab - переключиться на закладку/страницу формы (группу формы; закладка и страница формы - одно и то же; параметры: element_name имя группы/закладки/страницы), toggle_group - развернуть/свернуть группу (параметры: element_name имя группы, value expand/collapse/toggle), activate_header_element - активизировать элемент шапки формы (параметры: element_name), clear_field - очистить поле (требуется element_name, опционально table_name для полей в таблицах), clear_message_window - очистить окно сообщений пользователю в текущем окне (не требует параметров), select_from_form_dropdown - выбрать значение из списка выбора формы (требуются только value), add_row - добавить строку в таблицу (требуется table_name; для таблицы значений строка открывается на редактирование - заполните поля и вызовите end_edit_row; для динамического списка платформа открывает форму создания элемента, инструмент возвращает успех - строка появится после заполнения и записи формы, end_edit_row для неё не нужен, дальнейшие действия с таблицей - после записи и закрытия формы, при появлении диалога ответьте на него manage_modal_dialog; если активное окно не сменилось и режим не подтвердил редактирование, возвращается ошибка; результат проверяется чтением режима и сменой активного окна), copy_row - скопировать текущую строку таблицы (требуется table_name; требуется платформа 8.3.25+; строка открывается на редактирование; если текущей строки нет - возвращается ошибка; результат проверяется повторным чтением состояния таблицы), delete_row - удалить текущую строку таблицы (требуется table_name; строку-адресат указать нельзя - чтобы удалить конкретную строку, сначала перейдите к ней, например navigate_to_row; перед удалением проверяется, что таблица не в режиме редактирования: начатое редактирование завершается автоматически, а если завершить не удалось - удаление отменяется; при множественном выделении возвращается ошибка; удаляемая строка возвращается в ответе компактной сводкой, полное представление - full_row=true; разрушительное действие - строка удаляется без подтверждения), go_one_level_down / go_one_level_up - перейти на уровень вниз/вверх в дереве (требуется table_name), goto_first_row / goto_last_row - перейти к первой/последней строке таблицы (требуется table_name), goto_next_item / goto_previous_item - перейти к следующему/предыдущему элементу таблицы (требуется table_name), is_expanded - вернуть признак развёрнутости текущей строки таблицы (требуется table_name), select_all_rows - выделить все строки таблицы (требуется table_name; возвращает количество выделенных строк; в веб-клиенте количество может обновляться с задержкой), select_row - установить выделение текущей строки таблицы (требуется table_name; требуется платформа 8.5.1+; не путать с choose_row - Выбрать, эмуляция ENTER), set_cell_text - ввести текст в поле ячейки таблицы (требуются table_name, element_name и value; явная пустая строка очищает ячейку; если строка ещё не редактируется, инструмент сам начинает редактирование; после ввода строка остаётся в режиме редактирования - завершите её end_edit_row; если колонка в реальной форме фактически нередактируемая (по данным элемента формы это не видно), старт редактирования завершится ошибкой - это ожидаемая ситуация, и нужно выбрать другую колонку; не работает в веб-клиенте), set_order - установить порядок таблицы по колонке (требуются table_name и order - имя колонки: имя реквизита табличной части, полное имя поля формы или заголовок; повторный вызов по той же колонке переключает направление сортировки - действие не идемпотентно; метод работает с таблицами-списками (динамическими списками), для табличных частей документов возможна ошибка "в элементе управления отсутствует указанное значение" - она возвращается с подсказкой), switch_row_delete_mark - переключить пометку удаления текущей строки таблицы (требуется table_name; поддерживается только для таблиц динамических списков, вопрос подтверждения платформы действие обрабатывает само - паузы на этом вопросе не будет; изменяет данные), begin_edit_current_area / end_edit_current_area - начать/закончить редактирование текущей области табличного документа (требуется element_name - поле табличного документа), get_current_area_address - вернуть адрес текущей области табличного документа (требуется element_name), get_current_area_text - вернуть текст области табличного документа (требуется element_name; опционально area - адрес области, без него возвращается текст текущей области), get_doc_area_horizontal_size / get_doc_area_vertical_size - вернуть размер области данных табличного документа по горизонтали/вертикали (требуется element_name), get_formatted_string_hyperlink_presentations - вернуть список представлений гиперссылок форматированной строки поля (требуется element_name; требуется платформа 8.3.25+), set_area_text - ввести текст в область табличного документа (требуются element_name, area - адрес или имя области, value - текст; явная пустая строка очищает область; не работает в веб-клиенте), set_current_area - установить текущую область табличного документа (требуются element_name и area - адрес или имя области), cancel_edit - отменить редактирование поля, ячейки таблицы или дополнения формы (требуется element_name, опционально table_name - имя таблицы, в которой находится элемент; для ячейки таблицы отменяется незавершённый ввод ячейки, строка при этом сохраняется - чтобы удалить добавленную строку, используйте delete_row), current_opened - вернуть признак открытости группы (требуется element_name; до платформы 8.3.27.2224 результат мог быть неверным), decrease_value / increase_value - уменьшить/увеличить значение поля (требуется element_name), goto_value - установить значение полосы регулирования в процентах (требуются element_name и percent - число 0-100), current_modified - вернуть признак модифицированности активной формы (без параметров), execute_choice_from_menu - выполнить выбор из раскрытого меню формы (требуется menu_path - путь к пункту меню, уровни разделяются '\n'; меню нужно открыть предыдущим действием, для кнопок командной панели используйте click_button), goto_date - выполнить переход к дате в календаре (требуются element_name и date - дата в формате 'ДД.ММ.ГГГГ'), manage_modal_dialog - ответить на модальный диалог нажатием кнопки (требуется element_name - заголовок или имя кнопки диалога, например 'ОК', 'Да', 'Нет'; сравнение без учёта регистра; диалог ищется среди всех окон, включая окна выбора; expect_text задаёт ожидаемую подстроку текста диалога, optional=true отключает ошибку, если диалога нет). Модальные диалоги в execute_form_actions: диалоги не закрываются автоматически; ожидаемый диалог закрывайте действием manage_modal_dialog прямо в цепочке сразу после действия, которое его вызывает, неожиданный - ответом на паузу и продолжением остатка. Правило выбора действия по типу поля (относится и к полям шапки, и к полям таблиц): ссылочные типы (Справочник, Документ, План видов характеристик) - set_value без exact_match (по умолчанию): инструмент вводит значение как текст и выбирает элемент из сформированного по нему списка, для поля таблицы - с параметром table_name; при тексте без совпадений поведение зависит от поля: у обычных ссылочных полей список пуст и выбор падает с ошибкой ("Не получилось сделать выбрать из списка выбора <...> по строке <...>"; незавершённый ввод отменяется, значение не меняется), а у полей, где платформа под сообщением "нет в списке" показывает список значений (например, поля с автоподбором в 1С:ERP), молча выбирается первый элемент, поэтому в ответе на успех выводится фактически выбранное представление ("Выбрано из списка: ..." - сверяйте его); перечисления и статические списки - set_value с exact_match=true (точное значение из уже сформированного списка, без ввода текста); наполнение выпадающего списка: у перечислений элементы есть сразу после открытия списка (open_dropdown), у ссылочных полей с вводом по строке список наполняется только после ввода текста в поле и данные приходят асинхронно - set_value, select_from_dropdown и get_dropdown_state сами дожидаются формирования списка, а открытый без текста список ссылочного поля пуст - это нормальное поведение платформы; простые типы (строка, число, дата) - input_text для полей шапки и set_cell_text (или input_text с table_name) для ячеек таблиц: списка выбора у них нет, set_value для них не работает; ввод текста в ссылочное поле значение не выбирает - поле останется пустым, и для шапки, и для таблицы; фиксация значения после ввода: simulate_tab для полей шапки, для таблиц - end_edit_row (обязательно, если заполняется последнее редактируемое поле строки, иначе значение фиксирует переход к следующему полю); строку табличной части заполняйте одним вызовом execute_form_actions в две фазы: add_row -> set_value (ссылочные ячейки) -> end_edit_row -> activate_column (нужная колонка) -> start_edit_row -> set_cell_text (число, строка, дата) -> end_edit_row. Завершение редактирования между ссылочными и простыми ячейками обязательно: ячейка ссылочного типа удерживает фокус, и активация другой ячейки, пока в ней не завершено редактирование, падает с ошибкой. Разрывать последовательность между отдельными вызовами инструмента нельзя - режим редактирования строки теряется. Если последовательность всё же разорвана, инструменты set_cell_text, input_text с table_name и clear_field сами начинают редактирование строки заново. Колонка таблицы в реальной форме может быть фактически нередактируемой, хотя по данным элемента формы это не видно: get_form_element_data показывает обычные 'Вид: Поле ввода', 'Доступность: Да', 'ТолькоПросмотр: Нет'. Это бывает, когда ввод прямо в ячейку формой не предусмотрен (например, вместо ввода открывается отдельный диалог редактирования значения). Старт редактирования по такой колонке завершается ошибкой - это ожидаемая ситуация, а не дефект инструмента: активизируйте действием activate_column колонку, которая принимает ввод, и не повторяйте действие с той же колонкой. Для элементов в таблицах используйте параметр table_name. Требует подключённого клиента тестирования.
manage_test_client Управляет клиентом тестирования 1С. Используйте action='connect' с profileName для подключения клиента тестирования. Используйте action='disconnect' для отключения текущего клиента тестирования. При это profileName указывать не обязательно.
manage_test_client_profiles Универсальный инструмент для работы с таблицей профилей клиентов тестирования Vanessa Automation. Поддерживаемые действия (параметр action): get_list - получить список всех профилей клиентов тестирования, add - добавить новый профиль в таблицу, edit - редактировать существующий профиль. Для add и edit: name (обязательно) - имя профиля, synonym - синоним профиля, infobase_path - строка подключения к базе, additional_parameters - дополнительные параметры подключения, client_type - тип клиента (Тонкий (основной вариант), Толстый, Web, МобильныйКлиент, МобильноеПриложение, МобильныйКлиентАвтономный, ОбычноеПриложение), computer_name - имя компьютера, port - порт запуска/подключения клиента тестирования (0 или 1 - автоматический выбор для тонкого, толстого или обычного клиента, 2..65535 - конкретный порт; занятый порт при запуске нового клиента заменяется свободным из диапазона 48000-50000; для Web файловой базы обычно 1538, для серверной - 1541). Если port не указан: add оставляет 0, edit не меняет текущий порт. get_list возвращает порт профиля (порт живого процесса может отличаться) вместе с остальными настройками. Изменение порта подключённого профиля требует переподключения. Уточнение. Если параметры клиента тестирования изменились, то это может потребовать перезапуска клиента тестирования. Подробная информация про то как устроена таблица клиентов тестирования есть в базе знаний, инструмент get_data_from_knowledge_base.
manage_uiautomation Универсальный инструмент для работы с технологией UI Automation (Windows) в любых приложениях: поиск элементов UI Automation по PID/имени/типу/подсказке, чтение свойств элемента, навигация по дереву (родитель/дети/следующий/активный элемент), клики (левый/правый/двойной), эмуляция ввода текста, нажатие сочетаний клавиш, вращение колеса мыши, перемещение курсора, визуальные эффекты на экране (затемнение, рамка, эллипс, стрелка, подсказка-балун). Поддерживаемые действия (параметр action): find_elements — поиск элементов (pid обязателен; критерии отбора — name, control_type или help_text: без них внешняя компонента ничего не находит, в ответе будет пустой список и подсказка про критерий; необязательные параметры: name — точное совпадение имени, control_type — тип элемента (ControlType): Button, Text, Edit, ComboBox, Document, Pane, TabItem, MenuItem, CheckBox, RadioButton, Hyperlink, ListItem, Custom, Group и др., help_text — отбор по подсказке (HelpText), window_title — отбор по вхождению в заголовок окна без учёта регистра, limit — максимум элементов в ответе, 0 — вернуть все, по умолчанию 100), get_element — свойства элемента (требуется element_id), get_children — дочерние элементы (требуется element_id; необязательные name, control_type — отбор по вхождению), get_parent — родительский элемент (требуется element_id), get_next — следующий элемент (требуется element_id), get_active — активный элемент UI Automation (необязательный pid — проверка, что активный элемент принадлежит этому процессу), click — клик по элементу (требуется element_id; необязательный click_type: left (по умолчанию), right, double), input_text — ввод текста (требуется value; необязательные element_id — сначала клик по элементу для передачи фокуса, delay — задержка между символами в мс, по умолчанию 100), press_keys — сочетание клавиш (требуется keys, например Ctrl+S, ENTER, Alt+F4; посылается активному окну операционной системы — окну в фокусе: перед вызовом активизируйте окно-приёмник activate_process_os и убедитесь, что оно в фокусе; element_id не используется), mouse_wheel — вращение колеса мыши (требуется direction: forward или back; необязательный keys — клавиши-модификаторы), move_cursor — перемещение курсора (указать element_id либо x и y), effect — визуальный эффект (требуется effect_type: dim — затемнение вокруг области, frame — рамка, ellipse — эллипс, arrow — стрелка от центра экрана к области, balloon — подсказка-балун с текстом; цель — element_id либо left и top (необязательно width и height); необязательные параметры стиля: text (для balloon — обязательный текст подсказки; для dim — необязательная надпись; у рамки, эллипса и стрелки не применяется), color (число или имя цвета, например 'Красный'), thickness, transparency, duration, frame_delay, font_name, font_size, font_color, background, radius). Элементы адресуются идентификатором element_id из результата action='find_elements' — он действует, пока окно не изменилось. Внимание: действия выполняются в реальных окнах операционной системы — проверяйте PID процесса и найденный элемент перед кликом; клик эмулируется как реальное нажатие мыши по координатам элемента на экране, поэтому попадает в окно, которое находится в этих координатах на переднем плане (обычно это активное окно): если окно с элементом неактивно или точку клика перекрывает другое окно, клик уйдёт не туда — сначала активизируйте нужное окно инструментом activate_process_os и убедитесь, что элемент не перекрыт. Ввод текста и нажатие клавиш (press_keys) уходят активному окну операционной системы (окну, которое сейчас в фокусе), а не элементу UI Automation. Требует включённую внешнюю компоненту VanessaExt.
manage_va_settings Изменяет настройки Vanessa Automation в уже работающем сеансе. Действия: set — одна настройка (key/path + value), apply — набор настроек VAParams из file_path или parameters_json (строка JSON), base_path — базовый каталог для относительного пути; ключи КаталогФич и lifecycle-ключи в наборе попадают в out_of_scope. Перед изменением проверяются тип, допустимые значения (для строковых и числовых списков — так же, как для ссылочных), семантика ключа и доступность элемента формы: эффективные Видимость, Доступность и ТолькоПросмотр с учётом родительских групп. Если настройка сейчас не видна, недоступна или доступна только для просмотра, возвращается SETTING_NOT_AVAILABLE (или UI_ELEMENT_NOT_FOUND), значение не меняется; включающая и зависимая настройки (например, отчёт Allure) применяются двумя вызовами set либо одним apply, если включающая есть в том же наборе. Настройки без элемента формы применяются напрямую с предупреждением; в apply настройка, скрытая из-за явно выключенной включающей настройки в том же наборе, пропускается с причиной DEPENDENCY_DISABLED, а в set возвращается SETTING_NOT_AVAILABLE. После штатного загрузчика значение ключа ЗагрузкаФичПриОткрытии дополнительно записывается напрямую в реквизит (если элемент формы доступен или его нет в форме), как это делает пользователь; чтобы значение действовало при следующем открытии, сохраните настройки VA. Предупреждение также возвращается для requires_restart. КаталогФич — READ_ONLY с подсказкой на open_feature_file/load_features/run_scenario; lifecycle-ключи — ACTION_ONLY; клиенты тестирования и GlobalVars — OUT_OF_SCOPE с подсказкой на профильные инструменты. apply по умолчанию сбрасывает CI-флаги (ЗакрытьTestClientПослеЗапускаСценариев, ЗавершитьРаботуСистемыПослеВыполненияВсехСценариев, ВыгружатьСтатусВыполненияСценариевВФайл), как UI; preserve_ci_flags=true сохраняет их, а set требует allow_ci_flags=true для явного изменения. Проверяются состояние сеанса (прогон, запись действий, загрузка фичи, самотестирование; для запуска из командной строки возвращается предупреждение, изменения разрешены) и expected_revision; expected_current_value поддерживается только для set. Если в наборе apply есть КаталогФич или lifecycle-ключ, он попадает в out_of_scope, остальной набор применяется. dry_run=true возвращает отчёт без изменения. Значения не маскируются. Формат ответа — format=markdown (по умолчанию) или json.
manage_variables Чтение, установка и удаление переменных тестового контекста. Действия с переменными: get (по умолчанию), set, delete. Переменные позволяют хранить произвольные значения в памяти Vanessa Automation. Переменные бывают локальные и глобальные. Локальные существуют во время выполнения сценария; движок очищает их перед штатным запуском сценария. При выполнении одного шага и запуске с текущего шага контекст может сохраняться. Глобальные переменные существуют пока работает Vanessa Automation и не удаляются перед выполнением сценария. Если переменная не найдена, get и delete сообщают об этом в ответе. Для set параметр value обязателен; пустая строка — допустимое значение. Параметр is_global для get с указанным name и для delete определяет, какой контекст использовать; get без name показывает оба контекста.
open_feature_file Открывает .feature файл в Vanessa Editor или активирует уже открытую вкладку; файл перечитывается с диска. Параметр filePath необязателен: если он не указан, перезагружается файл активной редактируемой вкладки (для memory-вкладки или пустой новой вкладки вернётся ошибка). Принимается только файл с расширением .feature (каталог не принимается). Используйте перед check_syntax, execute_feature_step и ручной навигацией по редактору.
restart_vanessa Перезапускает Vanessa Automation из EPF, пересобранного на диске. Используйте, когда EPF обновлён, а в менеджере тестирования всё ещё работает старая запущенная копия. Инструмент сразу отвечает, что перезапуск начат; новую VA проверяйте через 30 секунд. Текущая форма закрывается без подтверждения, несохранённые изменения редактора теряются; после перезапуска клиент тестирования нужно подключить заново. Требует установленного и включённого расширения VAExtension с обработкой VAExtension_ПерезапускVA в базе менеджера тестирования. Работает для Vanessa Automation и Vanessa Automation Single, открытых из файла .epf.
run_scenario Запускает выполнение сценариев. Отправляет прогресс по каждому шагу (step N/M). Возвращает итоговый результат после завершения (при wait=true). Если указан filePath — загрузит фичу, откроет в редакторе и запустит. Режимы: all (по умолчанию — все сценарии; если просят выполнить все сценарии, используйте режим all), reloadAndRun (перечитать файл с диска и выполнить все его сценарии с начала), selected (выбранный в редакторе, перед этим надо вызвать select_scenario), fromCurrentStep (с текущего шага, перед этим нужно вызвать select_step), reloadAndRunFromLine (перечитать файл с диска и выполнить сценарий со строки lineNumber; параметр обязателен). В режимах reloadAndRun и reloadAndRunFromLine фича перечитывается с диска; точки останова не переносятся, так как номера строк могли измениться. filePath — только файл .feature, каталог не принимается. При wait=false в ответе возвращается идентификатор прогона (runId); он же доступен в get_vanessa_automation_state и get_test_results.
save_table_document_to_file Сохраняет содержимое табличного документа в файл на диске. Поддерживаемые форматы: mxl (MXL), xlsx (Excel), pdf (PDF). Параметр file_name обязателен и должен содержать полный путь к файлу. Параметр format необязательный, по умолчанию mxl. Параметр form_element_name обязателен и должен содержать имя элемента формы (табличного документа) для сохранения.
search_for_steps_by_keywords Ищет шаги Vanessa Automation по переданной строке поиска и возвращает их в формате Markdown. Поиск производится по: представлению шагов, описании шагов и типу шагов. В любой параметр можно передавать несколько значений, разделенных вертикальной чертой |. Пример поиска шагов в представлении которых встречается слово "кнопка": search_name = "кнопка|кнопки|кнопку". Пример исключения шагов в представлении которых встречается слово "поле": exclude_name = "поле|поля". Пример поиска шагов в описании которых встречается слово "клиент тестирования": search_description = "клиент тестирования". Пример исключения шагов в описании которых встречается слово "гиперссылка": exclude_description = "гиперссылка|гиперссылки". Пример поиска шагов в типе которых встречается строка "Объекты конфигурации": search_type = "Объекты конфигурации". Пример исключения шагов в описании которых встречается строка "Переменные среды": exclude_type = "Переменные среды".
select_scenario Делает сценарий текущим по его имени.
select_step Делает шаг текущим по номеру строки.
speak_text Синтезирует переданный текст в речь и произносит его пользователю настроенным движком синтеза речи (настройки берутся с закладки "Сервис" - "Автоинструкции" - "Аудио" - "Озвучивание диктором"). Параметр text обязателен и является массивом строк: при no_play=false массив должен содержать ровно одну фразу, при no_play=true - до 100 фраз (до 10 фраз синтезируются синхронно, больше 10 - пакетно с отправкой прогресса). Каждый элемент - до 500 символов; суммарная длина при синхронном синтезе - до 5000 символов, в пакете - до 50000. Полезно, чтобы голосом сообщить пользователю о завершении длинного задания, о необходимости принять решение или об ошибке. Во время воспроизведения другие MCP-инструменты доступны: плеер работает в отдельном потоке; ошибку возвращает только повторный speak_text, пока предыдущая фраза звучит. Синтез новой фразы синхронный и блокирует интерфейс Vanessa Automation, поэтому во время синтеза другие вызовы ждут. Параметр wait (boolean, по умолчанию false): если true, ответ возвращается после окончания воспроизведения фразы; действует только при no_play=false, при no_play=true игнорируется. Параметр no_play (boolean, по умолчанию false): если true, текст только синтезируется и сохраняется в кеш озвучки, без воспроизведения - полезно для прогрева кеша, последующий вызов с тем же текстом возьмёт озвучку из кеша без обращения к сервису синтеза. Прогрев требует включённого кеширования озвучки в настройках (Сервис - Автоинструкции - Аудио); в режиме обучения прогрев не работает. В режиме no_play при 10 и менее фразах ответ возвращается синхронно после завершения синтеза и может занять несколько секунд; при 11-100 фразах синтез идёт пакетно, ответ приходит после последней фразы, а при наличии токена прогресса отправляются уведомления. Ограничение "пока фраза звучит, повторный вызов возвращает ошибку" на no_play не действует. Требует включённую внешнюю компоненту VanessaExt. Не работает в веб-клиенте и под Linux.
stop_scenario Посылает команду Vanessa Automation, что нужно остановить выполнение сценариев. На обработку команды может понадобится время. При отсутствии активного прогона сообщает, что останавливать нечего. Ошибка команды остановки возвращается как ACTION_FAILED.
user_actions_recording Управляет записью действий пользователя в клиенте тестирования. Поддерживаемые действия (параметр action): start (по умолчанию) - начать запись действий пользователя (если запись уже идёт, новая не начинается и текущая не останавливается), stop - остановить запись и вернуть записанные шаги в формате Turbo Gherkin (если запись уже завершена, повторная остановка не выполняется и возвращается последний сохранённый результат), status - состояние записи и последнего результата (идёт ли запись, есть ли завершённый результат, идентификатор захвата, время завершения, длина текста), get_result - вернуть последний завершённый результат записи, не изменяя его и не останавливая новую запись, clear - очистить сохранённый результат записи. Необязательный параметр capture_id задаёт идентификатор захвата для get_result и clear; если он не совпадает с актуальным, get_result возвращает только метаданные актуального результата (без текста), а clear ничего не очищает. Результат записи сохраняется при любой остановке: кнопкой Vanessa, из MCP или шагом библиотеки. Сохранённый результат живёт до закрытия формы Vanessa Automation. Действия status, get_result, clear и stop при уже завершённой записи не требуют подключённого клиента тестирования. Инструмент не изменяет открытый в редакторе feature-файл.
voice_notification Воспроизводит голосовое уведомление через внешнюю компоненту VanessaExt. Полезно в тех случаях, если ИИ агент работает в отдельной виртуальной машине, выполняет какое-то длинное задание и пользователю удобно получать голосовое уведомление о: задании выполненном, необходимости принять решение, задании, которое не может быть выполнено, или ошибке при выполнении задания.
window_management Универсальный инструмент для управления окнами клиента тестирования. Поддерживаемые действия (параметр action): activate - активизировать окно по заголовку (требуется window_title), close - закрыть окно по заголовку (требуется window_title; для поиска по части заголовка используйте маску , например 'Окно'), open_navigation - открыть навигационную ссылку (требуется navigation_link). Для активизации окна: укажите action='activate' и window_title с полным заголовком окна или используйте символы * для поиска по частичному совпадению (например, 'Окно'). Без маски заголовок сравнивается целиком. Для закрытия окна: укажите action='close' и window_title с полным заголовком окна или используйте символы * для поиска по частичному совпадению (например, 'Окно*'). Без маски заголовок сравнивается целиком. Для открытия формы: укажите action='openavigation' и **vigationink** с вигационной ссылкой; если такая форма уже открыта, открывается новое окно - переключитесь на нужное окно действием active**, дубликаты закрывайте действием close.