Releases: ROCTUP/1c-testpilot
Release list
1.8.0
-
Выбор значения одним действием. Добавлен
select_value: выбор из выпадающего списка или формы выбора по тексту либо значениям колонок, с проверкой результата. Такой выбор можно включать в составное заполнение черезset_fields. -
Поиск и настройка списков. Новое действие
searchвводит текст в стандартную строку поиска и возвращает результат после стабилизации строк. Добавлены чтение и изменение отборов и сортировки через стандартную форму настройки списка. -
Дополнительные сведения о полях.
get_contextможет получать через Testpilot.epf подсказки ввода, ограничения типов, настройки и варианты выбора. Свойства читаются одним общим запросом; обогащение можно включать и отключать. -
Изменения формы вместо повторного полного описания.
get_contextпо умолчанию возвращает полное первое чтение, затем — изменения. Полное описание можно запросить явно. Автоматически хранится одно состояние на форму в пределах общих лимитов снимков; дополнительных запросов для сохранения и сравнения нет. -
Меньше данных в ответах. Добавлены выбор колонок в
read_rows, отбор элементов вget_contextи постраничная выдачаfind_objects. Разметка подсветки поиска в строках таблиц удаляется по умолчанию. Неизменившееся окно заменяется наwindow_changed: false, повторяющиеся служебные поля сокращаются. -
Краткие результаты сценариев. По умолчанию возвращаются сводка выполнения и сведения об ошибке; полный список шагов доступен по запросу и сохраняется в журнале. Также сокращены описания MCP-инструментов.
-
Надёжнее чтение таблиц и снимков.
read_rowsподдерживает таблицы с одиночным выделением. Добавлена проверка неактивной вкладки перед чтением и переходом к строке. Снимки больше не объявляют непрочитанную таблицу пустой; таблица с одной строкой и множественным выделением читается и на неактивной вкладке. -
Понятнее ошибки и устойчивее ввод. Ошибки параметров теперь указывают правильную сигнатуру действия, ошибки колонок — подходящие имена. Исправлены завершение ввода после выбора из формы, запись составного выбора в сценарий и распознавание пустого текста надписей. Исправлена передача явно заданного таймаута ожидания выпадающего списка через MCP.
-
Совместимые сценарии Тестера. Добавлен запуск поддерживаемых BSL-сценариев и наборов тестов через MCP и Python API: параметры, вложенные сценарии, проверки форм и таблиц, предварительная проверка без выполнения и отчёты. MCP-инструмент включается отдельной настройкой.
1.7.1
-
Чтение ошибок 1С. Исправлен разбор ответов с вложенными причинами ошибки, из-за которого
get_current_errorмог завершаться таймаутом и нарушать дальнейший обмен с клиентом. -
Закрытие окон.
close_windowтеперь позволяет закрыть конкретное окно по ссылке и проверяет, что оно действительно закрылось. Если форма осталась открытой или ждёт ответа на вопрос, возвращается соответствующая ошибка. Запись сценария сохраняет выбранное окно и ответ на подтверждение закрытия. -
Конфигурации с английским встроенным языком. Исправлены обнаружение служебной обработки, чтение метаданных и передача ссылок и перечислений. Также исправлена передача пустых ссылок на точки маршрута бизнес-процессов.
-
Работа со служебной обработкой. Активная форма Testpilot больше не блокирует открытие рабочих форм, в том числе на пустой начальной странице. Улучшены обработка стартовых окон и диагностика ошибок подготовки обработки.
-
Контроль незавершённого ввода. Если введённый текст изменился до завершения редактирования, последующие действия сообщают об этом и предлагают повторить или отменить ввод. Проверка работает и при воспроизведении сценариев.
-
Состояние сворачиваемых групп. Исправлено обратное значение
current_opened: теперь результат соответствует тому, развёрнута группа или свёрнута. -
Скриншоты на Linux с KWin. Исправлен захват окон, вложенных в рамки оконного менеджера. Снимок обрезается до области окна 1С; при захвате проверяются его принадлежность, положение и размеры.
-
Фильтр BSL-кода. Закрыты обходы запретов через комментарии внутри многострочных строк и одиночный CR. Устранены ложные срабатывания на запрещённые слова внутри строковых литералов (@ksv47).
-
Запуск внешних программ. Прямые методы запуска, включая асинхронный и английские аналоги, добавлены в запреты по умолчанию. Каждый из них можно отдельно разрешить в настройках; вложенные
ВыполнитьиВычислитьостаются запрещёнными всегда. -
Запросы с комментариями. Исправлена обработка комментариев, заканчивающихся одиночным CR: корректные запросы больше не отклоняются, а уже указанный
РАЗРЕШЕННЫЕ/ALLOWEDне дублируется. -
Штатное завершение клиента. Исправлена обработка подтверждения выхода с кнопками «Завершить работу» и «Продолжить работу», из-за которой клиент мог завершаться принудительно.
1.7.0
-
Выполнение кода и запросов из MCP и Python-тестов. Добавлена внешняя обработка Testpilot, которая открывается вместе с клиентом 1С. Можно выполнять BSL-код в клиентском и серверном контексте, передавать параметры и получать результат. Доступность инструментов и ограничения на используемые слова задаются в настройках.
-
Чтение метаданных. Новый инструмент позволяет получать структуру конфигурации, искать объекты и поля, читать реквизиты, табличные части, типы и значения перечислений. Метаданные читаются в привилегированном режиме.
-
Пользовательские BSL-функции. В обработке можно зарегистрировать свои функции с описанием параметров и результата. Агент получает их список и вызывает готовые функции. Инструменты появляются, когда подключённая обработка содержит зарегистрированные функции.
-
Передача значений 1С. Поддерживаются массивы, структуры, даты, перечисления и ссылочные типы, включая ссылки внешних источников данных и точки маршрута бизнес-процессов. Полученные ссылки можно передавать в следующие вызовы.
-
Отчёты Allure. Для работы агента, воспроизведения сценариев и pytest можно выбирать HTML, Allure, оба формата или только JSONL. Шаги сценариев, результаты и скриншоты включаются в отчёты; в pytest они привязываются к соответствующему тесту.
-
Устойчивость соединения. Исправлен обрыв связи с клиентом 1С после нескольких минут простоя. Статус подключения теперь отражает обнаруженный обрыв, показывает выполняемое действие и его длительность. Ожидание очереди ограничено — по умолчанию 60 секунд. Зависшее сетевое ожидание можно прервать принудительным отключением.
-
Штатное завершение работы 1С. При остановке клиента сначала выполняется обычный выход с подтверждением распознанных вопросов о завершении работы. По умолчанию на выход отводится 15 секунд, затем при необходимости процесс завершается принудительно. В ответе указывается способ завершения и причина принудительной остановки. Это поведение действует через MCP и при завершении Python- и pytest-тестов, включая Windows и Linux.
-
Скриншоты на Windows. Исправлено зависание тестового протокола 1С 8.5 после снимка развёрнутого окна. Исправление работает на обычном и изолированном рабочих столах. Если захват с экрана не удался или дал пустое изображение, автоматически используется захват самого окна.
-
Восстановление после таймаута выполнения кода. Сохраняется состояние незавершённого запроса: следующий вызов получает его результат или продолжает завершение без повторного выполнения. Исправлена потеря необходимого подтверждения после промежуточных обращений к интерфейсу.
-
Запись и воспроизведение сценариев. Исправлено сохранение условий поиска строки по большому числу колонок и отслеживание незавершённого редактирования ячейки табличного документа при воспроизведении. Выбор из меню табличного документа теперь сохраняет правильного адресата и воспроизводится на поле документа.
-
Python API после принудительного отключения. Сохранённые объекты
Elementкорректно становятся недействительными, в том числе при отключении во время предварительной проверки элемента. Последующие обращения возвращают предусмотренныйActionErrorвместо необработанных исключений. -
Другие исправления. Исправлена передача HTML с большим количеством изображений. При отказе заполнения строки на неактивной странице сохраняется ссылка на таблицу даже при минимальном лимите ссылок. Запуск изолированного клиента на Linux теперь учитывает общий таймаут запуска.
1.6.0
- Добавлен Python API для работы с клиентом тестирования 1С без запуска MCP-сервера: поиск элементов, действия с формами, групповое чтение и заполнение полей, снимки состояния и обработка ошибок.
- Добавлена интеграция с pytest: запуск по профилю, отдельное подключение для каждого теста, автоматическое завершение клиента, журналы со скриншотами и диагностика при падении теста.
- Добавлены полноценные примеры сценариев для УТ и ЗУП: повторный заказ клиента и приём сотрудника с назначением оклада. Для ЗУП приложен HTML-отчёт реального прогона со скриншотами.
- Добавлено ожидание нужного состояния через
wait_until. В журнале оно отображается одним этапом с длительностью и результатом; промежуточные проверки свёрнуты и не создают лишних скриншотов. - Улучшен запуск и подключение к 1С: ожидание готовности по умолчанию увеличено до 120 секунд, автопоиск на Windows учитывает установки только тонкого клиента, ошибки подключения подробнее объясняют причину отказа.
- Повышена надёжность работы с формами и таблицами: исправлены защита незавершённого ввода, обращения к устаревшим элементам и сохранение частичных результатов групповых операций.
- Исправлена проверка таймаута ожидания выпадающего списка поля: недопустимые значения отклоняются до отправки команды в 1С (@ksv47).
- Исправлен выбор большого количества файлов, включая его запись и воспроизведение в сценариях.
- Ошибка очистки файлового диалога больше не скрывает результат сохранения документа или первоначальную причину отказа (@ksv47).
- Улучшена диагностика воспроизведения сценариев: при ошибке сохраняются название действия и код причины остановки.
- Исправлены переносы длинного текста в HTML-журнале и применение выбранного режима скриншотов pytest при автоматическом начале записи.
1.5.1
- Добавлена загрузка настроек из
.envчерез--env-file. Переменные окружения имеют приоритет над файлом. - Добавлено
delete_rows: удаление текущей или выделенных строк, установка и явное снятие пометок удаления. Поддерживаются подтверждение, запись и воспроизведение этих операций. - Воспроизведение сценария теперь останавливается на первой ошибке и указывает проблемный шаг. При ошибке завершения записи локально собранный сценарий сохраняется в ответе.
- Исправлен учёт незавершённого ввода после воспроизведения: чтение таблиц не должно незаметно принимать введённый текст, а завершённый ввод больше не блокирует снимки формы.
- Исправлена обработка длинных текстов, HTML и крупных изображений, а также заголовков и подсказок с особыми сочетаниями символов.
- Исправлены ошибки выбора пунктов списков и обращения к колонкам таблиц по номеру. При групповом добавлении строк сокращены повторные запросы колонок.
- Ожидание запуска клиента по умолчанию увеличено до 60 секунд. Исправлены проверка графического сеанса на macOS и порядок отключения при остановке клиента.
- Улучшена диагностика: ошибки подключения передают причину отказа 1С, а нехватка ссылок на элементы больше не скрывает результат редактирования ячейки.
1.5.0
- Добавлен журнал работы агента с параметрами вызовов, результатами и скриншотами. HTML-отчёт поддерживает поиск с подсветкой, фильтр ошибок и просмотр снимков с перелистыванием. Запись включается агентом или автоматически; объём хранения ограничивается настройкой.
- Добавлены именованные YAML-профили запуска и подключения: настройки базы, пользователя и клиента можно сохранить один раз и выбирать по имени. Пароль можно брать из переменной окружения.
- Добавлен поиск строк таблицы по нескольким колонкам — по точному совпадению или части текста. Поиск учитывает текущие отборы и свёрнутые узлы и явно сообщает, если проверена только часть строк.
- Исправлены ложные блокировки после редактирования табличного документа: завершение и отмена при воспроизведении сценария позволяют продолжить запись, а закрытая форма больше не мешает создавать снимки других форм.
1.4.0
- Снимки формы теперь могут включать таблицы. Сравнение показывает изменения значений, порядка и количества строк. Данные таблиц доступны и в контексте формы.
- Расширено групповое заполнение: можно добавлять и заполнять несколько строк таблицы, а также устанавливать флажки на форме и в строках. При воспроизведении сценария флажки принимают заданное состояние.
- Добавлен поиск текста в табличных документах, включая печатные формы. Поиск и чтение можно ограничить нужной областью; объединённые ячейки учитываются.
- Улучшена диагностика действий. После нажатия можно получить окно и сообщения 1С с ожиданием их появления. При отказе операции сервер возвращает дополнительные сведения о поле, текущей колонке и открытом списке выбора.
- Исправлены ложные блокировки после завершённого ввода: последующее заполнение полей и создание снимков больше не требуют лишних действий.
- Малый лимит ссылок больше не превращает выполненное нажатие, выбор строки или открытие формы выбора в ошибку.
- При неудачном запуске сервер останавливает созданный им клиент 1С, освобождая занятый порт — как на обычном, так и на изолированном рабочем столе (@ksv47).
1.3.0
- Добавлены снимки состояния форм. Можно сохранить состояние и затем увидеть изменения значений полей, их видимости и доступности, а также появившиеся и исчезнувшие элементы. Доступны список и удаление снимков; ограничения хранения настраиваются.
- Поиск элементов переведён на встроенный поиск 1С, что сокращает количество обращений к клиенту.
- Улучшено групповое заполнение полей. Устранены ложные блокировки после завершения ввода или закрытия формы. Ошибки понятнее объясняют запрет редактирования и необходимость переключиться на нужную вкладку.
- Исправлена работа с элементами, содержащими точки в имени: поиск родителя, чтение пустых значений и сравнение состояния формы.
- Исправлено чтение HTML, размеров табличных документов и пустого выделения строк.
- Повышена надёжность обмена с 1С: специальные сочетания символов в данных больше не повреждают ответы и не нарушают выполнение последующих команд.
1.2.0
- Добавлен запуск 1С на изолированном рабочем столе в Windows и Linux. Клиент работает, не перехватывая мышь и фокус и не мешая пользователю. Режим включается параметром
desktop="isolated"при запуске. Поддерживаются несколько изолированных клиентов и скриншоты их окон. При завершении MCP-сервера клиенты автоматически закрываются. На Linux требуется Xvfb; открытый графический сеанс не нужен. - Исправлено воспроизведение сценариев для таблиц с группами колонок. Действия над вложенными колонками теперь находят нужное поле при обращении через таблицу.
1.0.3
- Улучшена работа с таблицами: чтение строк, снятие выделения и подготовка к удалению. Незавершённый ввод в других полях больше не подтверждается незаметно.
- Исправлено чтение и подтверждение очистки пустых ячеек, в том числе когда вместо пустоты форма показывает текст-заглушку. Для округлённых чисел сервер сообщает, если точное значение нельзя проверить.
- Уточнены ошибки поиска строк и редактирования ячеек: сервер проверяет названия колонок и фактическое начало редактирования, подсказывает подходящее действие.
- Исправлена проверка переключения вкладок и выбора даты в календаре: результат учитывает реальное поведение элемента.
- Доработаны запись и воспроизведение сценариев с таблицами. Повторное закрытие уже закрытого списка выбора больше не прерывает сценарий.
- Исправлено ожидание закрытия формы: предпросмотр и переключение на другое окно больше не дают ложного подтверждения.
- Исправлен таймаут команд: ограничение действует на получение полного ответа и не продлевается при поступлении данных частями.