Vanessa Automation + СППР

Публикация № 1150505

Методология - Проектирование - СППР

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

 


 

 

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

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

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

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

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

 

Проекты

 

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

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

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

 

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

 

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

 

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

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

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

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

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

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

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

 

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

 

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

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

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

 

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

 

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

 

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

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

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

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

 

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Процессы

 

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

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

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

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

 

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

| 'Код'             | 'Наименование'   | 

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

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

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

 

Подсценарии

 

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

 

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

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

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

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

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

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

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

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

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

 

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

 

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

 

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"C:\Program Files\1cv8\8.3.14.1630\bin\1cv8c.exe" /F"D:\report\Base" /Execute "D:\report\СборкаТекстовСценариев.epf" /C"СобратьСценарии;JsonParams=D:\report\params.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. Как присоединиться к проекту, подробно описано в статье Андрея Полетаева: //catalog.mista.ru/public/1092009/

 

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Pr-Mex 125 07.11.19 18:14 Сейчас в теме
Это что-то новое! Описание материала в статье представлено и текстом и автовидео. Ещё и тексты сценариев приложены. Супер!
jameswade; kwazi; +2 Ответить
2. hawk911 08.11.19 05:23 Сейчас в теме
Да, круто получилось. Надо в "массы" внедрять!
3. JohnyDeath 296 08.11.19 07:36 Сейчас в теме
Отличная статья, спасибо!
За исходники видеоинструкций отдельный плюс!
4. lmnlmn 58 08.11.19 08:43 Сейчас в теме
5. toypaul 67 08.11.19 08:48 Сейчас в теме
Хм. Озвучка роботами по тексту?
6. toypaul 67 08.11.19 08:50 Сейчас в теме
У ... крутямба. Это получается по сценарию "Яндекс" видос озвучивает?
7. SvVik 109 08.11.19 09:12 Сейчас в теме
(6) Да. Голоса Ермил и Оксана.
SerebanSK; toypaul; +2 Ответить
8. Hans 1 08.11.19 15:15 Сейчас в теме
9. OPM 212 11.11.19 08:44 Сейчас в теме
10. Hans 1 11.11.19 09:35 Сейчас в теме
11. AlexPC 14.11.19 10:12 Сейчас в теме
У нас непонятки при сравнении ТД. Работаем в интерактивном режиме, сравнение табличных документов осуществляется по параметрам, указанным на вкладке "чтение макетов" (работа с ui, настройки). хотя из кода вроде как следует, что размеры заполненной части ТД должны определяться автоматически, куда копать?
12. anosin 28 14.11.19 15:44 Сейчас в теме
Как это был вэбинар недавно от 1С "Решение практических задач.." по этому поводу, интересно было послушать/посмотреть
13. check2 121 06.12.19 22:56 Сейчас в теме
Здравствуйте! Подскажите, не получается запустить тесты из под конвеера GitLab-CI, развернутого на Windows 10. Сам GitLab-runner работает, например без проблем отрабатывает шаг со скриптом:
LoadTests: #Загрузка тестов из СППР для VA
    stage: test
    script:
        - start "" /wait "%PLATFORM_1C_tc%" /S LENOVO-21.real-bs.int\SPPR2 /N"SYSTEM" /P"P@ssw0rd" /Execute "C:\SPPR_VA_TEST\CompileScenaries.epf" /C"CompileScenaries;JsonParams=C:\SPPR_VA_TEST\Settings\params.json"
        - type "C:\SPPR_VA_TEST\CI\Log.txt"
    only:
        - master

А вот шаг:
RunTests: #Исполнениt тестов VA через менеджер тестирования СППР
    stage: test
    script:
        - start "" /wait "%PLATFORM_1C_tc%" /S LENOVO-21.real-bs.int\SPPR2 /N"SYSTEM" /P"P@ssw0rd" /Execute /C"StartFeaturePlayer;VBParams=C:\SPPR_VA_TEST\CI\Result\KKR\Loading plans from ASBU.json"
    only:
        - master

Процесс просто висит до истечения таймаута CI, хотя если запустить из CMD.EXE:
start "" /wait "C:/Program Files\1cv8\8.3.12.1855\bin\1cv8c.exe" /TestManager /S LENOVO-21.real-bs.int\SPPR2 /N"SYSTEM" /P"P@ssw0rd" /Execute "C:\Distr1C\vanessa-automation.1.2.028\vanessa-automation\vanessa-automation.epf" /C"StartFeaturePlayer;VBParams=C:\SPPR_VA_TEST\CI\Result\KKR\Loading plans from ASBU.json"

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

Ощущение такое, что его как то нужно по другому запускать.
Есть возможность привести пример файла .gilab-ci.yml ?

Спасибо!
14. check2 121 07.12.19 00:18 Сейчас в теме
Отбой, разобрался, ему нужно взаимодействовать с рабочим столом.
Оставьте свое сообщение

См. также

Vanessa, улучшаем инструкции

Vanessa Automation v8 1cv8.cf Бесплатно (free)

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

30.10.2019    7031    0    OPM    11    

Vanessa, хочу все и сразу

Vanessa Automation v8 Бесплатно (free)

Vanessa Automation это инструмент для тестирования прикладных решений на платформе 1С, но он/она может больше, чем только тестирование.

11.10.2019    8561    0    OPM    12    

Как стать контрибьютором Vanessa Automation?

Практика программирования Разработка v8 1cv8.cf Россия Бесплатно (free)

Краткая инструкция о том, как помочь проекту VA

15.07.2019    5538    0    fenixnow    42    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Разработка v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    18018    0    Vladimir Litvinenko    27    

Разработка и сценарное тестирование с Vanessa-ADD. Практические примеры сценариев. Шаги встроенной библиотеки

Практика программирования Разработка v8 Абонемент ($m)

Третья часть цикла публикаций, посвященных Vanessa-ADD и автоматизации тестирования. Переходим к практике.

1 стартмани

28.01.2019    16347    0    Vladimir Litvinenko    40    

Разработка и сценарное тестирование с Vanessa-ADD. Установка инструментов. Запись действий пользователя и выполнение сценариев

Практика программирования Бесплатно (free)

Вторая часть цикла публикаций, посвященных Vanessa-ADD и автоматизации тестирования.

21.01.2019    27383    0    Vladimir Litvinenko    94    

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

Управление проектом Интеграция СППР v8 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

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

03.10.2018    14631    0    roman72    19    

Управление отделом разработки с помощью "1С:СППР"

Управление проектом СППР v8 Бесплатно (free)

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

20.08.2018    14477    0    pau74    11