Запуск и контроль выполнения автоматизированных тестов из 1С – Jenkins Skin

09.07.18

Задачи пользователя - Корректировка данных

Мы рассмотрим пример создания заданий выполнения автоматизированных тестов из 1С с использованием различных Фреймворков (xUnit1C, Тестирование 3.0): запуск, ожидание завершения, загрузка результатов и выполнение полного цикла тестирования продукта. Убедимся, что все действия можно выполнить в пару кликов в дружественном интерфейсе.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Демо база "Тестирование 3.0"
.dt 7,25Mb ver:2018.07.04
9
9 Скачать (1 SM) Купить за 1 850 руб.
Примеры тестов
.zip 233,64Kb
7
7 Скачать (1 SM) Купить за 1 850 руб.

Условия примера:

Пример быстрый старт будем рассматривать на демо базах «Тестирвоание 3.0» и конфигурации «ERP 2».
Выполнять работы будем на локальном сервере или компьютере, где стоит сервер 1С (в рамках примера удобно использовать виртуальную среду, к примеру, VirtualBox).

Если вам больше нравится смотреть видео, то можете переходить к видео-уроку в конце статьи.

1-й шаг. Скачиваем необходимый инструментарий и примеры, распаковываем, устанавливаем. 

Для выполнения мероприятий нам понадобится следующий набор компонент:

•    Конфигурация «Тестирование 3.0». Скачиваем и устанавливаем демо базу, ссылки внизу статьи;
•    Фреймворк «xUnitFor1C»;
•    «Менеджер сценарного UI теста» и «Набор плагинов» из Фреймворка «Тестирование»;
•    Набор примеров тестов. Скачиваем с «GIt Hub» набор примеров сценарных и юнит тестов для демо базы «ERP»/ «УТ 11» (scripts-for-testing-1c); 
•    Целевая база для тестирования - «демо ERP» или «демо УТ»;
•    Репозитарий GIT (опционально, если собираетесь вести командную разработку). 

2-й шаг. Проводим настройку базы для выполнения регламентных заданий. 

1)    В разделе администрирования «Настройки работы пользователя на рабочем месте» указываем/правим параметры выполнения заданий для пользователя «Администратор» и «QA-бот». Под администратором будут выполняться регламентные задания, а под QA-ботом происходить загрузка отчетов.

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

a)    Путь к исполняемому файлу 1С. Выбираем текущую версию 1С.
b)    Путь к каталогу отчетов выполнения тестов. Путь на сервере, куда планируется сохранять отчеты выполнения тестов (к примеру, C:\Temp\Отчеты\).
c)    Путь к каталогу GIT. Это корень каталога, куда мы выгрузили примеры тестов (к примеру, C:\Тестирование\). 
d)    Путь к каталогу наборов сценариев. Это папка, внутри каталога GIT (к примеру, C:\Тестирование\МСТ-Demo-UI-Tests\Scripts).
e)    Путь к каталогу библиотеки сценариев. Это папка, внутри каталога GIT (к примеру, C:\Тестирование\МСТ-Demo-UI-Tests\Lib).

2)    Если вы выполняете настройки с отличной от сервера машины, то рекомендуем выполнить настройки п.1 c,d,e для выбранного пользователя и текущего рабочего места.

 

  Рис. 1 Настройка параметров для пользователя в рамках текущего рабочего места

3)    Открываем в администрировании справочник «Базы 1С». Выбираем целевую базу «ERP (База 1С)» и правим параметры подключения к ней – «Строка подключения КИБ». Для элемента «Текущая база 1С» также выполняем правку пути строки подключения.

4)    Настраиваем регламентные задания «Обработка заданий» и «Обработка действий заданий» через консоль регламентных заданий, которая находится в администрировании.

3-й шаг. Создаем в базе описание тестов. 

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

a)    Наименование: «БП Перемещение товаров»
b)    Тип теста: «Сценарный тест»
c)    ИД теста: «БП_Перемещение_товаров»
d)    Статус: «Готов»
e)    Вариант хранения: «Во внешнем файле GIT»,
f)    Путь к файлу: «C:\Тестирование\МСТ-Demo-UI-Tests\Scripts\БП Перемещение товаров.xml»
g)    Жмем записать и закрыть.

2)    Создадим юнит тест. В рамках создания нового справочника тесты указываем следующие данные:

a)    Наименование: «Оформить расходный ордер на товары»
b)    Тип теста: «Юнит тест»
c)    Статус: «Готов»
d)    Вариант хранения: «Во внешнем файле GIT» 
e)    Путь к файлу: «C:\Тестирование\xUnitFor1C-Demo-Unit-Tests\УТ11\UnitТест_ОформитьРасходныйОрдерНаТовары.epf»
f)    Жмем записать и закрыть

3)    Создадим набор тестов. Переходим в справочник «Наборы тестов» и создаем новый элемент. Указываем:

a)    Наименование: «Демо»
b)    Вид набора: «Внешний каталог GIT»
c)    Представление путь каталог: «C:\Тестирование\XUNITFOR1C-DEMO-UNIT-TESTS\ДЕМО»
d)    Записываем и закрываем.

4)    Добавляем другие тесты из каталога с примерами.

4-й шаг. Создаем в базе задания выполнения тестов и проверок. 

На рис. 2 приведено представление задания выполнения теста, а схема задания «Проверка целевой базы» показана на рис. 3. 

 
Рис.2 Представление выполнения задания из набора действий: 1 – в общем; 2 –выполнения теста

 
Рис.3 Представление выполнения проверки тестируемого приложения

1)    Создадим задание выполнения сценарного теста. Теперь переходим в раздел «Планировщик», выбираем «Задания» и смело жмем кнопку «Создать по шаблону»:

a)    Выбираем «Сценарный UI тест (МСТ)» и жмем «Начать создание задания по шаблону»
b)    Указываем наименование «БП Перемещение товаров»; кнопку «Вперед»
c)    Выбираем в поле «Тест» значение «БП Перемещение товаров» и меняем порт тестирования на отличный от дефолтного, к примеру, 1567; жмем «Вперед»
d)    Соглашаемся; опять жмем «Вперед».
e)    И наконец выполняем создание задания – кнопка «Создать новое задание».

2)    Создадим задания выполнения юнит тестов и наборов тестов. Для создания заданий выполнения юнит теста выбираем конструктор «Юнит-тест (xddTestRunner)», а для выполнения тестов из каталога «Набор юнит-тестов из каталога (xddTestRunner)». Последовательность действий аналогичен предыдущему примеру.

3)    Создадим задание проверку. Для этого в конструкторе выбираем пункт «Выполнение проверки (набора заданий)». 

a)    Наименование: «Проверка базы ЕРП»;
b)    Тестируемый клиент: «ERP (демо)»;
c)    Жмем «Вперед»;
d)    Добавляем в таблицу последовательно следующие строки (порядок, и задание) см. рис. 2: 

1, Загрузка начальных данных
2, Все тесты из каталога Демо
2, БП Продажи
3, Проверка оформления расходных ордеров на товары
3, БП Закупки
и т.д.

e)    Жмем «Вперед»;
f)    Соглашаемся и кнопка «Создать и закрыть».

Для тех, кто запускает тесты в другой системе (Jenkins, TeamCity и др.), существует возможность использовать задание «Загрузка отчета». Это задание ожидает появление файла/ов в каталоге и выполняет загрузку по его/их наличию.


5-й шаг. Настройка авто выполнения заданий проверок. 

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

Контроль за выполнением заданий тестов осуществляем через плагин «Jenkins Skin». На скриншотах ниже показаны примеры отображения экранов «Обзор» и «Детализация выполнения».
 
Рис. 4 Экранная форма «обзор»

 
Рис.5 Экранная форма «детализация выполнения»

Видео-урок. Быстрый старт. 

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

Дополнительно:

1.    При смене версии платформы, обязательно поменяйте пути к исполняемому файлу иначе сценарные тесты перестанут выполняться из-за того, что при перезапуске стартером 1С теряются параметры тестируемого клиента и порт. И не указывайте стартер 1С в качестве исполняемого файла.
2.    Для того чтобы просмотреть процесс работы тестируемого клиента необходимо (на нулевом рабочем столе) разрешить запуск службы Interactive Services Detection. А службе 1С (в настройках) разрешить взаимодействовать с рабочим столом (Allow service to interact with desktop) в случае локальной учетной.
3.    Результаты выполненных тестов удобно просматривать через рабочее место «Allure Skin».
4.    Демо примеры сценарных и набора юнит тестов можно найти на GitHub: scripts-for-testing-1c
5.    Конфигурация «Тестирование 3.0» расположена по адресу: TestingTool-3
6.    Если вам не очень нравится ГИТ, то вы конечно можете использовать общий каталог.
7.    В демо базе УТ или ЕРП отключите у пользователей свойство "Защита от опасных действий", иначе будут проблемы с запуском тестов xUnitFor1C.
8.    Мы на тестовой машине (сервер или та система, где настроен запуск регламентных и фоновых заданий) установили GUT клиент и клонировали гит репозиторий. Для того чтобы автоматически синхронизировались тесты с последними изменениями, то мы запускаем батник со следующим кодом:

cd "С:/Тестирование/"
git branch --set-upstream-to=origin/master
git pull

9.    Тесты разрабатываем по принципу Git Hub Flow.
10.    Для создания целевой базы тестирования, ночного билда мы используем отдельные батники.
11.    На практике используем только серверную базу для запуска заданий (в файловой есть известные особенности с запуском регламентных и фоновых).
12.   Фреймворк "Тестирование 3.0" мы перевели на отличные от конфигуратора и хранилища "рельсы"  - в EDT. Об особенностях работы в новой среде разработки мы расскажем в следующей статье) 

 

тестирование

См. также

DevOps для 1С DevOps и автоматизация разработки Программист Стажер Платные (руб)

Данный онлайн-курс (интенсив) предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. 

2500 руб.

20.06.2023    22394    7    4    

311

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    32711    106    152    

73

SALE! 50%

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Программист Стажер Платформа 1С v8.3 Платные (руб)

Использования систем контроля версий — стандарт современной разработки. На курсе научимся использованию Хранилища 1С и GIT при разработке на 1С:Предприятие 8. Разберем подходы и приемы коллективной разработки, научимся самостоятельно настраивать системы и ориентироваться в них.

4900 2450 руб.

29.06.2022    11955    100    4    

132

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    1292    15    1    

8

SALE! 20%

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

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 2880 руб.

10.02.2017    110544    662    174    

702

DevOps и автоматизация разработки Логистика, склад и ТМЦ Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Подсистема «Управление сборкой GLI» предназначена для динамического формирования сборочных линий Gitlab и отслеживания процесса доработок систем на базе1С:Предприятия Позволяет упростить выпуск новых релизов системы, подготовить описание доработок системы. Интегрируется с GitLab API по событиям Push, Merge-request, Pipeline. Уведомляет пользователей о результатах сборки/тестирования сборочных конвейеров через СВ, либо при её недоступности или отсутствию по E-Mail. Поможет при отправке исправлений ошибок в общую базу тестирования, сформирует запросы на слияние в ветку версии только по протестированному и подтверждённому функционалу. Подсистема рассчитана исключительно на клиент - серверную архитектуру тестовых ИБ. Поддерживаемая версии СППР 2.0.4.15, платформа не ниже 8.3.17.1549, 2.0.7.3 / не ниже 8.3.21.1664, начиная с релиза 1.0.4.30 требуется платформа не ниже 8.3.23 рекомендуемый релиз 8.3.23.1997

7000 руб.

26.08.2022    12571    10    10    

35
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Kaval88 174 09.07.18 10:10 Сейчас в теме
Полезная статья, хорошо написана.
admin660; pbabincev; ivanov660; +3 Ответить
2. e][tend 11.07.18 10:13 Сейчас в теме
Спасибо, за подробное описание, буду пробовать.
Ваши репозитарии на GitHub уже до этого видел, а "быстрого старта" не было. Теперь пробел восполнен.
3. ivanov660 4578 11.07.18 11:23 Сейчас в теме
(2) Благодарю за отзыв. По результатам прошу дать обратную связь тут на инфостарте или на github через issues dashboard.
4. kuzyara 2091 11.07.18 12:03 Сейчас в теме
5. ivanov660 4578 11.07.18 12:25 Сейчас в теме
(4) еще пока рановато, не охвачена необходимая целевая аудитория )
Оставьте свое сообщение