Инструменты по категориям

1C Testpilot читает метаданные живой конфигурации с применёнными расширениями через внешнюю обработку Testpilot в текущем сеансе 1С. Обмен идёт через её служебную форму по TCP-протоколу тест-клиента; XML-выгрузка, индекс и HTTP-публикация базы не нужны.

MCP tool по метаданным

tc_get_metadataбез фильтров возвращает имя и версию конфигурации и количество объектов по видам; по meta_type выдаёт список с пагинацией; по полному name — свойства объекта, реквизиты, табличные части, типы с квалификаторами и значения перечислений. search ищет подстроку имени или синонима объекта, field_search — поля; sections ограничивает состав подробностей.

Публикация управляется TC1C_METADATA: auto включает tool вместе с BSL или запросами, true — независимо, false — скрывает. Для списка доступны limit от 1 до 500 и offset; отдельное описание объекта не обрезается лимитом списка. Ответ сообщает полноту чтения и ошибки.

Ограничения

требуется открытая внешняя обработка и разрешение её запуска. Сбор метаданных включает привилегированный режим, который может ограничиваться безопасным режимом или профилем безопасности. Нет отдельных операций изменения метаданных, чтения определения формы, анализа связей или прав ролей. Вычисляемые колонки виртуальных таблиц запросов отдельно не перечисляются.

1C Testpilot работает с живыми окнами и элементами формы через прямое TCP-подключение к клиенту тестирования 1С. Дерево UI и состояния читаются из запущенного приложения; XML-выгрузка конфигурации, EDT и расширение базы для этих операций не нужны.

MCP tools по формам; операция выбирается параметром action:

tc_appактивное окно, дочерние объекты, родитель элемента и скриншот локального окна.
tc_windowпереключение и закрытие окон, команды интерфейса, сообщения пользователя и ответы на диалоги.
tc_findпоиск элементов по имени, классу и типу, ожидание появления объекта.
tc_formобзор элементов и значений, навигация, снимки состояния и сравнение изменений, ожидание закрытия формы.
tc_fieldчтение и ввод текста, клики, флажки, списки выбора, состояния доступности; пакетное чтение и заполнение полей с проверкой принятых значений.
tc_tableчтение и поиск строк текущей таблицы, редактирование ячеек, добавление и удаление строк, выделение и работа с деревом.
tc_docчтение HTML и табличного документа, поиск текста по ячейкам, изменение областей и переходы по гиперссылкам.
tc_calendarвыбор даты и переключение месяца или года.

Сильные стороны

управление реальным пользовательским сеансом, проверка результата заполнения, снимки формы и поддержка нескольких подключений. Скриншоты доступны для локального клиента на Windows или Linux с X11/XWayland.

Ограничения

это управление UI, без генерации или изменения определения формы в метаданных. Поиск строк учитывает текущие отборы и свёрнутые узлы. Снимки читаются последовательно, хранятся в памяти; включение таблиц может активировать строки и оставляет их выделенными. Успешный ответ на действие требует проверки наблюдаемого эффекта; действия могут менять данные базы. Набор операций зависит от версии закрытого протокола платформы.

1C Testpilot предоставляет самостоятельный контур UI/E2E-тестирования через прямое TCP-подключение к локальному или удалённому тест-клиенту 1С. Сценарии записываются в XML uilog и воспроизводятся действиями над текущими окнами и элементами. Дополнительно есть прямой Python API и интеграция с pytest без запуска MCP-сервера.

MCP tools по тестированию

tc_sessionподключение, запуск и остановка локальных тест-клиентов, профили баз, несколько соединений, запись журнала с HTML/Allure-отчётами.
tc_scenariorecord_start, record_finish, record_pause, record_resume, record_cancel, run_scenario: запись и воспроизведение XML-сценариев.
tc_findпоиск элементов и ожидание их появления перед следующим шагом.
tc_formобзор формы, создание и сравнение снимков, ожидание закрытия.
tc_field, tc_table, tc_doc, tc_calendarтестовые действия над полями, строками, документами и датами с чтением результата.
tc_app, tc_windowнавигация по окнам, сообщения об ошибках, показатели производительности и скриншоты локального клиента.

Прямой Python API предоставляет клиент и ссылки на элементы, а pytest — отдельное подключение на тест, диагностику при ошибках и каталог артефактов; отчёты Allure для pytest требуют allure-pytest. Запуск тест-клиента на Windows и Linux возможен на отдельном рабочем столе; на Linux для этого нужен Xvfb.

Ограничения

нет отдельного MCP tool запуска YaXUnit или Vanessa Automation и сборки конфигурации. Запись сообщает lost_actions, воспроизведение — unsupported; неподдерживаемые шаги пропускаются, при ошибке выполнение останавливается. Успешное принятие команды не доказывает изменение состояния; проверки результата задаются сценарием или Python-тестом. Тесты могут записывать данные в базу; доступность действий зависит от версии платформы.

1C Testpilot выполняет запросы и BSL в текущем сеансе живой базы через внешнюю обработку Testpilot. MCP-сервер передаёт запрос и получает результат через элементы её служебной формы по сетевому протоколу тест-клиента; отдельная HTTP-публикация базы и COMConnector не требуются.

Дополнительные MCP tools по данным

tc_execute_queryпараметризованный запрос или пакет запросов в серверном контексте; возвращает колонки и до 500 строк, по умолчанию 100. Поддерживает типизированные даты, ссылки, перечисления и массивы; результат пакета — последняя выборка.
tc_execute_codeBSL с параметрами в клиентском контексте служебной формы или на сервере; возвращает значение переменной Результат.
tc_list_custom_bsl_functionsсписок зарегистрированных в обработке функций, их параметров и контекстов выполнения.
tc_execute_custom_bsl_functionвызов выбранной зарегистрированной BSL-функции с параметрами.
tc_sessionвыбор подключения к базе или сеанса другого пользователя через connection_id, запуск и подключение по YAML-профилю.

Код, запросы и пользовательские функции включаются независимо настройками сервера и по умолчанию выключены. Вызов функций доступен только после подключения обработки с непустым реестром. Запросы учитывают права пользователя: к первой выборке каждого оператора пакета добавляется РАЗРЕШЕННЫЕ, если отсутствует. Для BSL действует настраиваемый список запрещённых идентификаторов; вызовы функций определяются их реализацией.

Ограничения

нужна открытая внешняя обработка и право её запуска; передача её файла на удалённый компьютер не автоматизирована. Отдельной проверки запроса до выполнения нет. Ограничение числа возвращаемых строк не ограничивает объём работы запроса; таймаут не отменяет уже запущенный код или запрос. Сервер также умеет менять данные через обычный UI; этот контур не является режимом только чтения. Встроенной HTTP-аутентификации нет.

Что учитывать

ПодключениеMCP по STDIO, Streamable HTTP или SSE; прямое TCP-подключение к локальному или удалённому клиенту тестирования 1С по бинарному протоколу платформы.
Что нужноPython 3.10+, MCP-клиент и база 1С с клиентом, запущенным в режиме /TESTCLIENT -TPort; сервер работает на Windows, Linux и macOS. Для BSL, запросов, метаданных и пользовательских функций нужна открытая внешняя обработка Testpilot и разрешение её запуска в базе. Для Python-тестов — pytest; для отчётов pytest в Allure — allure-pytest. Изолированный запуск на Linux требует Xvfb.
Важнообычная работа с UI не требует расширения базы или HTTP-публикации 1С. BSL, запросы и пользовательские функции по умолчанию выключены; метаданные автоматически включаются вместе с BSL или запросами, либо отдельно настройкой. Запрос возвращает до 500 строк с учётом прав пользователя; BSL исполняется в контексте служебной формы или на сервере, с настраиваемым запретом идентификаторов. Метаданные читаются в привилегированном режиме, который может ограничиваться безопасным режимом и профилем безопасности. Таймаут BSL/запроса не отменяет выполнение. Скриншоты требуют локального клиента на Windows или Linux с X11/XWayland; на macOS недоступны. Поддержка действий зависит от версии закрытого протокола 1С; встроенной HTTP-аутентификации нет. UI-действия могут изменять данные базы; успешный ответ не всегда подтверждает фактическое изменение. При записи/воспроизведении сценария отдельно возвращаются потерянные и неподдерживаемые шаги.