vanessa 1c с чего начать

Vanessa-Automation — инструмент тестирования прикладных решений на платформе «1С: Предприятие»

Много вы знаете инструментов тестирования, которые умеют:

Об этом доступно и наглядно (с картинками) в этой статье, не переключайтесь.

Вступление

Данная статья представляет собой обзор созданного в недрах OpenSource инструмента тестирования прикладных решений 1С под названием vanessa-automation. Данный проект является прямым продолжением широко известного в узких кругах проекта vanessa-behavior (fork был создан на версии 1.1.131). Кстати, существуют и другие fork’и.

Контекст

Как бы не было приятно думать, что каждый читатель этой статьи на habr знает 1С, все таки, обманываться не вариант. Потому не рискну продолжить, не сформировав у читателя представления о платформе 1С и ее возможностях, используемых в vanessa-automation (далее va или Ванесса).

Итак, после установки платформы 1С её нужно запустить в режиме Предприятия или в режиме Конфигуратора.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

В конфигураторе ведется разработка конфигураций, а в предприятии с этими конфигурациями работают пользователи: создают, редактируют и сохраняют всякие такие справочники и документы, тем самым наполняя базу данных, а потом формируют отчеты и снова: создают, редактируют и сохраняют… и так в цикле. Впрочем, обычный сценарий использования платформы разработчиком, внешне, не сильно отличается от пользовательского:
запускают в режиме конфигуратора нужную конфигурацию, а далее в цикле → что-то разрабатывают или дорабатывают → (пере)запускают из конфигуратора 1С в режиме предприятия и руками проверяют то, что разработали или доработали.

Ситуацию спасает функциональность платформы под названием Автоматизированное тестирование, которая дает возможность записать, воспроизвести и проверить действий пользователя. Как данная функциональность меняет сценарий использования разработчиком платформы рассмотрим на примере, НО сначала о Внешних обработках.

Прикладные объекты конфигурации (они же «Метаданные», они же «Объекты конфигурации», она же Элла Кацнельбоген, она же Валентина Панияд )
описывают предметную область и имена этих объектов говорят сами за себя.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

«Документы» отражают хозяйственные операции, к примеру, поступление товаров. «Справочники» нужны для того, чтобы ввести, к примеру, название контрагента 1 раз и далее выбирать его, а не вводить каждый раз заново. В «Регистрах» хранятся данные и по ним строятся виртуальные таблицы для выполнения сложных расчетов и формирования «Отчетов». Вот мы и добрались до Обработок, с их помощью обрабатывается информация базы данных (например, выполняется закрытие месяца в бухгалтерском учете или различные обмены между информационными базами), но нам они интересны возможностью выгрузки во внешние обработки.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Конфигурации поставляемые самой фирмой 1С находятся на поддержке (нельзя изменять, чтобы не лишиться автоматического обновления), а внешние обработки дают возможность без снятия с поддержки производить различные манипуляции с данными, ну и конечно — тестировать!

После выхода платформы версии 8.3.10 появилась возможность, для целей тестирования, использовать, кроме внешних обработок, ещё и расширения (они же patch’и).

С определенной долей упрощения, можно сказать что технически, внешняя обработка 1С — это файл с расширением epf открыв который в конфигураторе, можно создать множество форм → разместить на формах элементы управления и запрограммировать некую функциональность в модулях этих форм. Ещё у внешних обработок есть «общий» модуль (он же «Модуль объекта») и макеты, НО это уже совсем другая история, а мы возвращаемся к тестирования.

Чтобы воспользоваться функциональностью Автоматизированное тестирование, нужно запустить два экземпляра 1С предприятия, первый с ключом менеджера тестирования (/TESTMANAGER), второй с ключом клиента тестирования (/TESTCLIENT) и установить соединение между менеджером и клиентом тестирования. Таким образом сценарий использования разработчиком платформы становится таким:

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Из конфигуратора запускаем 1С в режиме предприятия с ключом менеджера тестирования → в предприятии открываем va и с его помощью запускаем ещё один экземпляр
1С в режиме предприятия с ключом клиента тестирования. Соединение менеджера и клиента тестирования va устанавливает автоматически после запуска клиента тестирования. Клиентом тестирования может быть как тонкий клиент, так и web-клиент.

Итого: Фирма 1С написала свой Selenium, который встроен в платформу 1С: Предприятие. И этот Selenium от 1С имеет преимущества. Например, любой элемент управления (он же control) на форме всегда имеет уникальное имя, которое в 99.99% случаев известно заранее. Соответственно нет проблем с локаторами, а чтобы найти элемент управления достаточно написать:

Закрепим материал на примере

Необходимо разработать конфигурацию для учета продажи товара с печатью накладных.

Внимательный зритель мог заметить конструкцию

и вы не ошиблись, да — Ванесса использует свой диалект gherkin, в котором есть условия и циклы. Думаю, идея добавить в gherkin условия и циклы родилась примерно так:

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Некоторые участники OpenSource сообщества данное решение критиковали, но если верить gitter, то сошлись на следующем — «человекочитаемости» фичи данная функциональность не вредит, а использовать её или нет — каждый решает сам.
Про turbo gherkin планируется отдельная статья, следите за обновлениями.

«BDD на 1С» и немного истории

va, каким мы его видим сейчас, виделся его создателям иначе. Делать тот же cucumber + selenium на 1С было решено только после того как испытали самые очевидные и низкозатратные варианты. В определенный момент стало ясно, что если использовать cucumber и selenium, то именно эти инструменты и придется дорабатывать, чтобы получить необходимую функциональность тестирования прикладных-бизнес решений 1С. Данный расклад, в рамках opensource и реалий мира 1С, усложнял и растягивал по времени развитие проекта. В итоге было решено обойтись только средствами платформы 1С: Предприятие.

На примере с продажей товара мы увидели как работает va, теперь давайте посмотрим как это реализовано.

Проверка шагов

На видео «Тестирование» показан va, в который уже загружен feature-файл (далее фича) и сформировано дерево шагов. По кнопке «Выполнить сценарии» начинается обработка каждого шага, т.е. вызов процедуры проверки шага. О том где находится эта процедура, поясню на примере.

Допустим, есть фича со сценарием:

Чтобы реализовать проверку шагов этого сценария, нужно получить внешнюю обработку, соответствующую фичу. В va это делается автоматически, по соответствующей кнопке.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Процедуры проверки шагов будут распологаться в модуле формы обработки.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Далее, при загрузке фичи va выполнит поиск и последовательное подключение внешних обработок, чтобы узнать процедуры проверки каких шагов в них (внешних обработках) реализованы. За это отвечает следующая процедура:

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Последовательность поиска процедур проверки шагов следующая:

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

В том случае, если в фича добавится/удалится/изменится сценарий, по той же кнопке «Создать и обновить шаблоны обработок» внешнюю обработку соответствующую фиче можно перезаполнить.

Реализовав проверку шага один раз, её можно использовать в других фичах (повторное использование шагов). Собственно по этому, в модуле формы внешней обработки, мы видим две процедуры проверки сценария из трех шагов.

Шаги «из воздуха» и WYCIWYG

Немного о Функциональности Автоматизированное тестирование платформы 1С. Напомню, Автоматизированное тестирование позволяет записывать, воспроизводить и проверять воспроизведенные действия пользователя. На деле это всё те же клиент тестирования и менеджер тестирования, только на стороне клиента включается запись журнала действий пользователя.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

В результате мы имеем xml-файл с описанием действий пользователя:

Лежит ли на поверхности идея создать функциональность преобразования журнала действий пользователя в шаги сценария, сейчас сказать сложно, НО первым догадался и реализовал эту идею — Паутов Леонид (pr-mex). Объем проделанной работы можно оценить по содержанию и размеру библиотеки, ведь кроме перевода журнала действий пользователя на язык gherkin, требовалось реализовать процедуры выполнения и процедуры проверки шагов.

Таким образом, чтобы получить готовый сценарий «из воздуха» достаточно в менеджере тестирования включить запись действий пользователя.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

В клиенте тестирования воспроизвести действия пользователя, например функциональности, которую нужно доработать или ошибки, которую нужно исправить. Ну и завершить запись действий пользователя. Таким образом реализуется «WYCIWYG» подход к разработки тестов (What you click is what you get).

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Шаги, например, проверяющие результат действий пользователя в сценарий можно добавить из библиотеки.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Детализация шагов и экспортные сценарии

К сожалению в реальности сценарий состоит из множества шагов, больше чем на следующем скриншоте.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Есть, как минимум, два варианта облегчить восприятие таких сценариев.

Первый, с помощью табуляции «сдвинуть» шаги, которые нужно сгруппировать и дать им мнемоничный заголовок.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Второй, делать сценарий лаконичным и универсальным и экспортировать. Думаю у меня не получиться описать данную функциональность лучше, чем Елена на видео «Использование тега tree и шаги из воздуха» и «Передача параметров в сценарий».

Данные видео (1, 2) также созданы из сценариев на Gherkin и с помощью движка «АвтоВидеоИнструкций» преобразованы в mp4 формат за один клик.

Да, Ванесса умеет создавать видео ролики о том как работает Ванесса)

АвтоВидео

Автоматические видео-инструкции — это тема отдельной статьи (вот она), мне остается лишь рассказать немного предыстории.

Момент подготовки инфобазы, воспроизведения действий пользователя и проверки этих действий, т.е. выполнение сценария,
достаточно наглядная инструкция, если замедлить выполнение шагов.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Сажать пользователей за просмотр выполнения сценария (откуда этот милицейский юмор?) не вариант, но на реализации функциональности формирования html файла с шагами и соответствующими скриншотами автор не остановился. Его не остановило и то, что при воспроизведении действий пользователя курсор мышки не отображается и нет возможности выделить произвольную область на форме, поэтому он написал соответствующие утилиты. Далее, по запросу пользователей была добавлена озвучка (Елена), что с основными работами по формированию ролика с субтитрами и оригинальным музыкальным фоном, вылилось в приличный объем работ, но авто-видео-инструкции того стояли. На данный момент авто-видео-инструкции существенно оптимизированы, в плане синхронности озвучки и действий на видео.

Немного скучной статистики

va поддерживает:

Чтобы корректно работать на таком «зоопарке», va пришлось научиться тестировать саму себя. Отчет о «self» тестировании выглядит примерно так:

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Скрипты для «self» тестирования находятся в том же репозитории.

Библиотека шагов

В поставку va входит библиотека стандартных шагов Gherkin, которая позволяет решать повседневные задачи автотеситрования, такие как работа и интерфейсом приложения (кнопки, поля, таблицы и т.д.), работа с файлами, ОС и т.д. На данный момент это более 400 шагов.

Локализация

Интерфейс va локализован на 20 языков:

RU, am, az, bg, et, fr, ka, de, en, hu, it, lv, lt, mn, pl, ro, sl, es, sv, tr, vi.

Локализацию va можно разделить на 3 составляющих:

Поэтому уже сейчас на va могут писать сценарии на английском англоязычные пользователи. Все шаги из стандартной библиотеки переведены человеком. Результат может выглядеть примерно так.

Логично, что для поддержки такой локализации пришлось реализовать дополнительный инструментарий по работе с макетами (макет — это что-то вроде таблицы excel) для вставки/удаление значений, сортировка строк и т.д. напрямую в исходниках (xml файлах).

«TDD в 1С», тестирование процедур и функций (unit тесты)

С помощью va можно проверять «поведение» процедур и функций. Достаточно написать подобный сценарий:

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Если у читателей будет интерес, то эту тему можно раскрыть более подробно в будующих статьях.

Варианты поставки

Изначально проект поставлялся только в виде набора epf файлов, которые можно было собрать из исходников на github, либо скачать готовый релиз. Начиная с версии 1.2.009 va поставляется ещё и как один epf файл, который включает в себя все библиотеки, плагины, пакеты локализации, модули сборки видео и т.д. Так сказать — всё в одном.

Этот вариант фреймворка получил название vanessa-automation-single. Он хорошо подойдёт тем пользователям, которые не планируют дорабатывать va, а будут только использовать. Также этот вариант поставки хорошо подходит для включения в состав других конфигураций или расширений (благо лицензия проекта FreeBSD это позволяет).

Сверху вниз и снизу вверх

Несмотря на то, что инструмент изначально задумывался для реализации именно BDD методологии (т.е. когда сценарии пишутся сверху вниз, т.е. отталкиваясь от верхнеуровневых требований заказчика), практика использования показала, что на нём можно писать и сценарии снизу вверх. Типовой кейс — когда уже есть готовая конфигурация, и её надо просто покрыть тестами, не замарачиваясь методологиями.

Мораль

Надеюсь у читателя сложилось (ключевое слово «сложилось») представление о va как о серьезном инструменте тестирования. Посматривая на зарубежные аналоги на старте, сейчас va их превосходит, по моему скромному мнению. Расширение функциональности работы с gherkin, дало (обещанную, но не воплощенную до turbo gherkin) возможность вовлечь в процесс разработки и аналитика и разработчика и тестировщика. Поясню, аналитик пишет сквозной, верхнеуровневый сценарий → разработчик детализирует этот сценарий в том числе с помощью экспортных сценариев, и кроме кода он практически ничего не пишет (все необходимые шаги UI уже в библиотеке) → тестировщик добавляет сценарии, чтобы под «другим углом» проверить функциональность и всё это — в одном feature-файле, ура товарищи!

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

На этом позвольте завершить данную обзорную статью.
Поддержите проект добрым словом/лайком/критикой (чат проекта в Gitter находится здесь), авторам это всегда приятно.

Источник

Vanessa Automation. Как начать создавать видеоинструкции

Конечно, видеоинструкции – это не то, с чего мы начинаем тестирование. В первую очередь мы пишем сценарии для тестирования бизнес-процессов. А видеоинструкции – это, скорее, приятное дополнение.

Хотя по созданию видеоинструкций есть статьи на Инфостарте, все равно возникают вопросы по тому, как начать, какое программное обеспечение нужно, какие есть фишки. Все познается в работе. Так же, как и со сценариями тестирования, вначале будет тяжело, но, набивая руку, дальнейшее создание видеоинструкций становится более простым.

Зачем писать видеоинструкции

Во-первых, это стильно, модно, молодежно.

В наш век никто не хочет писать документацию – сейчас актуален тренд, что все хотят смотреть видео на YouTube. И в целом, Vanessa Automation предоставляет такую возможность – ваши сценарии для тестирования бизнес-процессов можно легко перевести в видео и показать пользователям.

Важная особенность – то, что автоматические видеоинструкции легко перезаписать. Если у вас меняется сценарий тестирования, добавляются новые реквизиты (какая-то галочка, включение которой нужно показать), вам не нужно самому перезаписывать это видео целиком – вы вставили шаги, запустили сценарий, и видео готово.

ПО для видеоинструкций

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

У меня есть проект на GitHub, в котором я собрала сценарии и настройки, которые я буду показывать в сегодняшнем докладе, чтобы вы могли скачать, посмотреть, попробовать.

В репозитории есть файлик со списком ПО. Обратите внимание, что для некоторых продуктов в этом списке критично скачивать конкретные версии, потому что не все последние версии поддерживаются для создания видеоинструкций.

Главная ссылка ведет на репозиторий Vanessa Automation. Вы можете скачать собранный фреймворк из релизов репозитория или, если хотите получить самые новые возможности, скачайте архив из ветки develop и с помощью compile.bat запустите сборку обработки. После обработки скрипта будет собрана обработка и все вспомогательные файлы.

Все свои вопросы по видеоинструкциям вы можете задавать в чате по тестированию в 1С. Там обсуждается не только Vanessa Automation, но и Vanessa ADD, Тестер и другие инструменты тестирования.

Для работы с видеоинструкциями вам также понадобится OneScript – его нужно установить и указать путь к нему в переменную PATH.

ImageMagick – здесь указана ссылка, где можно скачать релизы. Необходимо, чтобы в названии пакета было указано dll – только в такой версии есть все нужные компоненты для видеоинструкций. При установке важно поставить галочки «Install FFmpeg» и «Install legacy utilities», чтобы были установлены утилиты ffmpeg и convert. Также при установке нужно поставить галочку «Add application directory to your system path», чтобы путь к ImageMagick прописался в переменную среды PATH.

Нужна VLC версии 2.1.5 или версии 3.0.2 и выше. Было несколько релизов VLC (2.2, 3.0.0 и 3.0.1), которые выдавали ошибку при записи видео – на них видеоинструкции работать не будут.

Для работы SikuliX нам понадобится Java. У меня стоит Liberika. Можно использовать любую. Необходимо прописать путь к Java в переменную среды PATH.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Для озвучки текста нужно зарегистрироваться либо на Yandex Speech Kit, либо на Amazon Polly. Я использую Yandex Speech Kit – на мой взгляд, там самый лучший русский язык. Те голоса, которые предоставляет Amazon Polly, по-русски говорят с небольшим акцентом – это смотрится не очень хорошо. Зато у Amazon Polly большой выбор других языков. Они как раз с акцентами, которые отредактированы под этническую принадлежность говорящего, поэтому, если вы записываете видеоинструкцию для иностранных пользователей, лучше использовать Amazon Polly.

По сценариям, которые я буду показывать, я записала несколько видео на YouTube – ссылки на них также есть в репозитории на GitHub, вы можете посмотреть, что получилось.

И здесь также приведены ссылки на статьи Инфостарта по настройке видеоинструкций – частично я сейчас буду на информацию из них ссылаться, но в целом, собираюсь рассказать больше, чем там есть.

Настройки Vanessa Automation

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Давайте теперь перейдем непосредственно к настройкам.

На закладке Сервис в обработке Vanessa Automation мы:

устанавливаем флаг «Создавать видеоинструкцию»;

указываем каталог для видеоинструкции, в который у нас будут записываться промежуточные файлы и сгенерированное видео – оттуда его нужно копировать, потому что каждый раз при запуске сценариев оно будет затираться;

указываем каталог проекта;

часть настроек для видео можно заполнить, нажав кнопку «Загрузить настройки по умолчанию». После заполнения, настройки можно отредактировать – например, если у вас ImageMagick другой версии, укажите путь к нему;

и, я рекомендую, если вы используете видеовставки, кешировать видеовставки – это ускоряет сборку видео. Первый раз оно будет собираться долго, но в следующие разы гораздо быстрее.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Перейдем к вкладке «Страница аудио». Здесь мы как раз выбираем, какой вид озвучки мы будем использовать:

Как я уже говорила, я использую Yandex. У него есть триальный период два месяца, и потом совсем небольшая оплата за количество слов, которое вы озвучиваете – в целом получается не очень дорого.

Что здесь можно выбрать:

голос, которым будет идти озвучка – по умолчанию Vanessa Automation, если вы смотрели ролики на YouTube по работе с ней, говорит голосом Оксана (oksana);

эмоцию, с которой будет говорить голос;

можно установить скорость произнесения;

также вам понадобится идентификатор каталога сайта Yandex Speech Kit и токен доступа к нему;

желательно установить флаг «Кэшировать файлы TTS» – кэш аудио даже более важен, чем кэш видео, чтобы не платить лишние деньги за синтез голоса, этот флаг лучше устанавливать;

и очень хорошая возможность – это тест голоса. Чтобы не прогонять сценарий и потом в результирующем видео не смотреть, что получилось, можно здесь вбивать короткие фразы, слова – смотреть, как это произносится. Это может быть полезно, если нужно подобрать правильное ударение для произношения – как менять ударение в словах, я вам тоже покажу.

с помощью поля «Каталог музыки» можно задавать подложку из музыки, регулируя ее громкость, чтобы видеоинструкции смотрелись более красиво.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Вот наш сценарий. Он предназначен для создания партнера в конфигурации «Управление торговлей 11» – мы создаем партнера и создаем к нему контрагента. Сценарий достаточно простой, чтобы видео не были очень длинные.

Давайте посмотрим, какой получится результат после настройки параметров озвучки – если мы просто запишем видео для этого сценария, не дорабатывая его.

Как вы видите, получилось очень быстро. Пользователь, я думаю, ничего не понял, что ему нужно нажимать. Мало текста. Поэтому, конечно, сценарий нужно доработать.

Видеоинструкции с использованием SikuliX

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Давайте рассмотрим, как можно доработать сценарий. Перейдем на закладку «Дополнительно». Здесь есть дополнительные настройки:

можно отключить слайды с заголовком фичи;

отключить слайд со сценарием;

отключить финальный слайд;

при необходимости, если вам нужно, вы можете заменить эти слайды, добавив свои видеофайлы, которые будут склеены с видеосценарием в начале и в конце;

чтобы переходы между шагами происходили достаточно быстро, в Vanessa Automation есть параметр «Процент ускорения» – у меня указано 70, чтобы было немного быстрее, но стандартно используется 30-40. Вы можете поэкспериментировать и найти скорость, на которой видеоинструкции будут смотреться лучше для пользователей.

и очень красиво смотрятся подсвечивания нажатия мышки и эмулирование ввода с клавиатуры, когда не мгновенно текст появляется в поле, а эмулируется его ввод.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Для подсвечивания кликов мыши и эмулирования ввода с клавиатуры в группе SikuliX server устанавливаем соответствующие настройки:

«Использовать SikuliX сервер»;

«Эмулировать движения мышки»;

также по кнопке «Установить сервисные утилиты» устанавливаются утилиты для работы SikuliX – для шагов по отрисовыванию рамок, стрелок, кликов мышки;

и еще нам нужно указать каталог скриптов SikuliX – справа есть кнопка, которая заполняет его по умолчанию;

указываем каталог для генерации картинок – SikuliX по тексту генерирует картинки (опять же, каталог с картинками, которые сгенерировал при создании фичи SikuliX, есть в репозитории на GitHub, в папке pictures);

и, поскольку сгенерированные картинки не всегда подходят, то если вам нужно указать особенные настройки оформления или шрифта, вы можете указать их в таблице профилей поиска – например, здесь для командного интерфейса и для форм указан свой цвет фона и свой цвет шрифта, которые будут использоваться при поиске элементов по картинкам.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

В Vanessa Automation есть готовые шаги для использования SikuliX. Их можно посмотреть на закладке «Работа с UI» по кнопке «Добавить известный шаг» – в разделе «Прочее – SikuliX» находятся шаги, которые можно использовать для работы с SikuliX.

Давайте посмотрим, как эти шаги выглядят в сценарии.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Обратите внимание, мы можем разнообразить наше видео, используя не только голос, который мы указали в настройках Vanessa Automation по умолчанию, но и в самом файле сценария для каждого шага указать, каким голосом его произносить. Вы можете сделать видео с диалогами.

Например, в этой фиче шаг видеовставки создания нового партнера у меня произносится голосом Филиппа с эмоцией good.

Для YandexTTS можно использовать:

расширенную настройку
YandexTTS: voice = filipp; emotion =good

или сокращенную настройку
YandexTTS: filipp, good

А для Amazon немного другая конструкция, потому что у него нет эмоции – можно выбрать либо голос, либо язык, которым будет произноситься шаг
@AmazonTTS: voice = maxim; lang = en-US

И еще здесь используется шаг «И видеовставка “…”», который выводит надпись на черном фоне и голос произносит указанный текст.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Также здесь есть шаги для SikuliX:

Есть шаг рисования рамки вокруг картинки («И я рисую рамку вокруг картинки») – опять же, SikuliX работает именно с картинками.

Шаг рисования стрелки от элемента до элемента (Затем я рисую стрелку от … до …). Опять же, можно использовать как текст, так и картинку – это есть в известных шагах.

И еще используется шаг «Затем клик на картинку “…”». Такой шаг удобно использовать вместо исходного шага с нажатием на кнопку, если цвет фона или цвет шрифта для кнопки не соответствуют стандартным, или, если на форме есть несколько кнопок с одинаковыми надписями. Например, здесь в шаге «Регистрация партнера» есть слово «Создать» в надписи и слово «Создать» на кнопке формы, и SikuliX по умолчанию кликает на надпись. Чтобы сценарий у нас не падал из-за того, что кнопка не была нажата, исходный шаг по нажатию заменяется на нажатие на картинку.

Обратите внимание, что по умолчанию Vanessa произносит слова с ударением на первый слог. Если нам нужно произнести слово с ударением на другой слог, мы вставляем перед ударной гласной символ «домика» – «^».

Давайте посмотрим, какая видеоинструкция у нас получилось, когда мы настроили сценарий для SikuliX. Здесь уже видно, как двигается мышка, обводятся рамкой элементы.

Видеоинструкции в браузере

Теперь давайте рассмотрим, как создать видеоинструкцию в браузере.

Видеоинструкции в браузере предоставляют больше возможностей. Они появились в Vanessa Automation не так давно, с релиза 1.2.029. Их создание стало возможно благодаря внешней компоненте VanessaExt – изначально она использовалась только для создания скриншотов, но потом ее функциональность расширилась, и она стала использоваться для создания видеоинструкций.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

И далее, на закладке «Автоинструкции» нужно:

установить «Использовать браузер + web socket», как раз VanessaExt посылает команду через web socket.

флаги «Эмулировать движение мышки» и «Эмулировать ввод с клавиатуры»;

и, желательно, включить флаг «Игнорировать ошибки поиска элементов в браузере».

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Также на закладке «Настройки клиентов тестирования» обязательно нужно указать команду запуска браузера с ключом отладки (заполнится по нажатию на кнопку Chrome+Debug).

Важно, что на момент запуска клиента тестирования браузер должен быть закрыт и Vanessa должна сама его запустить, иначе видеоинструкции созданы не будут – она должна подключиться именно с этим ключом отладки.

И очень важно не закрывать сессию клиента крестиком, иначе ID веб-клиента остается зарезервированным, и потом записи видеоинструкции не происходит.

Как вы уже поняли, у нас база должна быть опубликована на веб-сервере для того, чтобы запись инструкций в веб-клиенте в принципе работала.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Давайте посмотрим, какие шаги есть для видеоинструкций в браузере. Они находятся в группе «Прочее – Браузер». Здесь находятся шаги по активизации текущего окна, по отрисовке элементов, рамок, вокруг одного элемента, вокруг нескольких элементов.

vanessa 1c с чего начать. Смотреть фото vanessa 1c с чего начать. Смотреть картинку vanessa 1c с чего начать. Картинка про vanessa 1c с чего начать. Фото vanessa 1c с чего начать

Давайте посмотрим текст фичи, и я расскажу, какие есть особенности у шагов по работе в веб-браузере

Я добавила в Vanessa Automation шаг «И я активизирую текущее окно браузера». В чем было неудобство? В том, что по умолчанию, когда мы запускаем клиент тестирования, клавиатурный ввод остается на менеджере тестирования. И, соответственно, шаги по вводу текста в браузере не работают – после запуска воспроизведения необходимо было переключаться в браузер, нажимать там любое поле для того, чтобы клавиатурный ввод переключился на него. Теперь для этого можно использовать специальный шаг.

Специальные служебные шаги нужно комментировать комментариями специального вида (#[autodoc.ignorestep]), чтобы они не произносились в видеоинструкции, чтобы Vanessa Automation не говорила: «И я активизирую текущее окно браузера».

Очень полезный шаг «И я фиксирую группу с именем», который позволяет ограничить область поиска элементов на форме группой, в которой они находятся. Потому что на форме элементов может быть много, они могут быть скрыты и, пока ищется нужный элемент, происходит зависание. Чтобы этого не происходило, можно фиксировать группу. Есть шаги по фиксации группы как по имени, так и по наименованию. И по отмене фиксации группы, если это нужно. Следует отметить, что в новых версиях платформы проблема «зависания» решена, и скорость выполнения тестов в web-клиенте значительно выросла.

Очень красиво выглядит шаг по подсказке EnjoyHint.

Есть шаг по рисованию рамок вокруг нескольких элементов в браузере.

И шаг по рисованию стрелок. Здесь уже не так, как в SikuliX, стрелка рисуется не прямая. Управляя свойствами startSocketGravity и endSocketGravity, вы можете стрелку сделать изогнутой в разные стороны, добавить надпись вначале или в середине (свойство middleLabel).

Здесь открывается больше простора для творчества и для красоты.

Вот такая инструкция у нас получилась, когда мы использовали браузер.

У веб-клиента есть недостаток – вы не можете использовать накликивание шагов. Но вы можете переключиться на тонкий клиент, с помощью кнопконажималки записать шаги пользователя, вставить в сценарий и потом уже запускать на веб-клиенте.

Вот так вы можете создавать видеоинструкции.

P.S после доклада была обновлена справка по видеоинструкциям.

P.P.S на момент публикации доклада Sikulix уже практически не используется. Функциональность внешней компоненты VanessaExt значительно расширилась. Да и в проект Vanessa Automation за год добавлено много новых возможностей, например, работа с Git.

Вопросы

Можно ли написать одну фичу и потом как-то ее в разных конфигурациях запускать одну и ту же с минимальной параметризацией?

Можно, если использовать в тестировании общую для всех этих конфигураций функциональность – например, функциональность УТ. В целом – также, как и для сценариев, вы через переменную можете задать какую-то локализацию в зависимости от конфигурации. И точно так же запускать. Т.е. никаких отличий от запуска обычных сценариев на разных конфигурациях для записи видеоинструкций нет. Просто вставляете переменную контекста в текст шагов и используете для параметризации.

Как научиться писать фичи?

Надо их писать. Магии нет, к сожалению. Надо начать, начать с базовой функциональности. В принципе, написание базовых сценариев в Vanessa Automation и Vanessa ADD не отличается. В Vanessa Automation есть какие-то дополнительные фишки для видеоинструкций, но сама база написания сценариев там почти одинаковая.

Данная статья написана по итогам доклада (видео), прочитанного на онлайн-митапе «DevOps в 1С: Тестирование и контроль качества решений на 1С». Больше статей можно прочитать здесь.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *