Boa noite Rodrigo. Estou o erro no assert ao realizar a validação das mensagens quando não preencho nada no cadastro de leilão.
Revirei meu código mas não encontrei o motivo do erro no teste:
package br.com.alura.leilao.cadastroLeilaoPage;
import br.com.alura.leilao.leilao.LeilaoPage;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
public class CadastroLeilaoPage {
private WebDriver browser;
public static final String URL_CADASTROLEILAO = "http://localhost:8080/leiloes/new";
public CadastroLeilaoPage (WebDriver browser){
this.browser = browser;
}
public void fechar(){
this.browser.quit();
}
public LeilaoPage cadastrarLeilao(String nome, String valor, String dataAbertura){
this.browser.findElement(By.id("nome")).sendKeys(nome);
this.browser.findElement(By.id("valorInicial")).sendKeys(valor);
this.browser.findElement(By.id("dataAbertura")).sendKeys(dataAbertura);
this.browser.findElement(By.id("button-submit")).submit();
return new LeilaoPage(browser);
}
public boolean isPaginaAtual(){
return browser.getCurrentUrl().equals(URL_CADASTROLEILAO);
}
public boolean isMensagensDeValidacao(){
String pageSource = browser.getPageSource();
return pageSource.contains("minimo 3 caracteres")
&& pageSource.contains("não deve estar em branco")
&& pageSource.contains ("deve ser um valor maior de 0.1")
&& pageSource.contains( "deve ser uma data no formato dd/MM/yyyy");
}
}
package br.com.alura.leilao.leilao;
import br.com.alura.leilao.cadastroLeilaoPage.CadastroLeilaoPage;
import br.com.alura.leilao.login.LoginPage;
import org.junit.Assert;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class LeilaoTest {
private LeilaoPage paginaDeLeiloes;
private CadastroLeilaoPage paginaDeCadastro;
@BeforeEach
public void beforeEach(){
LoginPage paginaDeLogin = new LoginPage();
paginaDeLogin.preencheFormulario("fulano","pass");
paginaDeLeiloes = paginaDeLogin.submeterFormulario();
this.paginaDeCadastro = paginaDeLeiloes.carregarFormulario();
}
@AfterEach
public void afterEach(){
paginaDeLeiloes.fechar();
}
@Test
public void cadastrarLeilao(){
String hoje = LocalDate.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));
String nome = "Leilao do dia " + hoje;
String valor = "500.00";
this.paginaDeLeiloes = paginaDeCadastro.cadastrarLeilao(nome, valor, hoje);
Assert.assertTrue(paginaDeLeiloes.isLeilaoCadastrado(nome,valor,hoje));
}
@Test
public void validarCadastroDeLeilao(){
this.paginaDeLeiloes = paginaDeCadastro.cadastrarLeilao("", "", "");
Assert.assertFalse(this.paginaDeCadastro.isPaginaAtual());
Assert.assertTrue(this.paginaDeLeiloes.isPaginaAtual());
Assert.assertTrue(this.paginaDeCadastro.isMensagensDeValidacao());
}
}