package br.com.alura.teste.usuario;
import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver;
public class UsuariosPage {
private WebDriver driver; //variavel da classe WebDriver
public void visita() { // Acessar a página
driver.get("http://localhost:8080/usuarios");
}
public UsuariosPage(WebDriver driver) {// Vai receber um driver obrigatóriamente (método construtor)
this.driver = driver;
}
public NovoUsuarioPage novo() {
driver.findElement(By.linkText("Novo Usuário")).click(); // linkText faz com que o selenium busque pelo texto na pagina (Novo Usuário)
return new NovoUsuarioPage(driver);
}
public boolean exiteNaListagem(String name, String email) {
return driver.getPageSource().contains(name) &&
driver.getPageSource().contains(email);
}
public AlteraUsuario altera(int posicao) {
driver.findElements(By.linkText("editar")).get(posicao -1).click();
return new AlteraUsuario(driver);
}
public void deletaUsuarioNaPosicao(int posicao) {
driver.findElements(By.tagName("button")).get(posicao-1).click();
// pega o alert que está aberto
Alert alert = driver.switchTo().alert();
// confirma
alert.accept();
}
}
package br.com.alura.teste.usuario;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue;
import org.junit.Before;
//import static org.junit.Assert.assertTrue;
import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;
public class UsuarioSystemTest {
private WebDriver driver;
private UsuariosPage usuarios;
@Before
public void inicializa() {
this.driver = new ChromeDriver();
this.usuarios = new UsuariosPage(driver);
// visitamos a pagina de usuarios
usuarios.visita();
}
@Test
public void deveAlterarUmUsuario() {
usuarios.novo().cadastra("Ronaldo Luiz de Albuquerque", "ronaldo2009@terra.com.br");
usuarios.altera(0).para("José da Silva", "jose@silva.com");
// // assertFalse(usuarios.exiteNaListagem("Ronaldo Luiz de Albuquerque", "ronaldo2009@terra.com.br")); // assertTrue(usuarios.exiteNaListagem("José da Silva", "jose@silva.com")); }
}