1
resposta

Esta ocorrendo a exceção java.lang.AssertionError

Olá No código abaixo, ocorre a exceção java.lang.AssertionError, quando mando executar normalmente (variáveis são retornadas como False), mas o estranho é que em modo Debug funciona, as variáveis achouNome e achouEmail, são retornadas como True, coloquei até um Tempo para carregar a página, alguém sabe porque?

@Test
    public void deveAdicionarUmUsuario() {
        System.setProperty("webdriver.gecko.driver","c:\\temp\\geckodriver.exe");
        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");

        WebElement botaoSalvar = driver.findElement(By.id("btnSalvar"));
        botaoSalvar.click();

        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

        boolean achouNome = driver.getPageSource().contains("Adriano Xavier");
        boolean achouEmail = driver.getPageSource().contains("axavier@empresa.com.br");

        System.out.println(achouNome);
        System.out.println(achouEmail);

        assertTrue(achouNome);
        assertTrue(achouEmail);

        driver.close();
    }
1 resposta

Ola Cintia,

Acredito que o problema seja porque voce colocou um wait implicito, ou seja ele vai esperar mais tempo antes de dar alguma exception, por não encontrar algum elemento na tela, mas no seu caso, voce não esta procurando um elemento, ou seja, ele não vai lançar exception nenhuma e acaba não esperando nada.

Se o problema for a espera, voce deve trocar o seu wait para um wait explicito:

Wait<WebDriver> wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.presenceOfElementLocated(By./*Alguma coisa*/);

Voce pode esperar pelo elemento que contem a String Adriano Xavier.

Se voce quiser pode ate usar o wait implicito, e procurar por um elemento que contenha a String, também deve resolver.

Espero que ajude.