Какая архитектура на последнем проекте

«Какая архитектура на последнем проекте» — вопрос из категории Архитектура, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Мы использовали 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).