Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erros para rodar LeiloesTest

Boa tarde, estou com problemas para conseguir rodar os testes do LeiloesTest, ambos estão dando erro. Segue o erro:

java.lang.NullPointerException: Cannot invoke "br.com.alura.leilao.leiloes.CadastroLeilaoPage.cadastrarLeilao(String, String, String)" because "this.paginaDeCadastro" is null
    at br.com.alura.leilao.leiloes.LeiloesTest.deveriaCadastrarLeilao(LeiloesTest.java:39)

Meu código pode ser encontrado no meu github: https://github.com/izaleme/LeilaoSelenium ou:

package br.com.alura.leilao.leiloes;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;

import br.com.alura.leilao.login.LoginPage;

public class LeiloesTest {

    private LeiloesPage paginaDeLeiloes;
    private CadastroLeilaoPage paginaDeCadastro;

    @BeforeEach
    public void beforeEach() {
        LoginPage paginaDeLogin = new LoginPage();
        this.paginaDeLeiloes = paginaDeLogin.efetuarLogin();
        this.paginaDeCadastro = paginaDeLeiloes.carregarFormulario();
    }

    @AfterEach
    public void afterEach() {
        this.paginaDeLeiloes.fechar();
    }

    @Test
    public void deveriaCadastrarLeilao() {

        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 DeveriaValidarCadastroDeLeilao() {
        this.paginaDeLeiloes = paginaDeCadastro.cadastrarLeilao("", "", "");
        Assert.assertFalse(this.paginaDeCadastro.isPaginaAtual());
        Assert.assertTrue(this.paginaDeLeiloes.isPaginaAtual());
        Assert.assertTrue(this.paginaDeCadastro.isMensagensDeValidacaoVisiveis());
    }
}
5 respostas

Oi Izabela,

Esses dois imports:

import org.junit.Assert;
import org.junit.Test;

São do JUnit 4. Altere para a versão 5 do JUnit:

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

Depois de fazer essa modificação o projeto passa a dar o seguinte erro. Detalhe que o JUnit 5 está devidamente adicionado na library do projeto.

Erro

Library

Agora a classe é Assertions.

Exemplo:

Assertions.assertEquals()
Assertions.assertTrue()

Mesmo assim ainda está dando problemas, ele não está retornando elemento no cssSelector, você poderia me passar o projeto finalizado para eu comparar o código?

solução!

O projeto final você encontra aqui: https://github.com/alura-cursos/2019-selenium-java