Как настроить функцию огурца, которую нужно запускать друг перед другом? - PullRequest
0 голосов
/ 27 мая 2019

В настоящее время я пишу несколько сквозных тестов с использованием Cucumber и Selenium для приложения, которое имеет сеанс входа в систему / аутентификацию.

Придерживаясь подхода огурца, я стараюсь сохранить каждую протестированную функцию полностью независимой друг от друга.Проблема состоит в том, что, поскольку приложение использует аутентификацию на основе сеанса, каждый раз, когда WebDriver закрывается (после каждой протестированной функции), следующая протестированная функция создаст новый объект WebDriver, который впоследствии должен будет передать экран входа в систему.выполнить тест.

Какой лучший подход здесь?Я все еще хочу протестировать функцию входа в систему, но чувствую, что у меня много дубликатов, когда я запускаю тесты функции входа перед любой другой проверкой функции.

Например, скажем, у меня есть функция Список продуктов, которую я хочу проверить, отображается ли список или нет, в зависимости от того, с какой учетной записью вошел пользователь.Мой Given шаг для одного из сценариев функции списка продуктов может быть 'Given I am logged in as a admin user', в то время как Given шаг для другого сценария может быть 'Given I am logged in as a non-admin user'.

Как я могу направитьэти два Given шага к соответствующим сценариям входа в систему, которые уже были написаны?

1 Ответ

1 голос
/ 27 мая 2019

Огурец Функция фона может дать вам дополнительную мысль, чтобы избежать дублирования, и может выполнить необходимые действия, которые обеспечат вам необходимую готовность перед выполнением реального сценария.Мы можем передавать действия типа пользователя: admin / non-admin в фоновом режиме и, используя datatable, делать правильные вещи, которые вам действительно нужны, перед выполнением сценария.

Feature: Product listing

  Background: User is Logged In
    Given I am logged in as a admin/non-admin user using below set of credentials
      | User_Type  | Email_ID   | Password  |
      | admin      | TestData1  | TestData1 |
      | non-admin  | TestData2  | TestData2 |

  @Sanity
  Scenario: Validation of product listing based on user-type
    Given User is already logged on to My Account Section
    When Clicking on Super & Sub Category shall take user to PLP Page 
...