package de.ppi.samples.fuwesta.selophane.page; import lombok.Getter; import org.openqa.selenium.WebDriver; import org.openqa.selenium.support.FindBy; import org.selophane.elements.widget.Button; import org.selophane.elements.widget.CheckBox; import org.selophane.elements.widget.TextInput; import de.ppi.samples.fuwesta.selophane.base.BasePage; import de.ppi.selenium.browser.SessionManager; /** * Handles the login page. * */ @Getter public class LoginPage extends BasePage { /** * Input for username. */ @FindBy(id = "username") private TextInput username; /** * Input for password. */ @FindBy(id = "password") private TextInput password; /** * Checkbox. */ @FindBy(id = "remember-me") private CheckBox rememberMeCB; /** Login-Button. */ @FindBy(className = "btn") private Button loginBtn; /** * Initiates an object of type LoginPage. * */ public LoginPage() { this(SessionManager.getSession()); } /** * Initiates an object of type LoginPage. * * @param webDriver a webdriver as searchcontext. */ public LoginPage(WebDriver webDriver) { super(webDriver, "Login-Page"); } /** * Check if alle elements are visible. * * @return true if all elements are visible. */ public boolean areAllElementsVisible() { return username.isDisplayed() && password.isDisplayed() && rememberMeCB.isDisplayed() && loginBtn.isDisplayed(); } }