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

09.07.18

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Демо база "Тестирование 3.0"
.dt 7,25Mb ver:2018.07.04
10
10 Скачать (1 SM) Купить за 1 850 руб.
Примеры тестов
.zip 233,64Kb
8
8 Скачать (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. Об особенностях работы в новой среде разработки мы расскажем в следующей статье) 

 

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

См. также

Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    4762    38    20    

45

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

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

14400 руб.

29.04.2020    34207    109    152    

75

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

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

2160 руб.

20.01.2022    8470    30    0    

15

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

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

3600 руб.

10.02.2017    111723    672    175    

711

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

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

2500 руб.

20.06.2023    24457    20    4    

321

Программист Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.2 от 09.06.2024!

19200 руб.

26.08.2018    52742    16    61    

55

1С-программирование DevOps для 1С Программист Стажер Платформа 1С v8.3 Платные (руб)

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

4900 руб.

29.06.2022    12858    105    4    

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