Автоматизация тестирования — ключевой шаг к повышению качества и надежности конфигураций 1С. Инструмент Vanessa Automation предоставляет мощные возможности для создания сценарных тестов. Однако ручной запуск тестов отнимает время и не позволяет оперативно отслеживать регрессии. В этой статье мы подробно разберем, как настроить полностью автоматический запуск тестов по расписанию с помощью стандартных средств Windows и командного файла, а также рассмотрим частые проблемы, с которыми сталкиваются разработчики, и способы их решения.
Основная идея заключается в том, чтобы создать командный файл (с расширением .bat), который будет запускать 1С в специальном режиме тест-менеджера и передавать все необходимые параметры для Vanessa Automation. Затем этот файл можно добавить в "Планировщик заданий" Windows для запуска по любому удобному расписанию (например, каждую ночь).
Рассмотрим весь процесс по шагам.
VAParams.json. Этот файл будет "инструкцией" для Vanessa при автоматическом запуске, он содержит все указанные вами параметры.
.bat, например, run_tests.bat.
.bat файл двойным кликом. Убедитесь, что 1С запускается, Vanessa Automation открывается и начинает выполнение тестов без ошибок. Если на этом этапе возникают проблемы, их нужно решить в первую очередь. Ниже мы разберем самые распространенные из них.
.bat файлу. Теперь тесты будут запускаться автоматически в указанное время.
На практике процесс настройки редко проходит гладко. Часто возникают неочевидные проблемы, связанные с синтаксисом путей, кавычками и содержимым файла настроек. Проанализируем самые частые из них.
Строка запуска, которую генерирует Vanessa, может требовать ручной доработки. Рассмотрим пример проблемной строки и разберем ее по частям.
"C:\Program Files\1cv8\8.3.20.1914\bin\1cv8c" /N"NekrasovA" /P"L1nux#L1nux" /TestManager /Execute "C:\OdinS\vanessa-automation\vanessa-automation-single.epf" /IBConnectionString "Srvr="""";Ref="""";" /C"StartFeaturePlayer;QuietInstallVanessaExt;workspaceRoot=C:\OdinS\vanessa-automation\FeaturesTC\ZUP;VAParams=C:\OdinS\vanessa-automation\tzVAParams.json;
На что здесь стоит обратить внимание:
1cv8c.exe и к обработке vanessa-automation-single.epf должен быть заключен в двойные кавычки, если он содержит пробелы. В примере выше это сделано верно для 1cv8c.exe.
/C. Этот параметр передает внутренние команды самой Vanessa Automation. Вся строка команд должна быть заключена в кавычки. В примере выше есть открывающая кавычка, но отсутствует закрывающая. Это частая ошибка.
/C. Если пути к каталогу фич (workspaceRoot) или файлу настроек (VAParams) содержат пробелы, их также необходимо заключить в кавычки.
Вот как может выглядеть исправленная строка с учетом этих моментов:
"C:\Program Files\1cv8\8.3.20.1914\bin\1cv8c.exe" /TestManager /Execute "C:\OdinS\vanessa-automation\vanessa-automation-single.epf" /IBConnectionString "Srvr=\"localhost\";Ref=\"test_base\";" /C"StartFeaturePlayer;workspaceRoot=\"\\VA\Features\My Tests\";VAParams=\"\\VA\Features\tzVAParams.json\";"
Важный момент: Обратите внимание, что мы добавили закрывающую кавычку для параметра /C и внутренние кавычки для путей с пробелами.
Даже если командная строка составлена идеально, запуск может не происходить, а Vanessa будет молча закрываться или выдавать ошибку чтения JSON-файла. Причина почти всегда кроется в самом файле VAParams.json.
JSON — строгий формат. Символ обратного слэша \ в строках является служебным (экранирующим). Поэтому при указании путей в Windows нужно использовать либо двойной обратный слэш \\, либо одинарный прямой слэш /.
"Значение": "C:\\OdinS\\vanessa-automation\\FeaturesTC\\ZUP""Значение": "C:/OdinS/vanessa-automation/FeaturesTC/ZUP""Значение": "C:\OdinS\vanessa-automation\FeaturesTC\ZUP" (приведет к ошибке чтения JSON)Это самая неочевидная и распространенная проблема. Некоторые версии Vanessa Automation требуют наличия определенных параметров в файле VAParams.json, даже если они также передаются через командную строку.
В ходе обсуждения выяснилось, что запуск тестов не начинался из-за отсутствия или пустого значения для параметра "КаталогПроекта".
Посмотрим на пример. В файле JSON была такая строка:
{
"Имя": "КаталогПроекта",
"Значение": "",
"Тип": "Строка"
},
Несмотря на то, что каталог с фичами был указан в командной строке через workspaceRoot, пустое значение этого параметра в файле блокировало запуск. Проблема была решена, когда в это поле продублировали путь к каталогу с тестами:
{
"Имя": "КаталогПроекта",
"Значение": "C:\\OdinS\\vanessa-automation\\FeaturesTC\\ZUP",
"Тип": "Строка"
},
Вывод: если тесты не запускаются, в первую очередь откройте ваш VAParams.json и убедитесь, что параметр "КаталогПроекта" (или "Каталог фич") существует и его поле "Значение" заполнено корректным путем (с правильными слэшами).
Иногда возникают ошибки, не связанные напрямую с Vanessa.
.bat файл, нет доступа к лицензии 1С. Убедитесь, что задача в планировщике запускается от имени пользователя, у которого есть лицензия, или что на сервере есть доступные серверные лицензии.\\VA\Features\), убедитесь, что у пользователя, от имени которого запускается задача, есть права на чтение этих ресурсов.Подводя итог, настройка автоматического запуска тестов — это процесс, требующий внимательности к деталям. Следуя пошаговой инструкции и зная о потенциальных "подводных камнях" с синтаксисом командной строки и структурой JSON-файла, вы сможете успешно наладить CI/CD процессы и значительно повысить надежность ваших 1С-решений.