Skip to content
| Marketplace
Sign in
Visual Studio Code>Testing>1C:Drive Test HelperNew to Visual Studio Code? Get it now.
1C:Drive Test Helper

1C:Drive Test Helper

Alexey Eremeev

|
41 installs
| (2) | Free
An extension to work with 1C:Drive tests
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

1C:Drive Test Helper

Иконка 1C:Drive Test Helper

🇷🇺 Русский | 🇺🇸 English

Помощник для разработки и управления регрессионными тестами 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 в текущую позицию курсора.

Панель 1C:Drive Test Helper:

Для открытия, нажмите на иконку расширения Иконка в боковой панели (Activity Bar).

Панель Phase Switcher:

Развитие приложения Phase Switcher внутри расширения для VS Code.

Главное отличие - больше нет необходимости во внешних файлах конфигурации, все происходит автоматически!

  • Назначение: Позволяет быстро включать и выключать наборы тестов для разных запусков.
  • Обнаружение тестов: Расширение сканирует папку, заданную в настройках, на наличие тестов.
  • Метаданные тестов: Для отображения теста в Phase Switcher, файл scen.yaml должен содержать строку Имя: "Имя теста" и специальные комментарии-маркеры:
    # PhaseSwitcher_Tab:            # Обязательно - Название вкладки в UI/тестовой фазы
    # PhaseSwitcher_Default:        # Необязательно - Включен ли тест по умолчанию (true/false)
    # PhaseSwitcher_OrderOnTab:     # Необязательно - Порядок внутри фазы
    
  • Интерфейс:
    • Тесты сгруппированы по фазам в древовидном представлении (Tree-View). Каждая фаза является раскрывающейся группой.
    • В заголовке каждой группы тестов отображается счетчик включенных тестов в данной фазе.
    • Чекбоксы показывают текущее состояние теста (включен/выключен/не найден).
    • Жирный шрифт у названия теста указывает на то, что его состояние было изменено, но еще не применено.
    • Кнопки управления:
      • Настройки: Открыть настройки расширения.
      • Создать сценарий: Выпадающее меню для создания новых Главных или Вложенных сценариев.
      • Обновить: Пересканировать файлы и проверить состояние на диске, а также обновить список сценариев для автодополнения строки.
      • Свернуть/Развернуть все фазы: Переключает раскрытие всех фаз.
      • Переключить все: Переключить состояние всех активных тестов во всех фазах.
      • Переключить фазу: Позволяют переключить тесты внутри конкретной фазы. Находятся справа от счетчика включенных тестов.
      • По умолчанию: Сбросить состояние всех тестов в соответствии с их маркером # PhaseSwitcher_Default:.
      • Применить: Физически перемещает параметрические папки для выбранных тестов между директориями (для поддержки старых версий обработки сборки, позже список тестов будет передаваться параметром для обработки).
    • По кнопке карандаша можно открыть сценарий в редакторе.
    • Статус-бар: Отображает текущий статус (загрузка, наличие изменений, результат применения).

Панель Сборка:

Сборка архива FirstLaunch:

  • Позволяет собрать архив 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С:Предприятие — работа с файлами;
  • Для сборки сценариев: обработка СборкаТекстовСценариев из СППР (подробнее на ИТС), заполненные пути и параметры в настройках расширения.

Настройка и использование

  1. Установка:

    • Установить из Visual Studio Marketplace
    • Или Extensions View -> "..." -> "Install from VSIX..." -> Выберите скачанный/собранный .vsix файл.
    • Важно: После обновления расширения рекомендуется перезапустить VS Code для корректной работы всех функций.
  2. Настройка:
    В настройки расширения можно перейти стандартным методом через общие настройки или по кнопке настроек с панели 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).
  3. Команды:

    • Большинство команд доступны через контекстное меню (правый клик в редакторе) или палитру команд (Ctrl+Shift+P или Command+Shift+P, начните вводить 1C:Drive).
    • Для навигации и вставки могут использоваться горячие клавиши (проверьте или настройте их в Keyboard Shortcuts).
  4. Phase Switcher:

    • Откройте через иконку Иконка в Activity Bar.
    • Выберите нужную фазу из выпадающего списка.
    • Отметьте/снимите отметки у тестов. Названия измененных тестов станут жирными.
    • Нажмите Применить.
    • Используйте Обновить, если вы вручную изменили структуру папок тестов.
  5. Менеджер параметров Сборки Сценариев:

    • Нажмите кнопку Параметры сборки сценариев для открытия панели управления параметрами
    • Настройте параметры тестов в табличном интерфейсе. Список возможных параметров и их описания можно найти здесь.
    • Сохраните параметры или создайте резервный файл yaml_parameters.json
  6. Сборка:

    • Откройте через иконку Иконка в Activity Bar.
    • Сборка архива FirstLaunch:
      • Нажмите Собрать FL
      • Выберите место для сохранения
    • Сборка тестов:
      • Выберите режим бух.учета Режим учета
      • Нажмите Собрать тесты

Скриншоты

Основной интерфейс

Панель Phase Switcher в Activity Bar

Панель в Activity Bar

Менеджер параметров Сборки Сценариев

Интерфейс Менеджера параметров Сборки Сценариев

Менеджер параметров Сборки Сценариев

Контекстное меню и команды

Доступные команды в контекстном меню

Список команд

Автодополнение и всплывающие подсказки

Умное автодополнение строк (IntelliSense)

Автодополнение строк


Всплывающее окно с описанием шага

Описание шага

TODO

  • Запуск собранных автотестов в Vanessa Automation в один клик.

Известные проблемы

  • Сборка тестов под macOS выполняется гораздо дольше, чем на Windows. Также из-за особенностей платформы 1С на macOS, отслеживание статуса выполнения сборки происходит путем отслеживания создания файла результата, а не по завершению процесса 1С.
  • Открытие файлов MXL в редакторе не работает на macOS (отсутствует дистрибутив).
  • Работа на Linux не проверялась.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft