Как создать автовидеоинструкцию¶
Обучающие видео по созданию видеоинструкций: * Как создать видео инструкцию в 1С? Пошаговый мастер класс. Виталий Чебан
Основные моменты: * Установка ПО * Общие настройки * Видеоинструкции в web клиенте * SikuliX * Теги и комментарий для видеоинструкций * F.A.Q.
Статьи по видеоинструкциям: * Vanessa, хочу все и сразу * Vanessa, улучшаем инструкции * Vanessa, видеоинструкции для web-клиента * Vanessa Automation. Как начать создавать видеоинструкции
Каналы на Youtube, которые используют автовидеоинструкции: * 1С ЭДО * SOFT LIDER SRL * 1С Минск
Примеры сценариев для видеоинструкций
Установка ПО¶
Для формирования видеоинструкций нужно обязательно поставить пакет ImageMagick и один из голосовых движков по выбору (если не хотите озучивать текст - надо снять флаг Делать озвучку TTS).
- Пакет ImageMagick используется как источник местонахождения утилит ffmpeg и convert.
- Необходимо выбирать пакет 7 версии.
- Необходимо выбирать пакет, в котором есть "dll", например "ImageMagick-7.0.7-22-Q16-x64-dll.exe".
- Необходимо прописать путь в Path.
- При установке ImageMagick должен быть установлен флаг установки FFmpeg.
- Озвучка от Yandex. (Не обязательно)
- Нужно зарегистрироваться в Yandex SpeechKit.
- Также нужно привязать карту. Далее у вас будет 2 месяца триального периода. Надо именно привязывать карту к облаку Yandex. Предыдущие привязки к другим сервисам Yandex не считаются.
- Необходимо получить идентификатор каталога из Яндекс.Облако.
- Сгенерировать токен доступа и сохранить его в текстовый файл.
- Озвучка от Amazon Polly. (Не обязательно)
- Нужно зарегистрироваться в Amazon Polly.
- Необходим ключ доступа и секретный ключ для облака Amazon.
- Java (Не обязательно)
- Необходима для работы SikuliX.
- Прописать путь в Path
- SikuliX (устаревшее). Установить SikuliX версии 1.1. (Не обязательно) используется при записи видеоинструкций не в web клиенте (в том числе и для обычных форм).
- Необходимо скачать файл jar.
- Запустить командой java -jar sikulixsetup-1.1.3.jar.
- Установить флаг Pack 1 (SikuliX IDE + Python(Jython))
- Прописать путь в Path
- Озвучка от Microsoft. (Устаревшее)
- Для озвучки голосом необходимо установить Microsoft Speech Platform х32 и Server Runtime Languages
MSSpeech_TTS_ru-RU_Elena
или другую голосовую библиотеку. - Также понадобится голосовой движок Балаболка консольный вариант Необходимо прописать путь в Path.
- Если на компьютере нет аудиокарты (настоящей или виртуальной) - озвучка работать не будет из-за особенностей движка TTS.
- Для озвучки голосом необходимо установить Microsoft Speech Platform х32 и Server Runtime Languages
- Oscript (Не обязательно)
- Необходим при использовании VLC.
- Необходимо прописать путь в Path.
- VLC 2.1.5 (Не обязательно) (устаревшее)
- Также работают версии VLC, начиная с 3.0.2. Версии 2.2, 3.0.0 и 3.0.1. - не работают.
- После установки ПО необходимо перезагрузить компьютер.
Общие настройки¶
- Для записи видеоинструкции необходимо в разделе Сервис - Автоинструкции установить флаг Создавать видеоинструкцию
- Указать каталог видеоинструкций.
-
Раздел Настройки видео
- Загрузить настройки по умолчанию - будут заполнены базовые настройки записи видео.
- Проверить что запись видео будет работать - проверяет установку необходимого ПО.
- Количество кадров в секунду - задаёт количество кадров в секунду, снимаемых с экрана во время записи видео. Минимум 5, рекомендуется 30. Чем больше кадров тем больше нагружается процессор.
- Экран ширина - задаёт ширину экрана для записи видео. Значение не может быть больше чем ширина в текущем разрешении экрана. Если указать значение меньше, то в видео будет записываться часть экрана, начиная с верхнего левого угла.
- Экран высота - задаёт высоту экрана для записи видео. Значение не может быть больше чем высота в текущем разрешении экрана. Если указать значение меньше, то в видео будет записываться часть экрана, начиная с верхнего левого угла.
- Отступ слева - задает отступ слева.
- Отступ сверху - задает отступ сверху.
- Инструмент для записи видео - по умолчанию выбран вариант FFmpeg, для записи видео будет использована внешняя компонента VanessaExt, которая вызывает ffmpeg. При переключении на VLC для записи видео будет использоваться VLC.
- Команда начать запись видео - вызов VLC для старта записи видео. VLC используется, потому что умеет записывать видео и управляется по tcp с (помощью OneScript). Пример команды:
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" screen:// -I rc --rc-quiet --rc-host=127.0.0.1:8082 --nommx :screen-mouse-image="<screenmouseimage>" :screen-fps=<fps> :screen-width=<screenwidth> :screen-height=<screenheight> :screen-top=0 :screen-left=0 :screen-caching=100 :sout=#transcode{vcodec=mp4v,vb=400,fps=<fps>,scale=1,width=<screenwidth>,height=<screenheight>,acodec=none}:duplicate{dst=std{access=file,mux=mp4,dst=<dst>}}
- Каталог временных файлов - каталог, в котором создаются промежуточные файлы во время записи и сборки видео. Каталог очищается перед каждой сборкой видео!
- Команда ffmpeg - как будет вызываться ffmpeg.
- Команда Convert - как будет вызываться Convert из пакета ImageMagic. Рекомендуется указать значение "magick convert"
- Кэшировать видеовставки - если флаг установлен то при работе шага И видеовставка "ТекстВставки" будет происходить проверка, есть ли в кеш уже такой видеофрагмент. Если в кеш фрагмента нет - он будет туда добавлен. Если фрагмент есть - то он будет взят из кэша. Установка флага ускоряет сборку видео. При установке флага необходимо указать каталог Кэш видеовставок, в котором хранятся фрагменты видеовставок.
-
Раздел Страница аудио
-
Каталог музыки - каталог, в котором находятся файлы в формате mp3. Если поле заполнено, то из каталога будет случайным образом взят mp3 файл, который будет использован для музыкальной подложки. Если длина mp3 файла меньше, чем длина результируещего видео, то аудио трек будет зациклен нужное количество раз, чтобы соответствовать длине видео файла.
- Громкость музыки - возможно указывать значение от 0 до 1. Если значение поля 0, тогда громкость музыки изменяться не будет. Если указано значение отличное от нуля (например 0.06), тогда данное значение будет влиять на громкость музыкальной подложки. Чем больше значение - тем громче будет звучать музыкальная подложка. Рекомендуется указывать значение 0.1 или меньше.
- Делать озвучку TTS - включает озвучку видео диктором.
- Тип озвучки - Microsoft TTS, Yandex SpeechKit или Amazon Polly.
- Тест голоса - можно ввести текст для озвучки, по кнопке Произнести будет сгенерирован mp3 файл с данным текстом, полученны файл будет воспроизведен плеером по умолчанию. Тест голоса удобен для проверки, как фраза будет произнесена в видеоинструкции.
- Кэшировать файлы TTS - включает кеширование файлов озвучки. Ускоряет сборку видео. Позволяет сократить обращение к внешним сервисам для генерации речи. Позволяет сократить затраты на генерацию речи при использовании платных тарифов у сервисов генерации речи.
-
Раздел Дополнительно
- Курсор мыши - путь к картинке, которая используется для отрисовки курсора мышки.
- Водяной знак - картинка в формате png, которая будет использована для наложения водяного знака. Водяной знак будет расположен в правом нижнем углу видео.
- Процент ускорения - Максимальный процент ускорения, который возможен для фрагмента видео (одного шага видео). Механизм сборки видео может ускорить фрагмент видео, например, если длительность аудио трека для фрагамента была 5 секунд, а сам видео фрагмент получился 10 секунд. Если указано значение 0 - то ограничения на ускорение нет. Рекомендуется значение - 30%. Тогда в приведенном примере видео ускорится (5 * 1.3) с 5 секунд до 6.5 секунд. Рекомендуемое значение 35.
- Добавлять субтитры - включает добавление субтитров, встроенных в видео.
- Группа шагов как шаг - включает режим, когда по умолчанию каждая группа шагов первого уровня в сценарии будет конвертироваться в один шаг в автоинструкции. Флаг рекомендуется установить.
- Подсвечивать нажатия мышки - Включает подсветку кликов мышки. Используется утилита из проекта UIToolsFor1C. Эмуляция кликов мышки осуществляется с помощью SikuliX.
- Эмулировать ввод с клавиатуры - Включает ввод эмуляцию ввода текста с клавиаутуры с помощью утилиты из проекта UIToolsFor1C. Допускается ввод текста только на русском и английском языках.
- Скрыть служебные окна - скрывает служебные консольные окна, которые используются для сборки видео. Ускоряет сборку видео. Рекомендуется.
- Отключить масштабирование шагов по времени - отключает масштабирование видео фрагментов по времени.
- Отключить слайд с заголовком фичи - отключает создание в видео начального слайда, в котором указывается название фича файла.
- Отключить слайд сценария - отключает создание в видео слайда, в котором выводится название сценария.
- Отключить слайд финал - отключает создание в видео финальнго слайда, в котором выводится итоговая информация по видео.
- Перемещать курсор мышки к активному элементу формы - Устарело. Перестало работать, начиная с 8.3.12. Вместо флага нужно использовать настройки Эмулировать движения мышки VanessaExt для web клиента или Эмулировать движения мышки для SikuliX.
- Подсвечивать активные элементы форм - Устарело. Перестало работать, начиная с 8.3.12. Вместо флага можно использовать шаги И я рисую рамку вокруг элемента "ИмяЭлемента" в браузере для web клиента или И я рисую рамку вокруг картинки "ИмяКартинки" для SikuliX.
- Настройки слайда за заголовком фичи - группа настроек для слайда с заголовком фичи:
- Заменить слайд с заголовком фичи - включает замену слайда с заголовком фичи.
- Добавить музыку к файлу с заголовком фичи - добавляет музыку для файла с заголовком фичи.
- Путь к видео файлу с заголовком фичи - путь к видео файлу с заголовком фичи.
- Настройки финального слайда - группа настроек для финального слайда:
- Заменить слайд финал - включает замену финального слайда.
- Добавить музыку к финальному слайду - добавляет музыку для финального слайда.
- Путь к финальному видео файлу - путь к видео файлу для финального слайда.
Видеоинструкции в web клиенте¶
-
Настройки:
- База должна быть опубликована на web-сервере.
- В конфигурации должны быть разрешены синхронные вызовы или в качестве менеджера тестирования должна быть конфигурация, в которой разрешены синхронные вызовы. Также возможно использовать конфигурацию, в который синхронные вызовы запрещены, но тогда не надо запускать тонкий клиент из конфиуратора. Подробнее см в FAQ.
- На закладке Сервис – Основные необходимо установить флаг Использовать компоненту VanessaExt
- На закладке Сервис - Настройки клиентов тестирования в настройках запуска браузера нажимаем на кнопку Chrome+debug. Заполнится команда запуска браузера с ключом --remote-debugging-port=9222.
- На закладке Сервис - Настройки клиентов тестирования установить флаг «Использовать браузер + web socket».
-
На закладке Клиенты тестирования необходимо добавить подключение клиента тестирования с типом клиента Web.
-
В поле Путь к инфобазе необходимо указать адрес публикации базы на web-сервере.
- В поле Имя компьютера необходимо указать имя кластера в сети или его ip.
- В поле Порт необходимо указать порт кластера.
Также можно установить флаги: * Эмулировать движения мышки VanessaExt – включает эмуляцию движения мышки; * Эмулировать ввод клавиатуры VanessaExt – включает эмуляцию ввода с клавиатуры; * Игнорировать ошибки поиска элементов в браузере – если флаг установлен, то выполнение сценария не останавливается, если элемент не был найден в браузере.
-
Шаги
- Шаги для web клиента находятся в списке известных шагов в разделе Прочее - Браузер.
- Шаги для фиксации групп и форм находятся в разделах UI - Группы - Зафиксировать группу и UI - Формы - Зафиксировать форму.
-
Особенности
- Версия платформы для web клиента должна совпадать с версией платформы, на которой запущен менеджер тестирования.
- При запуске клиента тестирования с типом web браузер должен быть закрыт. Vanessa-Automation должна сама открыть его.
- Сеанс в браузере нельзя закрывать крестиком. Надо Файл -> Выход, иначе на сервере или web сервере может застрять сеанс и ID web клиента будет занят.
- Накликивание шагов в web клиенте не работает.
- Для шагов из раздела Прочее - Браузер необходимо указывать имена элементов, а не заголовки.
- Если Вы используете эмуляцию ввода с клавиатуры, то в начале сценария необходимо использовать шаг И Я активизирую текущее окно браузера, чтобы клавиатурный ввод переключился на окно браузера.
- Для ускорения поиска элементов в браузере рекомендуется использовать шаги по фиксации групп, например И я фиксирую группу с именем "ИмяГруппы", перед шагом необходимо указать комментарий #[autodoc.ignorestep]. Позволяет ускорить поиск элементов, в видео не будет длинных пауз.
- Если вы используете масштаб в браузере отличный от 100% или мастштаб экрана в ОС отличный от 100%, то позиция курсора мышки сама калибруется, при этом масштаб экрана и браузера пересчитывается автоматически, если вызвать шаг "И я активизирую текущее окно браузера" или "И я активизирую браузер и устанавливаю полноэкранный режим"
SikuliX (устаревшее)¶
-
Настройки (Сервис - Автоинструкции - SikuliX сервер):
- Использовать SikuliX сервер - SikuliX это Java приложение, которое позволяет управлять перемещением и нажатиями мыши на экране, а также эмулировать нажатие кнопок клавиатуры. SikuliX Server - это специальная программная оптимизация работы с SikuliX. Если опция включена VA собирает один большой скрипт из множества скриптов SikuliX, который можно запустить один раз и быстро выполнять необходимые команды, которые раньше приходилось запускать по одной. Это позволяет существенно сэкономить время на выполнение одного скрипта SikuliX, т.к. не тратится время на запуск SikuliX и его выгрузку из памяти.
- Эмулировать движения мыши - Если флаг установлен, то при выполнении шагов будет выполняться попытка найти элмент формы или элемент управления на экране и переместить курсор мышки к нему. Для поиска картинки и передвижения мышки используется SikuliX. Картинка для поиска будет сгенерирована по тексту, полученному из элемента формы. Чтобы отключить движение мышки у конкретного шага надо использовать директиву #[DoNotMoveMouse].
- Установить сервисные утилиты - устанавливает сервисные утилиты для отрисовки рамки вокруг активного элемента формы и для перемещения курсора мыши. Также их можно скачать UItoolsFor1C.zip и распаковать архив в каталог
\vanessa-automation\tools\VideoTools
. Если не хотите использовать эти утилиты - тогда надо снять флаги Подсвечивать активные элементы формы и Перемещать курсор мышки к активному элементу формы. - Каталоги скриптов SikuliX - можно указать несколько каталогов со скриптами SikuliX, каталоги разделяются точкой с запятой.
- Каталог для генерации картинок - каталог, в котором будут программно создаваться картинки для поиска их на экране.
- Профили поиска - профили поиска картинок на экране. Для профиля можно задать шрифт, цвет фона, цвет шрифта и его размер. Заполнить типовые профили поиска - заполняет профили поиска для командного интерфейса и для формы.
-
Шаги
- Шаги, которые используют SikuliX, находятся в списке известных шагов в разделе Прочее - SikuliX
-
Особенности
- При использовании шага, рисующего стрелку, лучше избежать в имени файла картинки спецсимволов и национальных кодировок, т.к. имя файла будет передано параметром java приложению, которое может не найти файл с таким именем.
- SikuliX ищет первое совпадение текста на экране. Если надписей с таким текстом несколько, то нужно использовать шаг Затем клик на картинку"ИмяКартинки, файл с картинкой должен находится в каталоге проекта.
Теги и комментарий для видеоинструкций¶
Все теги и комментарии указываются в тексте сценария перед нужным шагом или группой шагов. * #[autodoc.text] - произвольный текст шага: * Пусть в сценарии есть шаг: Когда В командном интерфейсе я выбираю "Основная" "Справочник1" * Тогда если перед ним (т.е. строкой выше) написать: #[autodoc.text] В интерфейсе [я] выбираю %2 и %1 ["" + ТекущаяДата()] * тогда при формировании инструкции текст шага будет таким: * В интерфейсе [я] выбираю "Справочник1" и "Основная" 08.04.1981 01:00 * Т.е. %2 и %1 были заменены на параметры шага. Выражение ["" + ТекущаяДата()] было вычислено через метод Вычислить(). * А текст [я] содержал в себе экранирование квадратных скобок. * #[autodoc.ignorestep] - не включать шаг в инструкцию. Если перед шагом или группой шагов написать #[autodoc.ignorestep], тогда он/они будет выполнен, но не попадёт в финальный видео файл. * #[autodoc.mute] - отключение озвучивания шага. Если перед шагом или группой шагов написать #[autodoc.mute], тогда шаг в инструкции будет выполнен, но не будет озвучен. * #[autodoc.donotscale] - отключить автомасштабирование шага или группы. autodoc.donotscale Если перед шагом или группой написать #[autodoc.donotscale], тогда он не будет сжиматься по времени для синхронизации голоса и видео. * #[autodoc.groupsteps] - сделать из группы шагов один шаг: * Пусть в сценарии есть группа шагов с текстом: Просто группа шагов * Если перед ней написать #[autodoc.groupsteps] В интерфейсе я выбираю Справочник1 и Справочник2 ["" + 11 + 22] тогда * Вся группа шагов будет восприниматься как один шаг. * Специальная видеовставка для группы создаваться не будет. * В финальном видео эта группа станет одним шагом с текстом В интерфейсе я выбираю Справочник1 и Справочник2 1122 * Если после директивы #[autodoc.groupsteps] не указан текст, тогда будет использовано текущее имя группы. * #[autodoc.ignore.scenarioslide] - отключить слайд сценария. Для исключения слайда сценария с текстом Сценарий. <Текст сценария> надо перед строкой, где объявляется сценарий написать #[autodoc.ignore.scenarioslide] * #[autodoc.ignore.featureslide] - отключить слайд с заголовком фичи. Для исключения слайда с заголовком фича файла надо перед строкой, где объявляется имя функциональности написать #[autodoc.ignore.featureslide]. * #[autodoc.ignore.finalslide] - отключить финальный слайд, где указана данные по сборке сценария. Для исключения слайда с заголовком фича файла надо перед строкой, где объявляется имя функциональности написать #[autodoc.ignore.finalslide]. * Изменить голос, для конкретного шага * Для изменения голоса перед шагом необходимо указать голосовой движок, голос, скорость и интонацию (для amazon можно указать язык). Параметры могут задаваться: * кратко (для Yandex): @YandexTTS: ermil,evil * развернуто @YandexTTS: voice = ermil; emotion = evil; speed = 1.1 * @AmazonTTS: voice = Kimberly; lang = en-US * При краткой записи для Yandex первый параметр - голос, второй эмоция, при развернутой записи порядок не важен, параметры разделяются. * Возможно использование пустой группы шагов для выполнения шагов сценария без озвучки текста диктором.
Часто задаваемые вопросы¶
- Вопрос: Как открыть кнопку "Eщё"?
Ответ:
С указанием имени командной панели:
Gherkin И я нажимаю на HTML элемент "elem(\'allActionsГруппаКоманднаяПанель\')" в браузере
или (второй вариант):Gherkin И я нажимаю на HTML элемент "querySelectElemByTitle(\'.pressBox\', \'Еще\')" в браузере