Рекомендации по навигации по объектам страницы Selenium WebDriver
В основном я реализую фреймворки, используя подходы Page Object/Page Factory на Java, и я хотел бы улучшить свою существующую кодовую базу.
Мои вопросы:
Мои методы возвращают объекты страницы.(Return PageFactory.initelements(...)); Я прочитал некоторые комментарии, это не лучший подход, потому что все тесты зависят от разработчика платформы. Я уверен, что общие методы были бы лучше! Любое предложение?
Модули навигации являются общими на каждой странице, поэтому я подумал, что с помощью вспомогательного / служебного класса можно легко добраться до общих методов навигации. Обычные статические методы - это правильный способ достичь цели "не повторяй себя"? Почему я должен повторять все методы навигации для каждого объекта страницы?
Любой совет будет принят во внимание.
Благодарю.
1 ответ
Q1. Я также использую объектную модель страницы, но никогда не реализовывал возврат объектов страницы. Я не знаю... Мне просто никогда не нравилась эта идея. Я не думаю, что это обязательно плохо, я думаю, это просто означает, что вам нужно создавать больше методов, которые делают то же самое. Вы должны сделать два из множества методов, один для намеченного успеха и один для намеченного отказа, например Login()
а также FailedLogin()
,
Q2. Объекты страницы не обязательно должны быть страницами. У меня есть объекты страницы верхнего и нижнего колонтитула, которые содержат ссылки навигации верхнего и нижнего колонтитула и т. Д. Части страницы, которые повторяются на нескольких страницах, входят в объект страницы верхнего колонтитула. Всякий раз, когда я добираюсь до любой страницы и нуждаюсь в чем-то в области заголовка, я создаю экземпляр объекта страницы заголовка и использую его.