Seria uma má pratica criar classes abstratas para reaproveitar alguns métodos comuns em testes ?
Exemplo:
public abstract class Pagina {
protected WebDriver browser;
protected Pagina() {
System.setProperty("webdriver.chrome.driver", "C://chromedriver_win32//chromedriver.exe");
this.browser = new ChromeDriver();
}
public void closeBrowser() {
this.browser.quit();
}
public String getUrlAtual() {
return browser.getCurrentUrl();
}
public WebElement findElementoPorId(String elemento) {
return browser.findElement(By.id(elemento));
}
E toda classe herdá-la :
public class LoginPage extends Pagina {
public static final String URL_LOGIN = "http://localhost:8080/login";
...
public LoginPage() {
super();
browser.navigate().to(URL_LOGIN);
}
...
Senão, utilizo uma interface e implemento os métodos comum ou todo teste deve ter seus próprios métodos isolados ?
Curso fantástico, valeu!