Создание автотестов используя SpecFlow (Cucumber для C#) для BDD подхода разработки
Подготовка пакета SpecFlow для написания тестов
Для начала работы нужно скачать и добавить референс на библиотеку SpecFlow. Это можно сделать через NuGet Package Manager.
Создание SpecFlow Feature File для описания сценариев
Далее при создании нового айтема будет доступен айтем SpecFlow Feature File с расширением .feature выбираем и создаем
После создания SpecFlow Feature файла мы можем видеть такую заготовку под описание сценариев
Писать сценарии в этих файлах могут как тестировщики так и аналитики и продакт овнеры. Главное чтобы учитывался подход в описании сценариев, используя такие ключевые слова как:
- Given
- When
- And/But
- Then

Создаем методы для сценариев SpecFlow
Далее чтобы создать и написать логическую часть выполнения этих описаний сценариев, используя уже С# и фреймворк для автоматизации, нужно сгенерить «шаги выполнения». Это делается нажатием правой кнопки мыши в любом месте открытого .feature файла и выбором соответствующего пункта

Далее получаем сгенеренные методы с соответствующими аттрибутами с загрушками внутри, которые далее следует удалить и уже описать шаги с помощью Селениума или иного фреймворка для автоматизации

Чтобы увидеть и запустить тесты нужно сбилдить проект и открыть Test Explorer в котором и отобразятся наши сценарии в виде тестов

Также следует помнить что теперь NUnit атрибуты не будут распознаваться при запуске Specflow тестов и вместо них следует использовать Атрибуты Specflow:
[BeforeTestRun] - [AfterTestRun]
[BeforeFeature] - [AfterFeature]
[BeforeScenario] - [AfterScenario]
[BeforeScenarioBlock] - [AfterScenarioBlock]
[BeforeStep] - [AfterStep]
Также все классы должны быть «связаны», это делается аттрибутом [Binding] который вешается на класс
0 комментариев