04.06.2024 Лев Туренко 3414
Фича-файлы с использованием экспортных сценар...

Содержание:

1.      Что такое фича-файлы

2.      Экспортные сценарии в Vanessa Automation

3.      Связывание фича-файлов и экспортных процедур

4.      Примеры использования экспортных сценариев

5.      Настройка среды и запуск тестов в Vanessa Automation

   

Vanessa Automation (VA) – это мощный инструмент для автоматизации тестирования конфигураций на платформе «1С:Предприятие». Одной из ключевых возможностей VA является поддержка фича-файлов и экспортных сценариев, которые позволяют организовать структурированное тестирование бизнес-логики и интерфейсов приложений.  


1.      Что такое фича-файлы


Фича-файлы представляют собой текстовые файлы с расширением «.feature», которые описывают сценарии тестирования на языке Gherkin. Каждый фича-файл содержит один или несколько сценариев, описывающих различные аспекты функциональности приложения. Язык Gherkin позволяет писать сценарии на естественном языке, что делает их понятными для пользователей и разработчиков.


Фича-файл состоит из следующих основных частей:

·        Feature (Функция): описание тестируемой функциональности;

·        Scenario (Сценарий): описание конкретного тест-кейса;

·        Given (Дано): начальные условия теста;

·        When (Когда): действия, выполняемые в тесте;

·        Then (Тогда): ожидаемые результаты.


Далее можно увидеть классический пример фича-файла:

«Feature: Авторизация пользователя

Scenario: Успешная авторизация

    Given Я открываю форму "Авторизация"

    When Я ввожу "admin" в поле "Логин"

    And Я ввожу "password" в поле "Пароль"

    And Я нажимаю на кнопку "Войти"

    Then Я вижу сообщение "Добро пожаловать"»  


2.      Экспортные сценарии в Vanessa Automation


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


Для создания экспортного сценария в VA используется специальный модуль. Рассмотрим пример создания сценария для фича-файла, описанного выше:


1.      Создание общего модуля для сценариев. Создаём общий модуль в конфигурации 1С, например, «VA_Scenarios»;

2.      Определение экспортных процедур. В модуле определяем процедуры для шагов сценария таким образом:


«Процедура ЯОткрываюФормуАвторизация() Экспорт

    ОткрытьФорму("Авторизация");

КонецПроцедуры

 

Процедура ЯВвожуВПолеЛогин(Знач Логин) Экспорт

    УстановитьЗначениеРеквизита("Логин", Логин);

КонецПроцедуры

 

Процедура ЯВвожуВПолеПароль(Знач Пароль) Экспорт

    УстановитьЗначениеРеквизита("Пароль", Пароль);

КонецПроцедуры

 

Процедура ЯНажимаюНаКнопкуВойти() Экспорт

    НажатьКнопку("Войти");

КонецПроцедуры

 

Процедура ЯВижуСообщениеДоброПожаловать() Экспорт

    Если Не СообщениеОтображается("Добро пожаловать") Тогда

        ВызватьИсключение("Ожидалось сообщение 'Добро пожаловать'");

    КонецЕсли;

КонецПроцедуры»  


3.      Связывание фича-файлов и экспортных процедур


Для того чтобы VA могла связать шаги из фича-файлов с экспортными процедурами, необходимо использовать аннотации. Аннотации позволяют VA сопоставлять текст шагов с соответствующими процедурами. Аннотации к описанному модулю могут быть следующими:

«#НаСервере

Процедура ЯОткрываюФормуАвторизация() Экспорт

    // Открываем форму "Авторизация"

    ОткрытьФорму("Авторизация");

КонецПроцедуры

 

#НаСервере

Процедура ЯВвожуВПолеЛогин(Знач Логин) Экспорт

    // Вводим логин в поле "Логин"

    УстановитьЗначениеРеквизита("Логин", Логин);

КонецПроцедуры

 

#НаСервере

Процедура ЯВвожуВПолеПароль(Знач Пароль) Экспорт

    // Вводим пароль в поле "Пароль"

    УстановитьЗначениеРеквизита("Пароль", Пароль);

КонецПроцедуры

 

#НаСервере

Процедура ЯНажимаюНаКнопкуВойти() Экспорт

    // Нажимаем кнопку "Войти"

    НажатьКнопку("Войти");

КонецПроцедуры

 

#НаСервере

Процедура ЯВижуСообщениеДоброПожаловать() Экспорт

    // Проверяем наличие сообщения "Добро пожаловать"

    Если Не СообщениеОтображается("Добро пожаловать") Тогда

        ВызватьИсключение("Ожидалось сообщение 'Добро пожаловать'");

    КонецЕсли;

КонецПроцедуры»  


4.      Примеры использования экспортных сценариев


Рассмотрим несколько примеров сценариев, которые могут использоваться в различных тестах:


1.      Проверка создания документа. Фича-файл будет следующим, как представлено здесь:


«Feature: Создание документа

Scenario: Успешное создание документа

    Given Я открываю форму "Документы"

    When Я нажимаю на кнопку "Создать"

    And Я заполняю поле "Номер" значением "123"

    And Я заполняю поле "Дата" значением "01.01.2024"

    And Я нажимаю на кнопку "Записать"

    Then Я вижу документ с номером "123" и датой "01.01.2024"»


            Экспортные сценарии будут такими:

            «#НаСервере

Процедура ЯОткрываюФормуДокументы() Экспорт

    ОткрытьФорму("Документы");

КонецПроцедуры

 

#НаСервере

Процедура ЯНажимаюНаКнопкуСоздать() Экспорт

    НажатьКнопку("Создать");

КонецПроцедуры

 

#НаСервере

Процедура ЯЗаполняюПолеНомерЗначением(Знач Номер) Экспорт

    УстановитьЗначениеРеквизита("Номер", Номер);

КонецПроцедуры

 

#НаСервере

Процедура ЯЗаполняюПолеДатаЗначением(Знач Дата) Экспорт

    УстановитьЗначениеРеквизита("Дата", Дата);

КонецПроцедуры

 

#НаСервере

Процедура ЯНажимаюНаКнопкуЗаписать() Экспорт

    НажатьКнопку("Записать");

КонецПроцедуры

 

#НаСервере

Процедура ЯВижуДокументСНомеромИДатой(Знач Номер, Знач Дата) Экспорт

    Если Не ДокументСуществует(Номер, Дата) Тогда

        ВызватьИсключение("Документ с номером " + Номер + " и датой " + Дата + " не найден");

    КонецЕсли;

КонецПроцедуры

 

Функция ДокументСуществует(Знач Номер, Знач Дата) Экспорт

    Запрос = Новый Запрос;

    Запрос.Текст = "

        ВЫБРАТЬ

            Документ.Номер КАК Номер,

            Документ.Дата КАК Дата

        ИЗ

            Справочник.Документы КАК Документ

        ГДЕ

            Документ.Номер = &Номер

            И Документ.Дата = &Дата

    ";

    Запрос.УстановитьПараметр("Номер", Номер);

    Запрос.УстановитьПараметр("Дата", Дата);

    Результат = Запрос.Выполнить();

    Возврат Результат.Количество() > 0;

КонецФункции»


2.      Рассмотрим, как будет выглядеть пример проверки расчёта заработной платы. Фича-файл будет следующим:


«Feature: Расчет зарплаты

Scenario: Успешный расчет зарплаты

    Given Я открываю форму "Расчет зарплаты"

    When Я выбираю сотрудника "Иванов И.И."

    And Я нажимаю на кнопку "Рассчитать"

    Then Я вижу сумму зарплаты "50000"»

А сценарии экспорта представлены ниже:

«#НаСервере

Процедура ЯОткрываюФормуРасчетЗарплаты() Экспорт

    ОткрытьФорму("Расчет зарплаты");

КонецПроцедуры

 

#НаСервере

Процедура ЯВыбираюСотрудника(Знач Сотрудник) Экспорт

    УстановитьЗначениеРеквизита("Сотрудник", Сотрудник);

КонецПроцедуры

 

#НаСервере

Процедура ЯНажимаюНаКнопкуРассчитать() Экспорт

    НажатьКнопку("Рассчитать");

КонецПроцедуры

 

#НаСервере

Процедура ЯВижуСуммуЗарплаты(Знач Сумма) Экспорт

    Если Не ПроверитьСуммуЗарплаты(Сумма) Тогда

        ВызватьИсключение("Ожидалась сумма зарплаты " + Сумма);

    КонецЕсли;

КонецПроцедуры

 

Функция ПроверитьСуммуЗарплаты(Знач Сумма) Экспорт

    Форма = ПолучитьТекущуюФорму();

    ТекущаяСумма = Форма.Элементы.СуммаЗарплаты.Значение;

    Возврат ТекущаяСумма = Сумма;

КонецФункции»  


5.      Настройка среды и запуск тестов в Vanessa Automation


Для запуска тестов в VA необходимо настроить окружение и подключить фича-файлы и экспортные сценарии по следующему алгоритму:


1.    Настроить проект в VA:

·        Открыть Vanessa Automation;

·        Создать новый проект или открыть существующий;

·        Добавить фича-файлы в проект.


2.    Подключить экспортные сценарии:

·        Открыть меню настроек проекта;

·        Перейти в раздел «Общие модули»;

·        Указать общий модуль с экспортными сценариями (VA_Scenarios).


3.    Запустить тесты:

·        Запустить тесты через интерфейс VA;

·        Просмотреть результаты выполнения тестов и отчёты.


Использование фича-файлов и экспортных сценариев в Vanessa Automation для системы программы 1С позволяет структурировать и автоматизировать процесс тестирования, делая его более прозрачным и эффективным. В данной статье были рассмотрены основные аспекты создания и использования фича-файлов, а также примеры программного кода для реализации экспортных сценариев. Эти инструменты помогают обеспечить высокое качество и надёжность программных решений на платформе системы 1С:Предприятие.

   

   Специалист компании "Кодерлайн"

Лев Туренко

Наши проекты

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и ИТ процессами
• Автоматизация бизнес-процессов
Управлени...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение документов
• Учет рабочего времени
Закупки (снабжение) и...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор кадров
-Анализ кадрового состава
-Учет рабочего времен...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складами;
- Управление заказами поставщиков;
- Управление заказами покупателей...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оформление заказов покупателей Управление складскими запасами ...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Блок планирования проектов (процессы объемно-календарного планирования производства)...

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Управление холдингом 8

Бухгалтерский учет;
Расчет зарплаты и кадровый учет;...

Автоматизация торгового учета на базе "1С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складскими запасами;
- Оформление заказов покупателей;
- Планирование продаж;
- Взаиморасчеты с покупателями;
-...

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Комплексная автоматизация

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с покупателями
Оптовая торговля...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную систему управления финансовой и закупочной деятельностью (АС ФЗД) ...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в данные международного учета (ГААП) на платформе «1С:Предприятие 8»:...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение