Для написания и исполнения сценариев на языке Gherkin в Vanessa Automation теперь используется новый расширенный редактор кода. Возможность доступна для последних релизов платформы 1С:Предприятие, начиная с 8.3.14.
Внутри – Monaco Editor
Новый редактор VAEditor на базе Monaco Editor предоставляет множество встроенных возможностей, знакомых всем пользователям VS Code:
-
Автокомплит при написании шагов сценария – достаточно набрать часть шага, и редактор предложит выбор подходящих шагов из выпадающего списка. Для шага в зависимости от категории, к которой он относится, выводятся различные иконки. Всего используется шесть категорий – обычные шаги, циклы, условия, работа с файлами, асинхронные шаги, прочее.
-
Подсказка при наведении на шаг или переменную – при наведении курсора можно увидеть описание шага и узнать, что он делает. Также в пошаговом режиме выполнения при наведении на переменную можно видеть ее значение.
-
Сворачивание сценариев, условий/циклов и групп шагов – помимо стандартного сворачивания текста фичи по отступу, реализована свертка, учитывающая синтаксические конструкции.
-
Синтаксический контроль и квикфиксы при написании шагов – Vanessa Automation подчеркивает шаги, которые не найдены в библиотеке шагов. Если похожий шаг в библиотеке шагов найден, его можно исправить автоматически.
-
Дерево каталогов для выбора файла фичи – для быстрого переключения между feature-файлами прямо из окна редактора можно показать/скрыть дерево каталогов по специальной кнопке на панели.
-
Встроенные поиск и замена – можно использовать регулярные выражения, навигацию по найденным вхождениям, групповую замену (в т.ч. только в выделенном).
-
Мультикурсор – с помощью Alt+Click можно расставлять дополнительные курсоры для одновременного редактирования нескольких фрагментов текста.
-
Изменение масштаба – с помощью специальных кнопок на панели можно увеличить размер шрифта в редакторе.
-
Переключение темы редактора – доступны четыре темы на выбор. Две светлых темы – 1С:Enterprise и Visual Studio, а также две темные – Visual Studio Dark и High Contrast Dark.
Новый редактор сценариев VAEditor
Генерация и выполнение сценариев – теперь в едином окне
Благодаря интеграции редактора сценариев с платформой 1С:Предприятие многие действия и функции Vanessa Automation научились работать с новым редактором. Например, можно:
-
генерировать в редакторе накликанные в клиенте тестирования шаги;
-
при формировании специальных шагов, содержащих параметры, читать значения параметров из клиента тестирования;
-
выполнять сценарии в том же окне, где происходит их написание;
-
выводить шаги подсценариев в специальные HTML-вставки редактора.
Базовые возможности нового редактора сценариев
Отладка сценариев и детализация данных по ошибкам выполнения
Внутри редактора обеспечена работа отладчика, которая позволяет:
-
работать с точками останова – как для обычных строк сценария, так и для подсценариев;
-
выводить список точек останова и делать переход к нужной из них;
-
по результатам выполнения сценария видеть в окне редактора детали ошибки;
-
если при выполнении нескольких сценариев в рамках одной фичи возникли ошибки, осуществлять навигацию по ошибкам.
Работа с точками останова и выводом информации об ошибке
Автоматический перевод текстов сценариев на другие языки
Реализована возможность автоматически перевести текст фичи на язык, соответствующий языку генератора Gherkin (задается в настройках на закладке Сервис – Основные). Будут переведены все шаги, по которым доступен автоматический перевод. Остальные шаги будут помечены комментарием специального вида для дальнейшей обработки переводчиком вручную.
Перевод текста фичи на язык, указанный в настройках Vanessa Automation
Технические особенности реализации
Редактор для Vanessa Automation разработан на typescript и упакован в единый поставляемый файл, в который встроены все css, svg и ttf-файлы. Такой вариант поставки позволяет не копировать исполняемые файлы на клиент и не поднимать собственный веб-сервер.
Благодаря встроенной локализации, редактор можно использовать для 18 языков, поддерживаемых платформой.
Для подсветки кода сценариев тестирования в редакторе разработана грамматика языка Turbo Gherkin.
Чтобы реализовать вывод подсценариев, доступных для просмотра и отладки и запрещенных для редактирования, в редакторе разработаны специальные виджеты вставки.
Организовано двустороннее взаимодействие с 1С для выполнения действий и получения оповещений о событиях (с очередью обработки). Для подписки на события редактора разработана система описания команд.
Система поставляет механизмы автодополнения, валидации и квикфиксов шагов сценариев. Механизм автодополнения позволяет работать как с библиотекой шагов, так и с текущей информацией клиента тестирования – по открытой в нем форме и информацией о переменных сценария.
Реализация отладчика позволяет устанавливать и снимать брейкпоинты в редакторе, синхронизируя эту информацию с Vanessa Automation. Можно отмечать, какие шаги успешно выполнены, исполняемую строку (в том числе строку стекфрейма для отметки того, что выполняется подсценарий), а также строки с ошибкой исполнения с возможностью скопировать текст исключения и открыть окно детальной информации.
Для исключения мерцания экрана и задержек обеспечена работа подпроцессов (воркеров) внутри WebKit.
Приглашаем присоединиться к тестированию новой версии Vanessa Automation
Версия Vanessa Automation, содержащая расширенный редактор сценариев, уже доступна в репозитории на GitHub. Скачать ее можно по кнопке «Code – Download ZIP» из ветки develop. Архив нужно распаковать по удобному пути, после чего запустить в каталоге команду Compile.bat. В результате из исходников будут собраны все обработки, необходимые для работы Vanessa Automation
Важно: Для работы Compile.bat на компьютере должен быть установлен дистрибутив скриптового движка OneScript, а путь к утилите oscript.exe (к исполняемому файлу OneScript) прописан в переменную PATH.
Приглашаем всех желающих присоединиться к разработке и поучаствовать в тестировании новой версии Vanessa Automation!
Присоединиться к проекту Vanessa Automation