AI
- MCP: новый инструмент manage_editor — состояние редактора, список вкладок, активация вкладки #2796
- MCP: новый инструмент get_form_element_steps — подсказки или проверки одного элемента формы без анализа всей формы; для колонки проверяется текущая ячейка (table_scope=all — вся таблица), для кнопок и групп checks в v1 не поддерживается; не поддерживается в веб-клиенте; требует платформы 8.3.25 и выше. #2765
- MCP: новый read-only инструмент get_active_form_element — идентичность активного элемента формы клиента тестирования: клиент, окно, форма, элемент, для таблицы - таблица, текущая колонка и сведения о выделенных строках; явные пустые состояния, Markdown и блок JSON, element_id для повторного поиска. Не перемещает фокус и не выполняет шаги. #2766
- MCP: чтение и изменение настроек VA в уже работающем сеансе (get_va_settings, manage_va_settings): каталог и поиск, допустимые значения, эффективная проверка доступности элемента формы с учётом родителей, set/apply, спецключи Allure/TTS, READ_ONLY/ACTION_ONLY/OUT_OF_SCOPE, предупреждения requires_restart. #2776
- MCP get_form_analysis: Gherkin-состояние формы в форматах 'gherkin' и 'full' возвращается на языке генератора Gherkin, как в UI; значения полей, имена элементов и таблиц не переводятся, при сбое перевода возвращается русский текст с предупреждением. #2764
- MCP user_actions_recording: результат записи сохраняется отдельным снимком при любой остановке (кнопка Vanessa, MCP, шаг библиотеки); новые действия status, get_result и clear; stop идемпотентен и при уже завершённой записи возвращает сохранённый результат без повторной остановки; start при идущей записи не переключает её, а сообщает об этом; ошибки старта и остановки возвращаются как ACTION_FAILED. #2768
- MCP: execute_feature_step выполняет шаг по уже загруженной фиче без повторной загрузки; добавлены параметры reload и details. manage_editor save_tab теперь работает как Ctrl+S: сохраняет файл и перезагружает дерево фич, в том числе без изменений; при незавершённой загрузке execute_feature_step возвращает BUSY. #2769
- MCP: execute_feature_step для неисполняемой строки (КонецЕсли, КонецЦикла, пустая группа) возвращает «Строка дерева не может быть исполнена.» вместо «Выполнение остановлено пользователем.». #2769
- MCP: при старте сбор данных для регистрации инструментов MCP и загрузка фич больше не обращаются к ещё не подключённой VanessaExt при включённом поиске файлов через компоненту — используется резервный поиск файлов без компоненты. #2770
- MCP: get_test_results и get_vanessa_automation_state поддерживают format=json — машиночитаемый ответ без разбора Markdown: runId прогона, scenarioId/treeRowId, имя сценария и фичи, статус, ошибка, счётчики; в результатах — шаги с id/lineNumber/status/error и признак ok/reason при отсутствии результата, в состоянии — текущий и упавший шаг, runId в Markdown и JSON (полный список шагов остаётся в get_test_results); значения параметров шага в JSON не выводятся, Markdown остаётся форматом по умолчанию. В Markdown-ответах шаги получили идентификатор и номер строки, добавлены runId и сведения о сценарии/фиче, многострочные ошибки больше не создают ложные заголовки Markdown. Идентификатор прогона возвращается в ответе run_scenario при wait=false. #2771
- MCP: исправления по #2771 — scenario_not_run в свежем сеансе без ACTION_FAILED, экранирование ## в run_scenario, manage_editor и других Markdown-ответах, isComplete и массив строк tags в JSON (schemaVersion 1.1). #2771
- MCP: manage_breakpoints учитывает точки по паре (файл шага, строка): точка на шаге внутри вызванного сценария срабатывает и при вызове из другого сценария, а при повторном выполнении шага — снова. Для такого шага toggle возвращает примечание, в состоянии шага появились stepFile, isSubScenarioStep, subScenarioCallLine и callId, в результатах — файл шага и идентификатор вызова. list показывает точки других открытых вкладок с пометкой об участии (точки-вставки в прогоне не участвуют), remove_all очищает только текущую вкладку и предупреждает об оставшихся точках в других. #2772
- MCP: точка останова на шаге подсценария, объявленного в том же файле, теперь срабатывает при обычном прогоне; stepFile в состоянии и результатах заполняется корректно. #2772
- MCP manage_test_client_profiles: необязательный параметр port в add и edit, вывод порта в get_list; проверка диапазона 0..65535, предупреждения о необходимости переподключения и о настройке диапазона портов. #2773
- MCP get_object_attributes: пример чтения табличной части с несохранёнными изменениями; для больших табличных частей - row_numbers/row_ranges, format=json и метаданные totalRows/requestedRows/rowsReturned/coverage/complete/truncated/outOfRange; снимок содержит зафиксированные значения, текст текущей ячейки читается через get_active_form_element(include_edit_text=true). #2774
- MCP manage_va_settings: значение ЗагрузкаФичПриОткрытии дополнительно записывается напрямую в реквизит после штатного загрузчика, поэтому меняется и при текущем значении «Не загружать»; запись в скрытое, недоступное или доступное только для просмотра поле по-прежнему запрещена. Значение действует в текущем сеансе; чтобы оно действовало при следующем открытии, сохраните настройки VA. #2776
- Разные улучшения по работе MCP. Ноябрь 2026. #2795
- MCP: новый инструмент restart_vanessa — перезапуск Vanessa Automation из пересобранного EPF: инструмент сразу отвечает, открывает новую VA через ЧтениеПараметровПриОткрытии и закрывает текущую форму без подтверждения. Поддерживается Vanessa Automation Single. #2812
Новые возможности
- Дополнительные возможности для СериализаторMXL #2657 Спасибо @maslyann
- Настройка ОставлятьТолькоПоследнююИтерациюЦикла (keeponlylastloopiteration) в группе «Логирование и оповещение»: при включении в результатах выполнения шагов остаётся только последняя итерация цикла, предыдущие итерации удаляются вместе с вложенными шагами, а в отчёте Allure2 в имени шага цикла выводится количество свёрнутых итераций. Настройку можно менять во время выполнения сценария. По умолчанию выключена. #2519
- В контекстном меню редактора добавлено подменю "Вкладки" с командами закрытия вкладок. #2797
- Имя настройки в шагах "я устанавливаю/снимаю флаг настройки Vanessa Automation", "я устанавливаю настройку Vanessa Automation" и "я запоминаю значение настройки Vanessa Automation" можно указывать на английском языке (как в JSON-файле настроек), в любом регистре. #2798
- Настройка ЗакрытьTestClientПослеЗапускаСценариев (closetestclient) выведена на форму в группу «Закрытие клиента тестирования»: при включённом флаге после завершения всех сценариев клиенты тестирования закрываются автоматически. #2799
- При повторном запуске упавшего сценария (КоличествоПопытокВыполненияСценария) промежуточные попытки больше не создают прикрепления, которые затем отбрасываются: скриншоты ошибки, данные Allure и видео прикрепляются, а лог ошибок и отчёт СППР формируются только для последней попытки. Падение в процедурах ПередНачаломСценария/ПередОкончаниемСценария при включённых повторах передаётся в TeamCity как ошибка. #2800
Новые шаги
- И я завершаю выполнение процесса с ИД процесса "PID" #817
- И я завершаю выполнение процессов клиентов тестирования текущего менеджера #2177
- И я добавляю в таблицу "ИмяТаблицыВПамяти" строки #1654
- И я добавляю элемент "$Значение$" к массиву в памяти "ИмяМассива" #808
- И таблица "ИмяТаблицы" не содержит строки отличные от: #1789
- И в таблице "ИмяТаблицы" я перехожу к строке и выбираю #1930
- И я сохраняю состояние текущей формы клиента тестирования в файл "ПутьКФайлу" #2032
- И элементы формы присутствуют на форме #610
- И видимость элементов формы равна макету "ИмяМакета" #610
- И я перезаполняю параметр сеанса "ИмяПараметраСеанса" значением "Значение" #2413
- И я перезаполняю параметр сеанса "ИмяПараметраСеанса" значением "Значение" (Расширение) #2413
- Когда я программно создаю элемент плана видов характеристик "ВидыСубконто" с реквизитами #1597
- Тогда существует элемент плана видов характеристик "ВидыСубконто" с реквизитами #1597
- Тогда не существует элемент плана видов характеристик "ВидыСубконто" с реквизитами #1597
- Если существует элемент плана видов характеристик "ВидыСубконто" с реквизитами Тогда #1597
- Если не существует элемент плана видов характеристик "ВидыСубконто" с реквизитами Тогда #1597
Пул реквесты
- Примеры в описаниях восьми шагов UITestRunner #2753 Спасибо @lyaginww
- Ускорена выгрузка регистров с большим количеством наборов записей #2756 Спасибо @maslyann
- Перенесены возможности продвинутого сериализатора #2755 Спасибо @maslyann
- Описания для проверок существования записей ИБ и исправление проверок регистра накопления #2751 Спасибо @lyaginww
- Генератор дымовых тестов: чистка кода без изменения поведения #2758 Спасибо @OlegKopeykin
- Генератор дымовых тестов: для планов видов расчёта и планов счетов не исключались предопределённые элементы и не генерировалось «Записать и закрыть» #2759 Спасибо @OlegKopeykin
- Генератор дымовых тестов: EN-режим — ошибка запроса при «Только введённые» и печать без нажатия кнопки #2760 Спасибо @OlegKopeykin
- Генератор дымовых тестов: настройки начальной даты и сортировки теперь применяются при генерации из дерева метаданных; исправлены английские имена журналов документов, планов счетов и планов видов расчёта; очистка каталога выходных файлов стала рекурсивной; кодировка файлов исключений определяется для каждого файла; ложные сообщения об успехе при пустом результате и ошибках записи устранены. Спасибо @OlegKopeykin
- Генератор дымовых тестов (EN): старые файлы исключений, имена которых начинаются на
ChartsOfAccountилиChartsOfCompensationTypes, за исключением корректныхChartsOfAccounts...иChartsOfCalculationTypes...(например,ChartsOfAccount.txt,ChartsOfAccount_2024.txt), больше не находятся. Переименуйте их вChartsOfAccounts*.txtиChartsOfCalculationTypes*.txt. ФайлыChartsOfAccounts*.txtнаходились и раньше, аChartsOfCalculationTypes*.txtтеперь находятся и применяются. Английские маски используются, только если по русской маске не найдено ни одного файла. Старые feature-файлы с суффиксами_ChartsOfAccount_и_ChartsOfCompensationTypes_генератор не находит и не обновляет: для них будет предложено создать новый файл. При включённой очистке каталога выходных файлов удаляются все вложенные*.feature, включая старые и вручную поддерживаемые, — переименуйте их заранее или отключите очистку. Файлы исключений*.txtочистка не затрагивает. Спасибо @OlegKopeykin - Обновление компоненты VanessaExt, версия 1.3.9.144 #2775 Спасибо @lintest
- Генератор дымовых тестов: сценарии, которые ничего не проверяли или падали на исправном объекте- #2761 Спасибо @OlegKopeykin
- Генератор дымовых тестов: EN-режим — неверные имена плана видов расчёта и журнала, проверка чужого элемента, копирование без перевода шагов #2762 Спасибо @OlegKopeykin
- Окно ТабличныйДокумент.Показать() принималось за предупреждение: шаги «появилось предупреждение» падали после печати - #2780 Спасибо @OlegKopeykin
- Обновление компоненты VanessaExt, версия 1.3.9.150 #2782 Спасибо @lintest
- Исправлена выгрузка реквизитов типа ХранилищеЗначения в макет #2785 Спасибо @maslyann
Разные доработки
- UI-автотесты плагина «СериализаторMXL»: «Выбрать первые», сводка выгрузки, уровни выгрузки, загрузка макета в базу и проверка загрузки, удаление данных по макету (в том числе каскадное), исключение типов, отбор, конвертация макета, сохранение в файл #2657
- Проверки существования записи регистра накопления всегда падают; у проверок существования записей ИБ нет описаний #2750 Спасибо @lyaginww
- Тест библиотеки «Объекты конфигурации»: проверка записи регистра накопления по ссылочному реквизиту «Регистратор» #2751
- Тест описаний 20 шагов проверок существования записей ИБ: шаги на месте, описания не пусты и содержат примеры #2751
- Автотесты плагина «СериализаторMXL» по выгрузке регистров: имена наборов записей и повторная выгрузка в одном сеансе, «Выбрать первые» для регистра накопления, регистр накопления со ссылочными значениями и проверкой загрузки макета, конвертация макета регистра сведений в JSON, нагрузка на 100 наборах записей #2756
- Тесты библиотеки «Объекты конфигурации»: формы шагов проверок, не встречавшиеся в фичах, пустое значение строкового реквизита, «Период» и «Активность» записи регистра накопления, удаление записи регистра накопления библиотекой не поддерживается #2751
- В примере описания шага «я сохраняю в переменную … ссылку на документ …» библиотеки «Объекты конфигурации» исправлено «ссылку на справочник "Документ1"» на «ссылку на документ "Документ1"» #2751
- Библиотека "Объекты конфигурации": поддержаны планы видов характеристик - создание, поиск и удаление элементов, работа со ссылочными реквизитами ПВХ. #1597
- Команда «Открыть vanessa automation VAEditor» служебной конфигурации теперь всегда открывает Vanessa Automation с редактором, независимо от значения константы ИнициализироватьVanessaEditor. Добавлен необязательный параметр формы ИнициализироватьVanessaEditorПринудительно; остальные сценарии запуска не затронуты. #2801
- При сборке пакетов OneScript версия пакета формируется без ведущего нуля: 1.2.43.46 вместо 1.2.043.46. #2802
- В представлениях шагов «Я» после ключевого слова заменена на «я» — например, <И я жду завершения выполнения всех фоновых заданий (Расширение)>. Сопоставление шагов и переводы регистронезависимы, на работу сценариев не влияет. #2803
- Убраны лишние вызовы методов через переменную "Ванесса": в модулях обработки метод вызывался через ссылку на главную форму, хотя его можно вызвать напрямую или он есть в этом же модуле #2804
- У всех методов всех модулей управляемых форм проекта указаны директивы компиляции #2805
- Кнопка «Выполнить один шаг» (F11) в редакторе: если курсор стоял на строке таблицы Gherkin, переданной в шаг или подсценарий, шаг не выполнялся - выводилось сообщение, что не выбран исполняемый шаг или сценарий. Теперь на строке таблицы выполняется шаг (подсценарий), в который передана таблица; поддерживается несколько таблиц, а при вызове подсценария выполняется весь подсценарий, а не только первый его шаг. #2807
- В подсказке настройки «Оставлять только последнюю итерацию цикла» (ru/en/sv) и в заголовке настройки «Загрузка фичи при открытии» (17 переводов) устаревшее сокращение VB заменено на VA. #2814
- Подсказки основной формы: актуализированы тексты и переводы для записи видео, Allure, библиотек, каталогов, кэша TTS и слайдов; исправлены примеры команды Convert и предупреждение об очистке каталога временных файлов; синхронизированы справка по параметрам JSON и тест перевода; при генерации справки JSON служебные дубли пропускаются. #2815
Исправление ошибок
- Плагин «СериализаторMXL»: конвертация макета в JSON для макетов с несколькими наборами записей регистра; при запросе наборов записей возвращаются все наборы; исправлен вызов СоздатьДанныеПоМакетам (регрессия #2272, конвертация — #2226)
- Запись действий пользователя: заголовок окна с признаком изменения формы больше не записывается с пробелом перед звёздочкой — во всех шагах записи («открылось окно», «я жду закрытия окна», «я закрываю окно») он приводится к виду "Заголовок (создание)*". Маска без пробела подходит и для формы с изменениями, и для формы без них, поэтому сгенерированный сценарий проходит проверку синтаксиса без предупреждений. Поведение регулируется новой настройкой «Убирать пробел перед звёздочкой в заголовке окна» (по умолчанию включена); при записи через MCP пробел убирается всегда. #2719
- Видеоинструкции с флагом "Группа шагов как шаг": если группа начиналась с шага, для которого запись видео не начинается (например, с шага текстовой инструкции "я добавляю ... в автоинструкцию"), группа пропадала из видео целиком. Теперь фрагмент видео группы привязывается к первому шагу группы, для которого запись действительно начнётся. #2757
- При потере соединения с клиентом тестирования (при определении активного окна) менеджер тестирования больше не зависает: соединение разрывается автоматически, флаг подключения в таблице клиентов снимается. #2763
- Кнопка «Выполнить один шаг» (F11) в редакторе: точка останова на выполняемой строке снова не мешает выполнить шаг. После появления карты точек останова по файлам активная строка удалялась только из старого массива, поэтому шаг останавливался до выполнения. Регрессия после #2772.
- При смене языка генератора Gherkin сбрасывается кеш перевода, поэтому последующий перевод шагов выполняется на выбранном языке. #2764
- РаботаСВидео: стартовый и финальный слайды уже в формате mp4 больше не перекодируются ffmpeg: платформа возвращает расширение с ведущей точкой (".mp4"), а проверка сравнивала его со строкой без точки. #2806
- Исправления в генераторе дымовых тестов #2808
- Выгрузка состояния формы (в том числе всех форм) и журнала регистрации в XLSX: при подготовке табличного документа учитывается, что экспортёр Excel разворачивает табуляцию в 4 символа. Раньше ячейка длиной 31000 символов с табуляциями после разворота превышала лимит Excel (32767) и выгрузка падала с ошибкой «Превышен максимальный размер текста ячейки документа Excel». Для строк длиной не более 1000 символов проверка табуляций не выполняется. #2809
- Исправлена сборка видеоинструкции после прогона и создание каталога временных mp3 для произвольного TTS-движка. #2810
- Клиент тестирования: запуск и повторный запуск теперь работают по идентичности процесса (PID + StartTime). Пока запущенный процесс жив, в том числе без окна и без открытого порта, второй экземпляр не запускается; перед повторным запуском предыдущий процесс, запущенный этой сессией, завершается строго по паре PID + StartTime, а на Linux фактический порт определяется по PID. Устранена причина инцидента 48003 → 48004 с осиротевшим процессом клиента. #2811
- Шаги ожидания таблицы («станет содержать строки», «не станет содержать строки», «станет равна данной») больше не падают до истечения заданного таймаута, если таблица временно недоступна — например, её перекрыло модальное окно. Ошибка поиска таблицы запоминается и выводится после истечения времени ожидания; при потере соединения с клиентом шаг падает сразу. #2813
- MCP: исправлены инструменты написания и запуска тестов. execute_feature_step больше не выбирает «ближайший шаг ниже»: заголовки сценариев, фич и примеров отклоняются, а executedLine показывает фактически выполненную строку (шаг-владелец таблицы параметров, первый шаг группы, строка вызова подсценария). activate_tab возвращает актуальный индекс активной вкладки. close_tab сразу после save_tab больше не падает с BUSY: синхронная перезагрузка дерева финализируется до ответа. manage_breakpoints синхронно переключает текущую строку и не ставит точку на неисполняемую строку. Ссылки на каталог действий формы переведены с устаревшего вопроса №127 на №129. JSON результата одиночного шага содержит status/statusRaw и resultKind, обработанные секцией Попытка/Исключение падения не делают его упавшим. #2816