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

Erro ao deletar Usuário

Olá boa noite!

Ao inserir o trecho do código para testar a exclusão do usuário notei que o mesmo não foi excluido. Poderiam me ajudar por gentileza? obs.: Vou inserir o código completo com inclusão e exclusão da forma que fiz:

segue:

Primeira parte: (construtor)

package br.com.caelum.teste;

import static org.junit.Assert.assertTrue;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.chrome.ChromeDriver;

public class TesteAutomatizados {
    // inicializa o navegador
    private ChromeDriver driver;

    @Before
     public void Inicializa() {
         System.setProperty("webdriver.chrome.driver","C:\\Users\\evert\\Desktop\\Trabalhos Eclipse\\TestesAlura\\chromedriver.exe");
         this.driver = new ChromeDriver();
           driver.manage().window().maximize();
     }    

    @Test
    public void AdicionarNovoUsuario () {
        UsuariosPage usuarios = new UsuariosPage(driver);

        usuarios.visita();
        usuarios.novo().cadastra("Everton santiago dos santos","everton.santiagoracle@gmail.com");

        assertTrue(usuarios.ExisteNaListagem("Everton santiago dos santos", "everton.santiagoracle@gmail.com"));
    }

    public void DeveDeletarUsuario () {

        UsuariosPage usuarios = new UsuariosPage(driver);

        usuarios.novo().cadastra("Everton santiago dos santos", "everton.santiagoracle@gmail.com");

        assertTrue(usuarios.ExisteNaListagem ("Everton santiago dos santos", "everton.santiagoracle@gmail.com"));

        usuarios.DeletaUsuarioNaPosicao(1);

        assertFalse (usuarios.ExisteNaListagem("Ronaldo Luiz de Albuquerque", "ronaldo2009@terra.com.br"));


    }


    private void assertFalse(boolean ExisteNaListagem) {

    }

    // finaliza o driver
    @After
    public void finaliza() {
        driver.close();
    }

}

PageObject:(UsuáriosPage)

package br.com.caelum.teste;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;

public class UsuariosPage {

    private WebDriver driver;

    public UsuariosPage(WebDriver driver) {
        this.driver = driver;

    }
     // chama a página de leilões
    public void visita() {
        driver.get("http://localhost:8080/usuarios");
    }
    // clica no link novo usuário:
     public NovoUsuarioPage novo() {
         driver.findElement(By.linkText("Novo Usuário")).click();
         return new NovoUsuarioPage (driver);

     }

     public boolean ExisteNaListagem (String nome, String email) {
     return driver.getPageSource().contains(nome) &&
             driver.getPageSource().contains(email);
     }
     public void DeletaUsuarioNaPosicao (int posicao) {

         driver.findElements(By.tagName("button")).get (posicao -1).click();
         Alert alert = driver.switchTo().alert();

         alert.accept();


     }
}     

Page Object: Novo usuário page:

package br.com.caelum.teste;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class NovoUsuarioPage {

    private final WebDriver driver;

    public NovoUsuarioPage(WebDriver driver) {
        this.driver = driver;
    }

    //Cadastra usuário:
    public void cadastra(String nome ,String email) {

     WebElement txtnome = driver.findElement(By.name("usuario.nome"));
     WebElement txtemail = driver.findElement(By.name("usuario.email"));

        txtnome.sendKeys(nome);
        txtemail.sendKeys(email);

        txtnome.submit();

    }
}

att,

Everton

2 respostas

Oi Everton,

Pode colocar seu html também?

solução!

Olá Thiago, Boa noite!

Não será preciso. Consegui identificar o erro no meu código. no Trecho abaixo onde eu estava tentando deletar um usuário, tambem estava chamando a função que visita e cadastra um novo usuário. Após fazer alguns ajustes no construtor e na PageObject consegui excluir o usuário com sucesso!

Muito obrigado pela atenção!

Att,

Everton

public void DeveDeletarUsuario () {

        UsuariosPage usuarios = new UsuariosPage(driver);

        usuarios.visita();
        >>>>> (Trecho inválido)//usuarios.novo().cadastra("Everton santiago dos santos", "everton.santiagoracle@gmail.com");

        assertTrue(usuarios.ExisteNaListagem ("Everton santiago dos santos", "everton.santiagoracle@gmail.com"));

        usuarios.DeletaUsuarioNaPosicao(1);

        assertFalse (usuarios.ExisteNaListagem("Everton santiago dos santos","everton.santiagoracle@gmail.com"));


    }


    private void assertFalse(boolean ExisteNaListagem) {

    }

    // finaliza o driver
    @After
    public void finaliza() {
        driver.close();
    }

}