Escrevi o código idêntico porém estou com erros nas classes UsuariosPage e NovoUsuarioPage no eclipse. Seguem os códigos fontes:
package Aula3;
import org.openqa.selenium.*;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class NovoUsuarioPage {
private WebDriver driver;
public void UsuariosPage(WebDriver driver) {
this.driver = driver;
}
public void cadastra(String nome, String email) {
WebElement nome = driver.findElement(By.name("usuario.nome"));
WebElement email = driver.findElement(By.name("usuario.email"));
nome.sendKeys(nome);
email.sendKeys(email);
nome.submit();
}
public boolean validacaoDeNomeObrigatorio() {
return driver.getPageSource().contains("Nome obrigatorio!");
}
}
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import Aula3.NovoUsuarioPage;
class UsuariosPage {
private WebDriver driver;
public UsuariosPage(WebDriver driver) {
this.driver = driver;
}
public void visita() {
driver.get("localhost:8080/usuarios");
}
public NovoUsuarioPage novo() {
// clica no link de novo usuario
driver.findElement(By.linkText("Novo Usuário")).click();
// retorna a classe que representa a nova pagina
return new NovoUsuarioPage(driver);
}
public boolean existeNaListagem(String nome, String email) {
// verifica se ambos existem na listagem
return driver.getPageSource().contains(nome) &&
driver.getPageSource().contains(email);
}
}
package Aula3;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class UsuariosSystemTest {
private WebDriver driver;
private UsuariosPage usuarios;
@Before
public void inicializa() {
this.driver = new FirefoxDriver();
this.usuarios = new UsuariosPage(driver);
// visitamos a pagina de usuarios
usuarios.visita();
}
@Test
public void deveAdicionarUmUsuario() {
usuarios.novo()
.cadastra("Ronaldo Luiz de Albuquerque", "ronaldo2009@terra.com.br");
assertTrue(usuarios
.existeNaListagem("Ronaldo Luiz de Albuquerque", "ronaldo2009@terra.com.br"));
}
@Test
public void naoDeveAdicionarUmUsuarioSemNome() {
NovoUsuarioPage form = usuarios.novo();
form.cadastra("", "ronaldo2009@terra.com.br");
assertTrue(form.validacaoDeNomeObrigatorio());
}
@After
public void encerra() {
driver.close();
}
}