Огурец - Сценарии

Scenarioявляется одной из основных структур Gherkin. Каждый сценарий начинается с ключевого слова «Сценарий:» (или локализованного), за которым следует необязательный заголовок сценария. Каждая функция может иметь один или несколько сценариев, и каждый сценарий состоит из одного или нескольких шагов. Очень простой пример сценария может быть -

Scenario - Проверьте функциональность справки.

Данный пользователь переходит на Facebook.

Когда пользователь нажимает «Справка», открывается страница справки.

Рассмотрим случай, когда нам нужно выполнить тестовый сценарий более одного раза. Предположим, нам нужно убедиться, что функция входа в систему работает для всех типов держателей подписки. Это требует выполнения сценария функции входа в систему несколько раз. Скопировать и вставить те же шаги, чтобы просто повторно выполнить код, не кажется разумной идеей. Для этого Gherkin предоставляет еще одну структуру - схему сценария.

Схема сценария аналогична структуре сценария; единственное отличие - наличие нескольких входов. Как вы можете видеть в следующем примере, тестовый пример остается неизменным и не повторяется. Внизу мы предоставили несколько входных значений для переменных «Имя пользователя» и «Пароль». Во время выполнения фактического теста Cucumber заменит переменную предоставленными входными значениями и выполнит тест. После выполнения pass-1 тест будет повторно запущен для второй итерации с другим входным значением. Такие переменные или заполнители могут быть представлены с помощью «<>» при упоминании с помощью операторов-огурцов.

пример

Scenario Outline- Функциональность входа в социальную сеть. Данный пользователь переходит на Facebook.

Когда пользователь входит в систему, используя имя пользователя как «<имя пользователя>» и пароль как «<пароль>», вход должен быть успешным.

| username | password  | 
| user1    | password1 | 
| user2    | password2 |

Есть несколько советов и приемов, чтобы правильно определить сценарии с огурцом.

  • Каждый шаг должен быть четко определен, чтобы не создавать путаницы для читателя.

  • Не повторяйте тестовый сценарий, при необходимости используйте схему сценария для реализации повторения.

  • Разработайте шаг теста таким образом, чтобы его можно было использовать в нескольких сценариях и схемах сценариев.

  • Насколько это возможно, делайте каждый шаг полностью независимым. Например: «Данный пользователь вошел в систему». Это можно разделить на два этапа.

    • Учитывая, что пользователь вводит имя пользователя.
    • Нажимает на логин.