Ответ
Мы использовали Page Object Model (POM) в сочетании с Page Factory для автоматизации веб-приложения. Это помогло разделить логику тестов и UI-элементов, упростив поддержку.
Пример структуры:
public class LoginPage {
@FindBy(id = "username")
private WebElement usernameField;
public LoginPage(WebDriver driver) {
PageFactory.initElements(driver, this);
}
public void login(String username, String password) {
usernameField.sendKeys(username);
// ... остальная логика
}
}
Дополнительно применяли Singleton для управления WebDriver и Data-Driven Testing через TestNG (XML/JSON). Для API-тестов — RestAssured с слоем моделей (DTO).