Vanessa Automation 1.2.037: традиционная летняя революция

24.08.2021      111762

В новом релизе много изменений: расширение VAExtension, помогающее обходить ограничения клиента тестирования, сравнение mxl в отчете Allure, тест озвучки шагов, новый синтаксис для объявления переменных с вычислением выражений и многое другое.

VAExtension: шаги для выполнения серверного кода на клиенте тестирования

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

С помощью расширения VAExtension можно

  • Выполнить произвольный серверный или клиентский код, а также вычислить произвольное серверное или клиентское выражение на стороне клиента тестирования. Шаги:

И я выполняю код встроенного языка (расширение)

И я выполняю код встроенного языка на сервере (расширение)

И я запоминаю значение выражения 'ВыражениеВстроенногоЯзыка' в переменную "ИмяПеременной" (расширение)

И я запоминаю значение выражения на сервере 'ВыражениеВстроенногоЯзыка' в переменную "ИмяПеременной" (расширение)

Данные текущего окна в выражении встроенного языка можно получить по заголовку с помощью метода VAExtensionКлиент.ПолучитьОкноПоЗаголовку($ЗаголовокОкна$).

  • Получить значение любого реквизита текущей формы, включая подчиненные и те, которые не видны. Шаги:

И я запоминаю значение текущего окна 'ВыражениеВстроенногоЯзыка' в переменную "ИмяПеременной" (расширение)

Данные текущего окна в выражении встроенного языка можно получить с помощью конструкции "_ТекущееОкно.Объект.ПометкаУдаления" или "_CurrentWindow.Object.DeletionMark".

  • Изменить значения любых реквизитов формы, доступных для записи, и выполнить любые экспортные методы текущей формы. Шаг:

И я выполняю выражение "ВыражениеВстроенногоЯзыка" в текущем окне (расширение)

Чтобы изменить значение реквизита, в выражении встроенного языка можно использовать конструкцию '_ТекущееОкно.Заголовок = "Новый заголовок"' или '_CurrentWindow.Caption = "New caption"', а для выполнения метода – '_ТекущееОкно.ОткрытьСправкуФормы()' или '_CurrentWindow.ОткрытьСправкуФормы()'.

  • Получить навигационную ссылку для текущего окна, где это возможно. Шаг:

И я сохраняю навигационную ссылку текущего окна в переменную "ИмяПеременной" (расширение)

  • Сортировать таблицы динамических списков. Шаги:

И в таблице "ИмяТаблицы" текущего окна я устанавливаю сортировку по колонке "ИмяКолонки" по возрастанию (расширение)

И в таблице "ИмяТаблицы" текущего окна я устанавливаю сортировку по колонке "ИмяКолонки" по убыванию (расширение)

  • Открыть окно «Функции технического специалиста», если нужно взаимодействовать в сценарии с объектами, недоступными из основного интерфейса программы. Шаг:

И я открываю окно функции для технического специалиста (расширение)

  • Открыть окно «Настройка начальной страницы», чтобы настроить интерфейс перед началом тестирования. Шаг:

И я открываю окно настройка начальной страницы (расширение)

  • Ожидать завершение фоновых заданий. Шаги:

И я жду завершения выполнения всех фоновых заданий (расширение)

И я жду завершения выполнения всех фоновых заданий в течение 100 секунд (расширение)

  • Передать менеджеру тестирования макеты состояния формы клиента тестирования без использования временных файлов (актуально при выполнении тестов в веб-клиенте). Для этого в настройках на закладке «Выполнение сценариев» реализована опция «Получать макеты с помощью расширения VAExtension».

Расширение VAExtension можно скачать отдельно в разделе релизов на GitHub.

Возможности расширения VAExtension подробно описаны в справочной информации на GitHub.

Открытие mxl-файла из интерфейса Allure и сравнение печатной формы с эталоном

В версии 1.2.036 при падении любого шага, связанного с проверкой таблицы или макета, к отчету Allure стал прикладываться mxl-файл с состоянием таблицы в момент падения.

 

 

В новой версии эта функция получила развитие – на закладке «Отчет о запуске сценариев» появились флаги для сохранения данных печатных форм в формате mxl и в формате html. Если их не устанавливать, данные mxl-файла при падении к отчету прикладываться не будут.

В частности, при установке опции «Прикладывать файлы mxl сохраненные в формате HTML к отчету Allure» макет печатной формы можно открыть прямо в интерфейсе Allure.

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

 

Продвинутое сравнение печатной формы с эталоном

 

Для создания Gif-анимации сравнения требуется установка ImageMagick 7-й версии и пакета ghostscript, который выполняет конвертацию pdf-файлов в картинки. Папку bin пакета ghostscript нужно добавить в переменную среды PATH.

 

 

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

Напомним, что для формирования отчета Allure на своем ПК нужно:

  • убедиться, что на компьютере установлена Java с версией JRE не ниже 8 – при необходимости установить и прописать путь в PATH;
  • распаковать файлы фреймворка Allure по удобному пути и прописать его папку bin в переменную PATH;
  • на закладке «Отчет о запуске сценариев» фреймворка Vanessa Automation включить формирование данных для отчета Allure и указать путь к каталогу отчета. При каждом запуске сценариев каталог будет очищаться.

Автоинструкции: отладка озвучки любого шага и проговаривание групп сценария при обычном запуске

В интерфейс фреймворка вынесена кнопка для быстрого включения/выключения видеозаписи процесса тестирования.

 

 

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

При отладке произнесения шагов теперь не нужно переключаться между закладками форм – любой шаг или группу со звездочкой (*) можно озвучить, кликнув на иконку динамика во всплывающем окне подсказки или по хоткею «Alt+S».

Новые голосовые движки

Пополнился список доступных голосовых движков – теперь для озвучки можно использовать сервис Сбер TTS (SmartSpeech API). Пока что доступ к SmartSpeech возможен только для корпоративного пространства профиля и требует регистрации в Smartmarket Studio от имени компании, но в любом случае выбор голосов растет, и это не может не радовать.

 

 

Кроме этого, стало доступно подключение произвольного голосового движка через внешнюю обработку, имеющую в основной форме экспортную функцию GetMp3File(). Это значит, что пользователи Vanessa Automation могут сами реализовать функциональность озвучивания, в том числе, для малораспространенных языков, используя сервисы Text to Speech от Google, Azure и другие.

Секция объявления переменных и inline-вычисление выражений для значений переменных и параметров шагов

В языке сценариев Turbo Gherkin появилась новая секция «Переменные», где можно объявлять статические или динамически вычисляемые переменные.

 

 

Переменные можно задавать:

  • в виде примитивных типов;
  • как многострочные строки;
  • в виде выражений, вычисляемых на клиенте или на сервере (такие же выражения можно использовать в параметрах шагов):
    • вариант '{Выражение}' вычисляет выражение на клиенте
    • вариант '{!Выражение}' вычисляет выражение на сервере
  • в виде именованной или неименованной таблицы:
    • неименованная таблица представляет собой массив структур, к элементам которой можно обращаться через точку, например, ГлавныйКонтрагент2.Представление будет равно «ООО Моя Фирма2»
    • а для именованной таблицы при обращении к элементам сначала потребуется указать имя таблицы, потом имя переменной, а потом колонку в таблице, например,
      СписокКонтрагентов1Импорт.ГлавныйКонтрагент22.Представление будет равно «ООО Моя Фирма22»

 

 

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

Щелчок по гиперссылке выполняет переход к секции переменных.

Расширился состав системных переменных – теперь в параметрах шагов наравне с переменными $КаталогИнструментов$ и $КаталогПроекта$ можно использовать переменную $КаталогФичи$.

 

 

В табло переменных выводится подробная информация о значениях, имеющих сложные типы – такие как Структуры, Соответствия и Массивы.

UI Automation: более наглядные инструкции для тонкого и толстого клиентов 1С

Благодаря внешней компоненте VanessaExt появилась возможность использовать в шагах тестирования UI Automation – для поиска произвольных полей, кнопок, элементов любых окон, причем не только 1С, а любых других приложений.

 

 

Опция включается галочкой «Использовать UI Automation» на закладке «Автоинструкции».

С механизмом UI Automation можно создавать красивые видеоинструкции с перемещением мыши, отрисовкой стрелок и другими видеоэффектами не только в веб-клиенте, но и в тонком или толстом клиенте 1С. Поддержка механизма уже встроена в стандартные шаги – достаточно накликать обычный сценарий, затем поставить флаги «Эмулировать движения мышки» и «Использовать UI Automation» и мышка начнет кататься по экрану.

Пока что для UI Automation реализован только один готовый шаг – навигация по элементам клиента тестирования:

И я делаю клик по элементу клиента тестирования 'Заголовок' 'Тип' UI Automation

С его помощью можно вызвать пункты меню 1С, которые недоступны из стандартного API тестирования. Поля «Заголовок» и «Тип» заполняются по данным инспектора объектов (утилита inspect.exe из Windows SDK).

Скриншоты в отчете JUnit для GitLab

Раньше в Vanessa Automation возможность приложить скриншоты к результатам тестирования была только для отчета Allure, теперь такая же опция доступна и для отчета JUnit, формируемого для GitLab CI (начиная с версии 13.12).

 

 

Архив папки со скриншотами прикладывается к результатам тестирования в виде артефакта.

Новые команды меню инструментов

В меню фреймворка появились команды для интерактивного сохранения состояния текущей формы и всех форм клиента тестирования в mxl-файл.

 

 

Это упрощает поиск причин падения тестов в системе непрерывного тестирования – достаточно сравнить сериализованное значение формы при локальном запуске с ее значением из отчета Allure.

Также появилась команда для сравнения фича-файла, открытого в редакторе, с другим фича-файлом.

 

 

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

Доработки генератора тестовых данных

В инструменте «Подготовка и загрузка данных» появилась выгрузка зависимых элементов и отбор данных.

 

 

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

Новые возможности Vanessa Editor – поддержка раскраски синтаксиса многострочных строк

Редактор Vanessa Editor научился раскрашивать многострочные строки с явно указанным языком программирования.

 

 

Раскраска синтаксиса в многострочных строках доступна для 65 языков: plaintext, json, abap, apex, azcli, bat, cameligo, clojure, coffeescript, c, cpp, csharp, csp, css, dockerfile, fsharp, go, graphql, handlebars, html, ini, java, javascript, kotlin, less, lua, markdown, mips, msdax, mysql, objective-c, pascal, pascaligo, perl, pgsql, php, postiats, powerquery, powershell, pug, python, r, razor, redis, redshift, restructuredtext, ruby, rust, sb, scheme, scss, shell, sol, aes, sql, st, swift, tcl, twig, typescript, vb, xml, yaml, bsl, turbo-gherkin.

Новые шаги

Расширился состав библиотеки шагов – появились шаги:

  • для установки и настройки расширений
    • Дано расширение с именем установлено
    • И я устанавливаю в данную базу расширение из каталога Каталог Расширения
    • И у расширения я снимаю флаги
  • для настройки самой Vanessa Automation:
    • И я устанавливаю флаг настройки Vanessa-Automation "ИмяФлага"
    • И я снимаю флаг настройки Vanessa-Automation "ИмяФлага"
    • И я устанавливаю настройку Vanessa-Automation "ИмяНастройки" "ЗначениеНастройки"
  • для проверки окружения
    • И это Linux
  • для получения текста ошибки в конструкции Попытка/Исключение
    • И я запоминаю текст ошибки в переменную "ИмяПеременной"
  • и другие.

Прочее

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

 

 

При настройке нужно указать интервал перезапуска. Он должен быть меньше таймаута запуска клиента тестирования, иначе повторный запуск будет прерван по таймауту.

Была выполнена работа по универсализации параметров Vanessa Automation – теперь параметры, которые раньше можно было передать только в командной строке, можно передать и в JSON-файле VAParams.

 

Обзор изменений в релизе 1.2.037

 

Как начать применять автоматизированное тестирование

На Инфостарте опубликован ряд статей, помогающих освоить автоматизированное тестирование с помощью Vanessa Automation.

Функциональность Vanessa Automation можно использовать в полном варианте (в виде каталога инструментов) и в варианте Single (как единую обработку, но без поддержки обычных форм).

Установить релиз Vanessa Automation 1.2.037 можно двумя способами:

Проект Vanessa Automation открыт как для разработки, так и для использования.
 

Присоединиться к проекту

Канал в Telegram для обсуждения тестирования в 1С


Автор:
Аналитик


См. также

Новость ИТ-Новость

China Hi-Tech Fair – одно из самых значимых мероприятий в сфере информационных технологий в Восточной Азии. Рассказываем, какие компании и какие технологии были представлены российской делегацией в этом году.

25.11.2024    545    ЕленаЧерепнева    1       

4

Новость УСН ИТ-Новость Налоги ФНС

В октябре был опубликован федеральный закон, который разрешает применять автоматизированную упрощенную систему налогообложения во всех регионах РФ. Кто, когда и как может перейти на новый режим налогообложения?

22.11.2024    600    user1915669    0       

2

Новость ИТ-Новость Маркетплейс Маркировка

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

20.09.2024    5900    user1915669    0       

17

Новость ИТ-Новость Мероприятия

Команда СберТеха, российского разработчика ПО, примет участие в конференции INFOSTART TECH EVENT 2024 и расскажет о возможностях системы управления базами данных (СУБД) Platform V Pangolin для высоконагруженных систем.

17.09.2024    6056    DaryaRasina    26       

18

Новость Платформа 1С v8.3 Автоматизация

Фирма «1С» сообщила о завершении проекта по проведению нагрузочного тестирования прикладного решения 1С:ERP в среде Linux с использованием PostgreSQL. К инфобазе одновременно подключались 12 000 пользователей. Результат теста – оценка «хорошо».

11.09.2024    1098    ЕленаЧерепнева    1       

3

Новость ИТ-компания ИТ-Новость

Со 2 сентября 2024 года российские организации не смогут пользоваться облачными подписками на некоторые продукты Microsoft. Такую информацию получила компания Softline в письме от Microsoft.

27.08.2024    1026    user1915669    1       

1

Новость Автоматизация Конкурс

Фирма «1С» объявила о дату начала приема заявок на конкурс кейсов «1С:Реальная автоматизация». Желающие могут подготовить описание своего проекта на тему автоматизации основных процессов с помощью 1С. Автор лучшего кейса получит 1 миллион рублей.

26.08.2024    655    ЕленаЧерепнева    0       

2

Новость Автоматизация Искусственный интеллект

Инфостарт.Корпоративные решения 1С представляет Sherpa RPA – платформу автоматизации процессов, объединяющую классических программных роботов и современные технологии ИИ для выполнения рутинных и интеллектуальных задач бизнеса.

22.07.2024    1381    vikad    0       

3
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение