Помощник для разработки и управления регрессионными тестами 1С в VS Code. Ускоряет навигацию между сценариями, создание новых сценариев по шаблонам и управление фазами и сборкой для тестовых запусков.
Хотя изначально расширение было разработано для тестирования конфигурации 1C:Drive, оно совместимо с любыми другими проектами тестирования 1С, которые используют YAML-файлы сценариев и Vanessa Automation, а также дает возможность начать разрабатывать тесты с нуля.
-
Автодополнение и подсказки:
- Предлагает варианты шагов вызовов сценариев из папки проекта, в том числе с учетом их параметров (IntelliSense).
- Предлагает варианты шагов Gherkin из Vanessa Automation по мере ввода (IntelliSense). Поддерживаются мультиязычные варианты написания.
- Показывает описание шага из библиотеки шагов Gherkin для Vanessa Automation при наведении мыши на строку шага в YAML файле на языке написания шага, а также вариант этого шага на другом языке.
- Для обеспечения актуальности автодополнения и подсказок по шагам Gherkin для Vanessa Automation, расширение поддерживает загрузку файла
steps.htmс внешнего ресурса.
-
Быстрая навигация:
- Открыть сценарий: Находясь на строке вида
And ИмяСценария, можно быстро открыть соответствующий.yamlфайл, где определеноИмя: "ИмяСценария". - Найти вызовы текущего сценария: Из текущего файла сценария (
scen.yaml) можно быстро увидеть список всех мест (And Имя...), где используется этот сценарий.
- Открыть сценарий: Находясь на строке вида
-
Работа с файлами:
- Открыть MXL файл в редакторе: Из контекстного меню на выделенном имени файла можно найти и открыть его в "1С:Предприятие — работа с файлами".
- Показать файл в проводнике VS Code: Быстро находит файл по выделенному имени и подсвечивает его в боковой панели VS Code. Работает как с вложенными файлами, так и с файлами сценариев.
- Показать файл в системном проводнике: Находит файл по выделенному имени и открывает его расположение в системном проводнике (Windows Explorer, Finder). Работает как с вложенными файлами, так и с файлами сценариев.
- Для всех команд поиска используется двухуровневый поиск: сначала в папке
filesрядом с текущим и вложенными сценариями, а затем по всей директорииtests.
-
Создание сценариев по шаблонам:
- Создать вложенный сценарий:
- Вызывается из контекстного меню или палитры команд (
1C:Drive - Создать вложенный сценарий) или из панели Phase Switcher. - Запрашивает Имя (может предзаполняться, если команда вызвана с заранее написанной строки вызова
And ...), Номерной код теста и Родительскую папку. - Автоматически создает структуру:
<Родительская папка>/<Код>/scen.yaml<Родительская папка>/<Код>/files/
- Вызывается из контекстного меню или палитры команд (
- Создать главный сценарий:
- Вызывается из контекстного меню или палитры команд (
1C:Drive - Создать главный сценарий) или из панели Phase Switcher. - Запрашивает Имя главного сценария, метаданные для Phase Switcher (Имя фазы/вкладки, Порядок сортировки, Состояние по умолчанию) и Родительскую папку.
- Автоматически создает структуру:
<Родительская папка>/<Имя>/scen.yaml<Родительская папка>/<Имя>/test/<Имя>.yaml<Родительская папка>/<Имя>/files/
- Вызывается из контекстного меню или палитры команд (
- Создать вложенный сценарий:
-
Вставка кода (Сниппеты):
- Заполнить секцию ВложенныеСценарии: Перезаполняет секцию
ВложенныеСценариивсеми найденными в тексте сценария вызовами с соответствующимиИмяиUID. Поддерживает правильный порядок согласно последовательности вызовов. - Заполнить секцию ПараметрыСценария: Перезаполняет секцию
ПараметрыСценариявсеми найденными в тексте сценария параметрами. Сохраняет пользовательские значения параметров при перезаполнении. - Автозаполнение при сохранении: Автоматическое выполнение операций заполнения секций при сохранении YAML файлов (переключается в настройках):
- Замена табов на пробелы
- Автозаполнение ВложенныеСценарии
- Автозаполнение ПараметрыСценария
- Вставить новый UID: Генерирует и вставляет новый UUID v4 в текущую позицию курсора.
- Заполнить секцию ВложенныеСценарии: Перезаполняет секцию
Для открытия, нажмите на иконку расширения в боковой панели (Activity Bar).
Развитие приложения Phase Switcher внутри расширения для VS Code.
Главное отличие - больше нет необходимости во внешних файлах конфигурации, все происходит автоматически!
- Назначение: Позволяет быстро включать и выключать наборы тестов для разных запусков.
- Обнаружение тестов: Расширение сканирует папку, заданную в настройках, на наличие тестов.
- Метаданные тестов: Для отображения теста в Phase Switcher, файл
scen.yamlдолжен содержать строкуИмя: "Имя теста"и специальные комментарии-маркеры:# PhaseSwitcher_Tab: # Обязательно - Название вкладки в UI/тестовой фазы # PhaseSwitcher_Default: # Необязательно - Включен ли тест по умолчанию (true/false) # PhaseSwitcher_OrderOnTab: # Необязательно - Порядок внутри фазы
- Интерфейс:
- Тесты сгруппированы по фазам в древовидном представлении (Tree-View). Каждая фаза является раскрывающейся группой.
- В заголовке каждой группы тестов отображается счетчик включенных тестов в данной фазе.
- Чекбоксы показывают текущее состояние теста (включен/выключен/не найден).
- Жирный шрифт у названия теста указывает на то, что его состояние было изменено, но еще не применено.
- Кнопки управления:
Настройки: Открыть настройки расширения.Создать сценарий: Выпадающее меню для создания новых Главных или Вложенных сценариев.Обновить: Пересканировать файлы и проверить состояние на диске, а также обновить список сценариев для автодополнения строки.Свернуть/Развернуть все фазы: Переключает раскрытие всех фаз.Переключить все: Переключить состояние всех активных тестов во всех фазах.Переключить фазу: Позволяют переключить тесты внутри конкретной фазы. Находятся справа от счетчика включенных тестов.По умолчанию: Сбросить состояние всех тестов в соответствии с их маркером# PhaseSwitcher_Default:.Применить: Физически перемещает параметрические папки для выбранных тестов между директориями (для поддержки старых версий обработки сборки, позже список тестов будет передаваться параметром для обработки).
- По кнопке карандаша можно открыть сценарий в редакторе.
- Статус-бар: Отображает текущий статус (загрузка, наличие изменений, результат применения).
- Позволяет собрать архив FirstLaunch.zip для целей тестирования региональных версий.
Собрать FL: собирает архив, подставляет в файлы текущую версию конфигурации из ветки.- После успешной сборки архива предлагает выбрать место для сохранения, после чего можно открыть директорию с сохраненным файлом из уведомления.
- Позволяет запустить обработку сборки сценариев (СборкаТекстовСценариев) с установленными параметрами.
- Индикация процесса: Во время сборки отображается прогресс-бар в виде уведомления.
- Уведомления об ошибках: В случае неудачной сборки появляется уведомление с кнопкой для быстрого перехода к файлу лога.
- В настройках расширения можно указать параметры тестовой почты и отключить автоматическое открытие панели
Outputпри запуске сборки. - Если задано в настройках, автоматически вычищает "ненужные" шаги из определенных тестов (001_Company, I_start_my_first_launch)
- Управление сборкой:
- По кнопке настроек можно открыть Менеджер параметров Сборки Сценариев.
- Выпадающее меню
Accounting mode: можно выбрать тип бух.учета перед сборкой тестов. Собрать тесты: запускает скрипт сборки.
- Отдельный статус-бар для процесса сборки.
- После успешной сборки можно открыть директорию с собранными тестами.
- Управление параметрами сборки: Позволяет настраивать параметры для файла
yaml_parameters.jsonчерез удобный интерфейс. - Таблица параметров: Отображает параметры в виде таблицы ключ-значение с возможностью добавления, удаления и редактирования. Подробнее о возможных параметрах на ИТС.
- Параметры по умолчанию: Генерируются на основе настроек расширения (BuildPath, yamlSourceDirectory).
- Безопасное хранение: Параметры сохраняются в SecretStorage VS Code и восстанавливаются при следующем открытии.
- Автоматическая генерация: При сборке тестов файл
yaml_parameters.jsonсоздается автоматически из сохраненных параметров. - Доступ: Кнопка в панели Сборка, палитра команд и настройки расширения.
- Visual Studio Code;
- Проект открыт в корневой папке репозитория;
- Для открытия MXL файлов из текста сценариев: установленный 1С:Предприятие — работа с файлами;
- Для сборки сценариев: обработка СборкаТекстовСценариев из СППР (подробнее на ИТС), заполненные пути и параметры в настройках расширения.
-
Установка:
- Установить из Visual Studio Marketplace
- Или Extensions View -> "..." -> "Install from VSIX..." -> Выберите скачанный/собранный
.vsixфайл. - Важно: После обновления расширения рекомендуется перезапустить VS Code для корректной работы всех функций.
-
Настройка:
В настройки расширения можно перейти стандартным методом через общие настройки или по кнопке настроек с панели Activity Bar.Language override: позволяет переключить язык расширения независимо от языка VS Code (system/en/ru). Не влияет на язык отображения настроек и контекстного меню (они отображаются на языке интерфейса VS Code).URL для шагов Gherkin: URL для загрузки файлаsteps.htm. Оставьте пустым, чтобы использовать файл из расширения, или укажите свой для динамических обновлений.Auto collapse on open: Автоматически сворачивать секцииВложенныеСценариииПараметрыСценарияпри открытии файла.- Настройки автозаполнения при сохранении:
Auto Replace Tabs with Spaces on Save: Автоматически заменять табуляции на пробелы при сохранении YAML файлов (по умолчанию вкл.).Auto Fill Nested Scenarios on Save: Автоматически заполнять секцию ВложенныеСценарии при сохранении YAML файлов (по умолчанию вкл.).Auto Fill Scenario Parameters on Save: Автоматически заполнять секцию ПараметрыСценария при сохранении YAML файлов (по умолчанию вкл.).
- Настройки тестовой почты:
Email Address: адрес почтового ящика, который используется в тестахEmail Password: пароль от почтового ящика, используемого в тестах. В целях безопасности задается отдельно через команду, сохраняется в безопасном хранилище VS Code (SecretStorage). Отдельной командой можно удалить из хранилища.Email Incoming Server: Сервер входящей почты (EMailTestIncomingMailServer).Email Incoming Port: Порт входящей почты (EMailTestIncomingMailPort).Email Outgoing Server: Сервер исходящей почты (EMailTestOutgoingMailServer).Email Outgoing Port: Порт исходящей почты (EMailTestOutgoingMailPort).Email Protocol: Протокол почты, IMAP или POP3 (EMailTestProtocol).
- Настройки сборки:
Show Output Panel: Показывать панель Output при сборке тестов (по умолчанию выкл.).Open Build Scenario Parameters Manager: Кнопка для открытия панели Менеджера параметров Сборки Сценариев для настройки параметров тестов.
- Настройки параметров запуска:
Startup Parameters: Параметры запуска 1C:Enterprise при запуске сборки сценариев (по умолчанию/L ru /DisableStartupMessages /DisableStartupDialogs). Можно настроить любые флаги запуска.
- Настройки системных путей:
Empty Infobase: Путь к каталогу пустой файловой информационной базы, на которой будет запускаться обработка сборки сценариев.Build Path: Путь к папке для собранных тестов.1C Enterprise Exe: Полный путь к исполняемому файлу 1cv8.exe (Windows) или 1cestart (macOS).File Workshop Exe: Полный путь к '1С:Предприятие — работа с файлами' (1cv8fv.exe).BuildScenarioBDD EPF: Путь к обработке СборкаТекстовСценариев.epf внутри проекта (по умолчаниюbuild/BuildScenarioBDD.epf).RepairTestFile EPF: Путь к обработке RepairTestFile.epf внутри проекта (по умолчаниюbuild/RepairTestFile.epf, необязательно).YAML Source Directory: Путь к папке внутри проекта с исходными YAML файлами (по умолчаниюtests/RegressionTests/yaml).Disabled Tests Directory: Путь к папке внутри проекта для отключенных тестов (по умолчаниюRegressionTests_Disabled/Yaml/Drive).FirstLaunch Folder: Путь к папке FirstLaunch внутри проекта для создания файла первого запуска (по умолчаниюfirst_launch).
-
Команды:
- Большинство команд доступны через контекстное меню (правый клик в редакторе) или палитру команд (
Ctrl+Shift+PилиCommand+Shift+P, начните вводить1C:Drive). - Для навигации и вставки могут использоваться горячие клавиши (проверьте или настройте их в Keyboard Shortcuts).
- Большинство команд доступны через контекстное меню (правый клик в редакторе) или палитру команд (
-
Phase Switcher:
-
Менеджер параметров Сборки Сценариев:
- Нажмите кнопку
Параметры сборки сценариевдля открытия панели управления параметрами - Настройте параметры тестов в табличном интерфейсе. Список возможных параметров и их описания можно найти здесь.
- Сохраните параметры или создайте резервный файл yaml_parameters.json
- Нажмите кнопку
-
Сборка:
- Запуск собранных автотестов в Vanessa Automation в один клик.
- Сборка тестов под macOS выполняется гораздо дольше, чем на Windows. Также из-за особенностей платформы 1С на macOS, отслеживание статуса выполнения сборки происходит путем отслеживания создания файла результата, а не по завершению процесса 1С.
- Открытие файлов MXL в редакторе не работает на macOS (отсутствует дистрибутив).
- Работа на Linux не проверялась.