В настоящее время я пишу несколько сквозных тестов с использованием 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
шага к соответствующим сценариям входа в систему, которые уже были написаны?