Добрый день.
Начинающий в Selenium Webdriver, PageObject.
Рассмотрим тестирование логина (стандартный простенький логин: поле username, поле password, кнопка login).
Набор данных
0 - некорректные данные
1 - корректные данные
Username Password Result
0…0… 1
0…1… 1
1…0… 1
1…1… 2
Result:
1 - вывод какого-то сообщения (вход не выполнен)
2 - выполнен вход
Первое, что приходит в голову написать 4 теста:
LoginIncorrectUsernamePassword(){…};
LoginIncorrectUsernameCorrectPassword(){…};
LoginCorrectUsernameIncorrectPassword(){…};
LoginCorrectUsernamePassword(){…};
и в каждом тесте будет практически один и тот же код…условно
А набор данных с ожидаемыми результатами хранить где-то отдельно в виде какой-нибудь таблицы.
Надеюсь объяснил доступно. Может кто подскажет решение, пример. Может переубедит меня, может я вообще не в ту строну смотрю.
Вам нужно 2 метода: positive / negative flows, ибо сценарии проверок будут разные (в одном случае вы будете оставаться на логин пейдже, в другом - уйдете на условный хоум).
Данные будут храниться в таблицах. Для последовательного выполнения 1 сценария с разными данными используем DataProvider. Пример реализации с поддержкой масштабирования был недавно добавлен в БЗ.
Data Provider в помощь тут по любому, он для таких кейсов и придуман. Data Driven тести тем и хороши, что у Вас тест запускаеться отдельно с разними наборами данних, а не один тест в цикле.