Vanessa-Automation для 1С Предприятие

Vanessa-Automation (VA) — это де-факто стандарт для автоматизированного тестирования на платформе 1С:Предприятие. Это OpenSource-фреймворк, реализующий подход BDD (Behavior Driven Development), позволяющий писать тесты на понятном человеческом языке (Gherkin).

Ниже представлен подробный разбор инструмента: от установки до настройки CI/CD.


Архитектура и принцип работы

Vanessa-Automation работает, используя стандартный механизм платформы 1С «Автоматизированное тестирование».

  • Менеджер тестирования (Test Manager): Сеанс 1С, в котором запущена сама обработка vanessa-automation.epf. Он читает сценарии, управляет процессом и формирует отчеты.
  • Клиент тестирования (Test Client): Сеанс 1С, в котором выполняется реальная работа пользователя (нажимаются кнопки, открываются формы). Менеджер «дергает» Клиента через специальное соединение.

Установка и запуск

Вариант А: Для локальной разработки (Manual)

  1. Скачайте актуальный релиз vanessa-automation.epf (или клонируйте репозиторий с GitHub).
  2. Запустите 1С с ключом /TestManager.
    • Пример: В конфигураторе: Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> «Запускать как менеджер тестирования».
  3. Откройте файл vanessa-automation.epf через Файл -> Открыть.
  4. При первом запуске VA предложит установить внешнюю компоненту (VanessaExt) — соглашайтесь, она нужна для скриншотов, управления окнами ОС и работы с буфером обмена.

Вариант Б: Для CI/CD (через OneScript)

В профессиональной среде VA запускают через консольную утилиту vanessa-runner (написана на OneScript).

bash# Установка OneScript и библиотеки
opm install vanessa-runner

Написание тестов (Gherkin)

Тесты пишутся в файлах с расширением .feature. Язык Gherkin в VA адаптирован под 1С и поддерживает русские команды.

Структура Feature-файла:

text# language: ru
Функционал: Проверка создания элемента справочника

Сценарий: Создание нового контрагента
    Дано Я открываю навигационную ссылку "e1cib/list/Справочник.Контрагенты"
    И я нажимаю кнопку "Создать"
    Когда я ввожу текст "ООО Ромашка" в поле "Наименование"
    И я нажимаю кнопку "Записать и закрыть"
    Тогда таблица "Список" содержит строки:
        | 'Наименование' |
        | 'ООО Ромашка'  |

Где брать шаги?
В VA есть огромная Библиотека шагов. В режиме «Менеджера тестирования» справа есть панель, где можно искать готовые шаги («я нажимаю…», «я проверяю…», «я ввожу…»).

  • Совет: Используйте «кликер» (волшебная палочка в меню). Вы нажимаете кнопки в Клиенте, а VA сама генерирует код сценария в Менеджере.

Ключевые возможности

🎥 Видео-документация

VA умеет записывать видео прохождения теста.

  • Использует ffmpeg (нужно установить отдельно и указать путь в настройках).
  • Автоматически накладывает субтитры (шаги теста).
  • Может генерировать голосовую озвучку (TTS).

📸 Скриншоты и отчеты

  • Allure Report: VA генерирует XML-файлы для Allure. Это стандарт красивых отчетов в индустрии тестирования.
  • Скриншоты ошибок: При падении теста VA делает скриншот экрана и прикрепляет его к отчету.

🤖 SikuliX (Тестирование через картинки)

Если 1С не видит какой-то элемент (например, окно Windows или сложную HTML-верстку внутри 1С), VA может использовать SikuliX.

  • Вы даете картинку кнопки.
  • VA ищет эту картинку на экране и кликает по ней.

Настройка параметров (VAParams.json)

Для запуска в CI/CD (например, GitLab или Jenkins) настройки передаются через JSON-файл.

Пример VAParams.json:

json{
 "КаталогФичеФайлов": "./features",
 "ВыполнятьСценарии": true,
 "ДелатьСкриншотПриВозникновенииОшибки": true,
 "КаталогOutputAllureReport": "./allure-results",
 "ЗавершитьРаботуСистемы": true,
 "СписокТеговКЗапуску": "Smoke",
 "СписокТеговКИсключению": "Draft"
}

Команда запуска в CI:

text"C:\Program Files\1cv8\8.3.xx\bin\1cv8.exe" /TESTMANAGER /Execute "C:\Path\To\vanessa-automation.epf" /C "StartFeaturePlayer;VBParams=C:\Path\To\VAParams.json"

С чего начать новичку?

  1. Пройдите интерактивные уроки. В самой обработке VA есть вкладка «Помощь» или «Уроки». Это лучший способ обучения — VA сама показывает на экране, куда нажимать.
  2. Используйте запись действий. Не пишите код руками сразу. Включите запись, прокликайте сценарий в 1С, скопируйте сгенерированный текст.
  3. Изучите работу с переменными. И я сохраняю значение поля "Номер" в переменную "DocNumber". Это позволит проверять созданные документы в следующих шагах.

Сравнение с альтернативами

ХарактеристикаVanessa-AutomationТест-центр (от 1С)YAxUnit
НазначениеФункциональное (UI) тестирование, BDDНагрузочное тестированиеМодульное (Unit) тестирование
Язык тестовGherkin (Бизнес-язык)Встроенный язык 1СВстроенный язык 1С
Порог входаСредний (нужно знать Gherkin)ВысокийНизкий (для программистов)
Основной плюсЖивая документация, видео-инструкцииРабота с огромной нагрузкойСкорость выполнения, проверка кода

Оцените статью
1С:ФУЛЛСТЕК