Содержание:
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С:Предприятие.
Специалист компании "Кодерлайн"
Лев Туренко