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

dificuldade com o "assert"

ja mudei a versão do junit, importei os pacotes mesmo assim não estou conseguindo executar, principalmente o Assert.assertThrows...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Oi Jonatas,

Posta aqui o seu código completo, incluindo os imports.

package br.com.alura.leilao.login;
import static org.junit.Assert.assertFalse;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import junit.framework.Assert;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.AfterAll;
import org.junit.AfterClass;

public class LoginTest {

    @Test
    public void deveriaEfetuarLoginComDadosValidos() {

        WebDriver browser = new ChromeDriver();
        browser.navigate().to("http://localhost:8080/login" );
        browser.findElement(By.id("username")).sendKeys("fulano");
        browser.findElement(By.id("password")).sendKeys("pass");
        browser.findElement(By.id("login-form")).submit();

        Assert.assertFalse(browser.getCurrentUrl().equals("http://localhost:8080/login"));
        Assert.assertEquals("fulano", browser.findElement(By.id("usuario-logado")).getText());

        browser.quit();

    }
    @Test
    public void naoDeveriaLogarComDadosInvalidos(){
        WebDriver browser = new ChromeDriver();
        browser.navigate().to("http://localhost:8080/login" );
        browser.findElement(By.id("username")).sendKeys("teste");
        browser.findElement(By.id("password")).sendKeys("pas1s");
        browser.findElement(By.id("login-form")).submit();
        Assert.assertTrue(browser.getCurrentUrl().equals("http://localhost:8080/login?error"));
        Assert.assertTrue("fulano", browser.getPageSource().contains("Usuário e senha inválidos."));
        Assert.assertThrows(NoSuchElementException.class, () -> browser.findElement(By.id("usuario-logado")));

    }


}
solução!

Você pode utilizar a nova classe Assertions do JUnit 5, ao invés da Assert do junit 4:

Assertions.assertTrue(browser.getCurrentUrl().equals("http://localhost:8080/login?error"));
Assertions.assertTrue("fulano", browser.getPageSource().contains("Usuário e senha inválidos."));
Assertions.assertThrows(NoSuchElementException.class, () -> browser.findElement(By.id("usuario-logado")));

Obs: essa nova classe é do pacote: org.junit.jupiter.api.Assertions

funcionou, muito bom, obrigado!!!