Vanessa Automation + СППР

07.11.19

Разработка - Тестирование QA

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 можно прочитать в статье Владимира Литвиненко //infostart.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. Как присоединиться к проекту, подробно описано в статье Андрея Полетаева: //infostart.ru/public/1092009/

 

См. также

DevOps и автоматизация разработки Тестирование QA Программист Пользователь Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Зарплата и Управление Персоналом 3 и версии КОРП: 3.1.30.57.

2160 руб.

05.08.2024    1289    15    1    

8

Тестирование QA DevOps и автоматизация разработки Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.17.113.

2400 руб.

04.07.2022    8377    38    1    

29

Тестирование QA DevOps и автоматизация разработки Программист Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.156.30.

1800 руб.

20.01.2022    7788    19    0    

13

Облачные сервисы, хостинг Linux Тестирование QA Сервера Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

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

31.10.2024    1319    capitan    0    

0

Журнал регистрации Тестирование QA Программист Бесплатно (free)

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

21.10.2024    2802    leemuar    8    

22

Тестирование QA Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

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

30.08.2024    1297    Scorpion4eg    6    

7

Тестирование QA Программист Платформа 1С v8.3 Бесплатно (free)

Иногда возникают ситуации, когда надо развернуть тестовую базу клиента / свою на серверах Windows или Linux. Тестовые базы могут понадобиться в разных ситуациях: у клиента ошибка, на нашей базе она не воспроизводится, реализуем новый функционал и хотелось бы протестировать на Linux и т.д. А теперь представим, что это все на потоке. Что тестовых баз 1С не одна, а 20-30. И получаем проблему, что непонятно, занята она сейчас кем-то или нет. Предлагаю вариант решения этой проблемы.

28.06.2024    1519    Diversus    12    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Pr-Mex 136 07.11.19 18:14 Сейчас в теме
Это что-то новое! Описание материала в статье представлено и текстом и автовидео. Ещё и тексты сценариев приложены. Супер!
jameswade; kwazi; +2 Ответить
2. hawk911 08.11.19 05:23 Сейчас в теме
Да, круто получилось. Надо в "массы" внедрять!
3. JohnyDeath 302 08.11.19 07:36 Сейчас в теме
Отличная статья, спасибо!
За исходники видеоинструкций отдельный плюс!
4. lmnlmn 69 08.11.19 08:43 Сейчас в теме
5. toypaul 63 08.11.19 08:48 Сейчас в теме
Хм. Озвучка роботами по тексту?
6. toypaul 63 08.11.19 08:50 Сейчас в теме
У ... крутямба. Это получается по сценарию "Яндекс" видос озвучивает?
7. SvVik 273 08.11.19 09:12 Сейчас в теме
(6) Да. Голоса Ермил и Оксана.
troubleshooter; toypaul; +2 Ответить
8. Hans 3 08.11.19 15:15 Сейчас в теме
9. OPM 352 11.11.19 08:44 Сейчас в теме
10. Hans 3 11.11.19 09:35 Сейчас в теме
11. AlexPC 14.11.19 10:12 Сейчас в теме
У нас непонятки при сравнении ТД. Работаем в интерактивном режиме, сравнение табличных документов осуществляется по параметрам, указанным на вкладке "чтение макетов" (работа с ui, настройки). хотя из кода вроде как следует, что размеры заполненной части ТД должны определяться автоматически, куда копать?
12. anosin 29 14.11.19 15:44 Сейчас в теме
Как это был вэбинар недавно от 1С "Решение практических задач.." по этому поводу, интересно было послушать/посмотреть
13. check2 380 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 380 07.12.19 00:18 Сейчас в теме
Отбой, разобрался, ему нужно взаимодействовать с рабочим столом.
15. ВикторП 350 25.09.21 18:37 Сейчас в теме
Сейчас недоступно ни одно видео
devtelscargo; wtlz; user1825844; +3 Ответить
Оставьте свое сообщение