package br.com.caelum.teste;
import static org.junit.Assert.assertTrue;
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 CadastroUsuarios {
@Test
public void adicionandoUsuario() {
//Abre o driver do Firefox
WebDriver driver = new FirefoxDriver();
//Acessa o endereço do site
driver.get("http://localhost:8080/usuarios/new");
// encontrando ambos elementos "nome" e "email" na pagina
WebElement nome = driver.findElement(By.name("usuario.nome"));
WebElement email = driver.findElement(By.name("usuario.email"));
//Preenchendo os campos "nome" e "email" do site
nome.sendKeys("Adriano Xavier");
email.sendKeys("axavier@empresa.com.br");
WebElement botaoSalvar = driver.findElement(By.id("btnSalvar"));
botaoSalvar.click();
//nome.submit();
assertTrue(driver.getPageSource().contains("Adriano Xavier"));
assertTrue(driver.getPageSource().contains("axavier@empresa.com.br"));
driver.close();
Se eu fizer assim funciona, porém no exemplo do professor ele pede para colocar nome.submit() e fazendo assim o teste sempre dá erro no JUnit. Notei também que no exemplo do professor ele não coloca email.submit(), tentei colocar e mesmo assim o teste sempre falha.
Notei também que usando o botaoSalvar.click() faz com que ao final o eclipse feche o driver "driver.close()" e na versão do professor o browser permanece aberto, me levando a pensar que essa instrução nunca é executada.
Versão do Professor no site da Alura:
@Test
public void deveAdicionarUmUsuario() {
WebDriver driver = new FirefoxDriver();
driver.get("http://localhost:8080/usuarios/new");
WebElement nome = driver.findElement(By.name("usuario.nome"));
WebElement email = driver.findElement(By.name("usuario.email"));
nome.sendKeys("Adriano Xavier");
email.sendKeys("axavier@empresa.com.br");
nome.submit();
assertTrue(driver.getPageSource().contains("Adriano Xavier"));
assertTrue(driver.getPageSource().contains("axavier@empresa.com.br"));
driver.close();
}