Написали первый десяток автоматизированных тестов и пришло время собрать их в пакет тестирования, чтобы начать запускать его перед выходом релиза.
Собрали пакет, запускаем и… получаем вот такую ошибку:
Заметьте, ошибка ни самого инструмента «1С:Сценарное тестирование», а системная ошибка Windows.
Если не паниковать. Не считать, что все пропало и спасти нас может только системный администратор. То можно вчитаться и попробовать исправить данную ситуацию самостоятельно. А если не поможет, то всегда можно успеть запастись пивом и направиться к системному администратору.
О чем нам сообщает данная ошибка? О том, что была запущена пакетная команда по созданию базы агента тестирования и при ее выполнении произошла ошибка.
Для начала давайте разберемся что такое агент тестирования.
Агент тестирования - это вспомогательная конфигурация, которая работает под управлением «1С:Сценарное тестирование» и в процессе тестирования выполняет функции менеджера тестирования или другие действия с информационной базой.
Для чего нам нужна третья конфигурация какого-то агента тестирования, если уже есть менеджер тестирования в виде «1С:Сценарное тестирование»?
- Во-первых, для выполнения пакетов на других компьютерах и серверах. Для этого необходимо наличие на этом компьютере какой-либо программы, которая могла бы запустить клиентское приложение 1С и взаимодействовать с ним. Как раз эти функции и выполняет агент тестирования.
- Во-вторых, для возможности одновременного параллельного выполнения нескольких пакетов тестирования.
- И, в-третьих, агент тестирования потребляет значительно меньше ресурсов по сравнению с конфигурацией «1С:Сценарное тестирование».
Как работает агент тестирования?
В процессе тестирования «1С:Сценарное тестирование» формирует командный файл для каждого шага пакета и готовит необходимые файлы с данными. Агент тестирования в свою очередь периодически просматривает каталог обмена на наличие в нем необработанных командных файлов. При обнаружении таковых, приступает к их выполнению. По окончанию выполнения команды агент тестирования при помощи файла докладывает конфигурации «1С:Сценарное тестирование» о выполнении команды и ожидает новый командный файл.
Какие бываю агенты тестирования?
Агент тестирования может быть «встроенным» или «внешним».
При запуске пакета тестирования на выполнение в ручном или автоматическом режиме, агент тестирования создается и запускается автоматически. Пользователю заранее ничего делать не нужно. Потому я и назвал его «встроенным».
«1С:Сценарное тестирование» разворачивает базу «встроенного» агента тестирования в рабочем каталоге, который указан непосредственно в пакете тестирования. Далее агент тестирования выполняет все шаги пакета тестирования. А по окончании выполнения пакета тестирования автоматически удаляется.
Имя «встроенного» агента тестирования и путь рабочего каталога, в котором он будет создаваться, можно посмотреть в «Параметрах выполнения» пакета тестирования.
Если необходимо запустить несколько пакетов тестирования параллельно или последовательно, да еще и по расписанию, то для этого используются «внешний» агент тестирования. Он должен быть заранее выгружен из «1С:Сценарное тестирование», развернут и с ним должна быть настроена связь.
А теперь вернемся к нашей ошибке.
Данная ошибка возникает именно у «встроенного» агента тестирования. Программа пытается создать базу агента тестирования и не может этого сделать. Причины?
Я сталкивался с тремя причинами:
1. Неверный путь к каталогу необходимой версии платформы.
Иногда можно ошибиться при указании пути к каталогу платформы. Проверьте правильность его указания. Для этого нужно перейти в справочник «Сборки платформы» в подсистеме «Главное» и у необходимой версии проверить правильность указания пути к папке «bin».
2. Неверный путь к рабочему каталогу или у «1С:Сценарное тестирование», а точнее у пользователя 1С, под которым выполняются служебные действия (например, USR1CV8) нет доступа на создание файлов в указанном каталоге.
Надо проверить правильность его указания. Можно, если есть такая возможность, самостоятельно указать другой каталог, где более широкие права. Сделать это можно в подсистеме «Администрирование» на форме «Персональные настройки». Выбираем закладку «Тестирование конфигураций» и указываем путь в реквизите «Рабочий каталог пакетного выполнения».
Либо попросить системного администратора дать служебному пользователю 1С права на создание файлов.
3. Нет свободных лицензий 1С.
Вот тут точно без системного администратора не обойтись. Но понять, что дело именно в отсутствии лицензии можно.
После запуска пакета тестирования «встроенный» агент тестирования выгружается в виде файла «v8.dt» в папку, название которой состоит из префикса «CommandBase_»и имени агента тестирования (для примера это название «CommandBase_TestAgent_adawd»).
Данная папка по умолчанию создается в рабочем каталоге пакета. После того как выгрузился файл «v8.dt» из него разворачивается база агента тестирования.
Чтобы убедится, что дело в отсутствии лицензий, достаточно добавить новую базу с путем к данному каталогу и попробовать запустить ее вручную.
Если при запуске появится окно предупреждающие об отсутствии лицензии, то это ваш случай.
Теперь точно запасаемся пивом и отправляемся к системному администратору. Главное, в процессе не забыть, за чем приходили.