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

Содержание:

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С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка фу...

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

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

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:
1С:Управление корпоративными финансами

- Финансово-бухгалтерский блок
- Казначейство ...

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

Отрасль:
Оптовая торговля транспортными средствами и оборудованием

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский уче...

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

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

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

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

ООО «Вистеон Автоприбор Электроникс»
ООО «Вистеон Автоприбор Электроникс»

Отрасль:

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

- Управленческий учет; - Расчет зарплаты; - Логистика адресного склада; - Учет ...

ФГОУ ВПО «Горский государственный аграрный университет»
ФГОУ ВПО «Горский государственный аграрный университет»

Отрасль:
Образование

Внедренное типовое решение:
1С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

Разработка функциональных требований к информсистеме на базе «1С:Управление холдингом 8»
ФГУП «СВЯЗЬ-безопасность»

Отрасль:
Охранные услуги

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

- Зафиксировали процессы по блокам бухгалтерского, налогового учета, казнач...

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

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

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

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

ООО "НЦКТ"
ООО "НЦКТ"

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

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Производственные операции
Автоматизация бизнес-процессов...

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

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

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

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

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

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

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

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

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