Vanessa Automation + СППР

Vanessa Automation. Использование автоматизированного тестирования в СППР.

В СППР 2.0 стал доступен механизм автоматизированного тестирования.  В качестве фреймворка тестирования используется Vanessa Automation.

В начале настроим СППР для работы с функционалом тестирования:

  1. Настройка тестирования в СППР 
  2. Проекты
  3. Настройка локального запуска тестов
  4. Эталонные базы
  5. Известные шаги.

Затем рассмотрим основные объекты и приемы работы с функционалом тестирования в СППР:

  1. Сценарии работы пользователей
  2. Процессы
  3. Параметры сценариев
  4. Подсценарии
  5. Работа с макетами
  6. Настройки запуска
  7. Запуск сценариев на CI сервере
  8. Загрузка ошибок в СППР

Часть разделов снабжена видеоинструкциями.

 

Настройка тестирования в СППР

 

 

 Видеоинструкция

 

 Текст фичи

Сценарий: Настройка СППР
И видеовставка  "Настройка тестирования"
Включить функциональность тестирования можно выбрав пункт меню Администрирование Общие настройки и Установить флаг Использовать сценарии тестирования
@YandexTTS: ermil,good
Затем клик на картинку "Администрирование"
Затем клик на картинку "ОбщиеНастройки"
Затем клик на картинку "ТестированиеОбщиеНастройки"
Затем клик на картинку "ФлагСценарииТестирования"
#[autodoc.ignorestep]
И Я закрываю окно 'Общие настройки'
Дано текст субтитров "Какие еще настройки необходимы?"
В персональных настройках
@YandexTTS: ermil,good
Затем клик на картинку "Органайзер"
Затем клик на картинку "ПерсональныеНастройки"
Затем клик на картинку "ТестированиеПерсональныеНастройки"
Необходимо указать каталог данных для тестирования.Здесь будут лежать служебные файлы для работы фреймв#k8SjZc9Dxkорка тестирования
@YandexTTS: ermil,good
И я рисую рамку вокруг картинки "КаталогДанных"
|'Цвет'          | 'Красный'        |
|'Длительность'  | '3000'           |
|'Толщина'    | '3'            |
Также нужно указать путь к фреймв#k8SjZc9Dxkорку для запуска тестов Vanessa Automation
@YandexTTS: ermil,good
И я рисую рамку вокруг картинки "ФреймворкТестирования"
|'Цвет'          | 'Красный'        |
|'Длительность'  | '5000'           |
|'Толщина'    | '3'            |
Дано текст субтитров "Для корректной работы фреймв#k8SjZc9Dxkорка необходимо, чтобы у пользователя, под которым запускается эспэпээр, была отключена защита от опасных действий"
#[autodoc.ignorestep]
И Я закрываю окно 'Мои настройки'
Также необходимо создать проект
@YandexTTS: ermil,good
Затем клик на картинку "Главное"
Затем клик на картинку "Проекты"
Затем клик на картинку "СоздатьПроект"
И в поле 'Наименование' я ввожу текст 'Основной проект'
Затем клик на картинку "ЗаписатьПроект"
И версию проекта
@YandexTTS: ermil,good
Затем клик на картинку "ВерсииПроекта"
Затем клик на картинку "СоздатьВерсию"
И в поле "Редакция" я увеличиваю значение
И в поле "Подредакция" я увеличиваю значение
Затем клик на картинку "ЗаписатьПроект"

 

 

 

Чтобы включить в СППР функциональность тестирования нужно установить признак в разделе «Администрирование» – «Настройка параметров системы» – «Общие настройки» установить флаг «Использовать сценарии тестирования»:

В персональных настройках («Органайзер» – «Персональные настройки») заполнить поля:

  • «Каталог для данных тестирования» – здесь будут лежать служебные файлы для работы фреймворка тестирования (этот каталог будет очищаться при работе с СППР);

  • и «Фреймворк для запуска тестов» – указать путь к фреймворку Vanessa Automation.

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

 

Проекты

 

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

В разделе «Главное» – «Проекты» создадим «Основной проект». 

И версию проекта.

 

Настройка локального запуска тестов

 

 

 Видеоинструкция

 

 Текст фичи

 

Для запуска сценариев необходимо выполнить «Настройку БД для запуска тестов»:

В настройках локального запуска сценария указывается:

  • Адрес ИБ – путь к информационной базе, на которой будут запускаться тестовые сценарии;

  • Эталонная база – используется для хранения параметров подключения к эталонным базам тестирования;

  • Ключи запуска;

  • Тип клиента – Тонкий или Web;

  • Также можно указать менеджер тестирования – менеджером тестирования может выступать как текущий сеанс СППР, так и сеанс другой базы. 

 

Эталонные базы

 

Рассмотрим подробнее элемент справочника «Эталонные базы»:

  • На закладке «Описание» указывается наименование, идентификатор базы, проект.

  • На закладке «Пользователи» необходимо указать профили пользователя из СППР и соответствующего пользователя и пароль базы, на которой будут запускаться тесты.

 

Известные шаги

 

 

 Видеоинструкция

 

 Текст фичи

 

В сценариях СППР можно использовать шаги из библиотеки шагов Vanessa Automation.

Для выгрузки шагов из Vanessa Automation необходимо перейти на закладку «Работа с UI», нажать кнопку «Добавить известный шаг»:

В открывшейся форме в «Еще» выбрать команду «Выгрузить шаги в JSON», указать путь и имя файла.

После выгрузки, в СППР необходимо зайти в справочник «Шаги сценариев пользователей» и загрузить шаги из файла.

 

Сценарии работы пользователей 

 

 

 Видеоинструкция

 

 Текст фичи

 

В справочнике «Сценарии работы пользователей» хранятся простые сценарии тестирования.

Рассмотрим настройки элемента справочника «Сценарии работы пользователей»:

  • На странице «Описание» указываются основные поля: 

    • наименование;

    • функция, которую тестирует данный сценарий (если функциональная модель в СППР не ведется, то можно создать одну функцию и указывать ее во всех сценариях) ;

    • профиль пользователя, под которым будет запускаться сценарий. 

  • На странице «Текст сценария» указывается текст сценария тестирования на модификации языка Gherkin, которая разработана специально для использования с платформой «1С:Предприятие». Это декларативный, легко воспринимаемый человеком язык, который имеет определенный синтаксис. Также на закладке «Текст сценария» выводятся известные шаги и их можно добавлять в сценарий, не заходя в Vanessa Automation.

Подробнее про синтаксис языка Gherkin можно прочитать в статье Владимира Литвиненко //infostart.ru/public/969637/

Из формы элемента можно запустить фреймворк тестирования с данным сценарием:

  • Запуск тестов и Запуск тестов с текущего шага  — открывают фреймворк тестирования и сразу запускают сценарий на выполнение.

  • Запустить фреймворк тестирования с данным сценарием — открывает фреймворк тестирования  с данным сценарием.

Откроется фреймворк тестирования Vanessa Automation:

Подробно на работе с фреймворком останавливаться не буду. На сайте есть цикл статей от Владимира Литвиненко по работе с фреймворком Vanessa-ADD, который по функциональности тестирования во многом совпадает с Vanessa Automation:

Также у Vanessa Automation есть возможность записи видеоинструкций. О них рассказывает в своих статьях Павел Олейников:

 

Процессы

 

Как говорилось ранее, в справочнике «Сценарии работы пользователей» хранятся простые сценарии тестирования. Более сложные сценарии тестирования хранятся в справочнике «Процессы». Процессы состоят из последовательности простых сценариев тестирования.

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

Для того, чтобы сценарий работы пользователя можно было выбирать в процессе, необходимо установить флаг «Разрешено использовать в процессах»:

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

 

Параметры сценариев 

 

 

 Видеоинструкция

 

 Текст фичи

 

В тексте сценария можно использовать внутренние и внешние параметры. 

Внутренние параметры бывают трех типов:

  • строка (например, "ИмяСправочника" или ‘ИмяДокумента’);

  • число (например, 20);

  • дата (например, 18.09.2024).

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

Тогда на закладке «Параметры» появился параметр «ИмяСправочника»:

И для него мы можем задать значение по умолчанию (в приведенном примере значение по умолчанию – «Номенклатура»).

Также можно передавать составные параметры:

В данном примере в сценарии один параметр "Поступление товаров №[НомерПоступления] от [ДатаПоступления]", в котором два внешних параметра «НомерПоступления» и «ДатаПоступления».

Также в параметрах можно задать параметр с типом Таблица:

Где значение параметра – это Таблица Gherkin. Таблица Gherkin имеет следующий вид:

| ‘Код’             | ‘Наименование’   | 

| ‘000000012’ | ‘Тестовый пример’ |

Где первая строка – это имена колонок, вторая и следующие – значения колонок. 

Внешние параметры доступны для переопределения в шагах процесса:

 

Подсценарии

 

 

 Видеоинструкция

 

 Текст фичи

 

Также для сценариев можно использовать подсценарии.

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

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

В открывшемся окне в поле «Имя шаблона» необходимо вставить название шага:

И нажать на кнопку «Создать шаблон». Тогда будет открыта форма нового элемента справочника «Сценарии работы пользователей».

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

Если параметров несколько, то порядок параметров в тексте сценария и порядок параметров в подсценарии на закладке «Параметры» должны совпадать.

Также параметры в подсценарии можно передавать следующим образом:

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

 

Работа с макетами

 

 

 Видеоинструкция

 

 Текст фичи

 

В фреймворке Vanessa Automation есть шаги, в которых используются макеты. Например:

  • И таблица "Список" равна макету "СписокНоменклатуры" 

  • Дано Табличный документ "ТекущаяПечатнаяФорма" равен макету "Поступление"

В СППР макеты можно хранить непосредственно в справочнике Сценарии работы пользователя. Для этого сохраненный макет в формате mxl нужно добавить в присоединенные файлы:

Таким образов, в присоединенных файлах можно хранить любые файлы эталонов.

Для того, чтобы макеты стали более универсальными, можно:

  • В ячейках, которые не надо сравнивать установить *.

  • Использовать переменные: $НаименованиеОрганизации$.

Например, в макете:

Можно исключить из сравнения ячейку с номером и датой документа и наименование организации брать из переменной:

 

Настройки запуска 

 

Для сценариев и процессов можно задать настройки запуска.  Они позволяют запускать одни и те же сценарии и процессы разными пользователями и с разными параметрами. 

Настройки запуска для сценариев хранятся в справочнике «Настройки запуска сценариев».

Для настройки указываются:

  • наименование настройки запуска;

  • сценарий, который будет запускаться;

  • эталонная база БД, на которой будет запускаться сценарий;

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

  • параметры запуска. 

На закладке «Параметры теста» указываются параметры сценария:

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

Из настроек запуска сценариев или процессов  есть возможность выгрузить сценарии для версионирования в Git по кнопке «Выгрузить сценарии».

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

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

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

Запуск сценариев на CI сервере

Для запуска сценариев необходимо скомпилировать feature файлы из файлов yaml. Так как фреймворк тестирования Vanessa Automation загружает сценарии в формате feature.

Для этого необходимо сохранить обработку СборкаТекстовСценариев из конфигурации СППР.

Затем необходимо выполнить команду для формирования feature файлов:

"C:Program Files1cv88.3.14.1630in1cv8c.exe" /F"D:
eportBase" /Execute "D:
eportСборкаТекстовСценариев.epf" /C"СобратьСценарии;JsonParams=D:
eportparams.json"

Структура Json-файла выглядит следующим образом:

Где: 

  • ScenarioFolder – папка со сценариями в формате yaml.

  • ProcessFolder – папка с процессами в формате yaml.

  • LogFile – файл логов.

  • ModelDBSettings — имя файла эталонных БД.

  • FeatureFolder – каталог, в который будут выгружены собранные feature-файлы. Помимо feature-файлов в каталог выгружаются приложенные к сценарию файлы и json для Vanessa Automation.

  •  

Загрузка ошибок в СППР

 

 

 Видеоинструкция

 

 Текст фичи

 

Для загрузки ошибок тестирования в СППР необходимо:

  • указать настройки для загрузки ошибок в разделе «Администрирование» – «Интеграция с внешними системами». Необходимо указать каталог, в котором будут появляться файлы xml, сформированные, например, CI-сервером. 

  • указать список проектов, для которых будут загружаться ошибки.

Важно: имя конфигурации должно совпадать с названием конфигурации в xml файлах.

  • в Vanessa Automation на закладке «Сервис» – «Отчет о запуске сценариев» в разделе «Отчеты» необходимо установить флаг «Делать отчет в формате СППР» и указать каталог выгрузки.

После запуска в СППР регламентного задания «Загрузить ошибки из файлов» ошибки будут загружены в СППР:

Для таких ошибок устанавливается метод выявления «Автотесты».

 

По работе СППР в связке с Vanessa Automation есть вебинар «Автоматизированное тестирование в СППР 2.0» от фирмы «1С».

Вы можете присоединиться к проекту на GitHub. Как присоединиться к проекту, подробно описано в статье Андрея Полетаева: //infostart.ru/public/1092009/

 

14 Comments

  1. Pr-Mex

    Это что-то новое! Описание материала в статье представлено и текстом и автовидео. Ещё и тексты сценариев приложены. Супер!

    Reply
  2. hawk911

    Да, круто получилось. Надо в «массы» внедрять!

    Reply
  3. JohnyDeath

    Отличная статья, спасибо!

    За исходники видеоинструкций отдельный плюс!

    Reply
  4. lmnlmn

    Красота-то какая!

    Reply
  5. toypaul

    Хм. Озвучка роботами по тексту?

    Reply
  6. toypaul

    У … крутямба. Это получается по сценарию «Яндекс» видос озвучивает?

    Reply
  7. SvVik

    (6) Да. Голоса Ермил и Оксана.

    Reply
  8. Hans

    (7) А фото чье в личке?

    Reply
  9. OPM

    (8) Автора

    Reply
  10. Hans

    (9) Неверю.

    Reply
  11. AlexPC

    У нас непонятки при сравнении ТД. Работаем в интерактивном режиме, сравнение табличных документов осуществляется по параметрам, указанным на вкладке «чтение макетов» (работа с ui, настройки). хотя из кода вроде как следует, что размеры заполненной части ТД должны определяться автоматически, куда копать?

    Reply
  12. anosin

    Как это был вэбинар недавно от 1С «Решение практических задач..» по этому поводу, интересно было послушать/посмотреть

    Reply
  13. check2

    Здравствуйте! Подскажите, не получается запустить тесты из под конвеера GitLab-CI, развернутого на Windows 10. Сам GitLab-runner работает, например без проблем отрабатывает шаг со скриптом:

    LoadTests: #Загрузка тестов из СППР для VA
    stage: test
    script:
    — start «» /wait «%PLATFORM_1C_tc%» /S LENOVO-21.real-bs.intSPPR2 /N»SYSTEM» /P»P@ssw0rd» /Execute «C:SPPR_VA_TESTCompileScenaries.epf» /C»CompileScenaries;JsonParams=C:SPPR_VA_TESTSettingsparams.json»
    — type «C:SPPR_VA_TESTCILog.txt»
    only:
    — master
    

    А вот шаг:

    RunTests: #Исполнениt тестов VA через менеджер тестирования СППР
    stage: test
    script:
    — start «» /wait «%PLATFORM_1C_tc%» /S LENOVO-21.real-bs.intSPPR2 /N»SYSTEM» /P»P@ssw0rd» /Execute /C»StartFeaturePlayer;VBParams=C:SPPR_VA_TESTCIResultKKRLoading plans from ASBU.json»
    only:
    — master
    

    Процесс просто висит до истечения таймаута CI, хотя если запустить из CMD.EXE:

    start «» /wait «C:/Program Files1cv88.3.12.1855in1cv8c.exe» /TestManager /S LENOVO-21.real-bs.intSPPR2 /N»SYSTEM» /P»P@ssw0rd» /Execute «C:Distr1Cvanessa-automation.1.2.028vanessa-automationvanessa-automation.epf» /C»StartFeaturePlayer;VBParams=C:SPPR_VA_TESTCIResultKKRLoading plans from ASBU.json»

    всё отрабатывает корректно.

    Службу GitLab-runner пробовал запускать и из под системной УЗ, и из под той же под которой в CMD отрабатывает корректно.

    Ощущение такое, что его как то нужно по другому запускать.

    Есть возможность привести пример файла .gilab-ci.yml ?

    Спасибо!

    Reply
  14. check2

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

    Reply

Leave a Comment

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