package de.ahus1.lottery.adapter.dropwizard.pages;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import java.io.IOException;
import static org.assertj.core.api.Assertions.assertThat;
public class LoginPage<T extends Page> extends Page {
@FindBy(name = "username")
private WebElement fieldUsername;
@FindBy(name = "password")
private WebElement fieldPassword;
@FindBy(name = "login")
private WebElement buttonLogin;
private Class<T> clazz;
public void verify() {
assertThat(browser.getTitle()).isEqualTo("Log in to test");
}
public T login(String login, String password) throws IOException, ReflectiveOperationException {
fieldUsername.sendKeys(login);
fieldPassword.sendKeys(password);
buttonLogin.click();
T page = createPage(clazz);
return page;
}
public void setReturnPage(Class<T> returnPage) {
this.clazz = returnPage;
}
}