Что такое паттерн Page Object
QA Тестировщик
Middle
Райффайзен
Что такое паттерн Page Object
Ответы
Page Object — это паттерн проектирования в автоматизированном тестировании, который инкапсулирует работу с элементами страницы в отдельный класс. Каждая страница (или её значимая часть) представляется как объект, содержащий методы для взаимодействия с UI и скрывающий детали реализации (например, локаторы).
**Преимущества:**
- Уменьшает дублирование кода.
- Упрощает поддержку тестов (изменения в UI затрагивают только Page Object).
- Повышает читаемость тестов (логика теста отделена от технических деталей).
**Пример (Python + Selenium):**
```
class LoginPage:
def __init__(self, driver):
self.driver = driver
self.username_field = ("id", "username")
self.password_field = ("id", "password")
self.login_button = ("id", "login-btn")
def login(self, username, password):
self.driver.find_element(*self.username_field).send_keys(username)
self.driver.find_element(*self.password_field).send_keys(password)
self.driver.find_element(*self.login_button).click()
```
Тест использует Page Object, не зная о локаторах:
```
login_page = LoginPage(driver)
login_page.login("user", "pass")
```