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

Фича-файлы с использованием экспортных сценариев Vanessa Automation

0
6424
04.06.2024 Лев Туренко

Содержание:

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С:Предприятие.

   

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

Лев Туренко

Обсудить статью в Telegram Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.