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.2026).

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

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

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

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

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

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

Где значение параметра – это Таблица 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 не будет опубликован. Обязательные поля помечены *