В 29 релизе Vanessa-Automation появилась внешняя компонента 1cWinCtrl. Сначала она использовалась только для снятия скриншотов, но в 32 релизе она стала использоваться для создания видео инструкций в web-клиенте. И они заиграли новыми красками.
Давайте рассмотрим, что нужно сделать для настройки новой компоненты, и ее возможности.
Настройка
- База должна быть опубликована на web-сервере.
 - В конфигурации должны быть разрешены синхронные вызовы или в качестве менеджера тестирования должна быть конфигурация, в которой разрешены синхронные вызовы.
 - На закладке Сервис – Основные необходимо установить флаг «Использовать компоненту VanessaExt».
 

- На закладке Сервис-Настройки клиентов тестирования в настройках запуска браузера нажимаем на кнопку Chrome+debug. Заполнится команда запуска браузера с ключом --remote-debugging-port=9222
 

- Необходимо добавить подключение клиента тестирования с типом клиента Web:
 

Важно:
- При запуске клиента тестирования с типом web браузер должен быть закрыт. Vanessa-Automation должна сама открыть его.
 - Сеанс в браузере нельзя закрывать крестиком. Надо Файл -> Выход, иначе на сервере может застрять сеанс и ID web клиента будет занят.
 
- На закладке Сервис – Автоинструкции установить флаг «Использовать браузер + web socket».
 
Также можно установить флаги:
- Эмулировать движения мышки VanessaExt – включает эмуляцию движения мышки;
 - Эмулировать ввод клавиатуры VanessaExt – включает эмуляцию ввода с клавиатуры, необходимо, чтобы браузер был активным окном, после начала выполнения сценария.
 - Игнорировать ошибки поиска элементов в браузере – если флаг установлен, то выполнение сценария не останавливается, если элемент не был найден в браузере.
 

- Также появилась возможность записывать видео с помощью ffmpeg (его будет вызывать компонента VanessaExt) вместо VLC.
 
С настройками закончили. Давайте рассмотрим какие новые шаги появились.
Новые шаги
Шаги для видео инструкций находятся в известных шагах в разделе Прочее – Браузер.

Важно: для новых шагов необходимо указывать имена элементов, а не заголовки.
Давайте рассмотрим два самых интересных из них:
- Шаг: И я рисую стрелку от "ИмяЭлемента1" к "ИмяЭлемента2" в браузере. Его параметры:
 
- Color – цвет
 - Size – размер
 - startSocket и endSocket – определяют откуда рисуется стрелка для начально и конечного элемента, соответственно. Возможные значения: top, right, bottom, left.
 - startSocketGravity и endSocketGravity – определяют изгиб стрелки.
 - dropShadow – задает различные эффекты для стрелки (в примере фиче-файла у стрелки появляется тень).
 - middleLabel - можно задать надпись, которая будет выведена посередине стрелки (вместо него можно использовать параметры: startLabel – надпись в начале стрелки и endLabel – надпись в конце стрелки).
 - Timeout – - время, сколько стрелка будет на экране.
 
У шага могут быть и другие параметры, подробнее можно почитать тут: https://github.com/anseki/leader-line
- Шаг: И я показываю подсказку "ТекстПодсказки" EnjoyHint у элемента "ИмяЭлемента". Его параметры:
 
- showSkip - показывает или скрывает кнопку Пропустить
 - shape – форма для выделения circle или rect
 - timeout - время, сколько подсказка будет на экране
 
У шага могут быть и другие параметры, подробнее можно почитать тут: https://github.com/xbsoftware/enjoyhint/blob/master/README.md
Для ускорения видео при переключении между закладками нужно вставлять шаг: И я фиксирую группу "ИмяЗакладки".
Перед ним нужно вставить комментарий #[autodoc.ignorestep], который означает, что в видео шаг будет проигнорирован.
P.S. Пример фича файла и полученное видео:
Вступайте в нашу телеграмм-группу Инфостарт