1
resposta

Comportamento diferente em métodos idênticos

Quando executo o método de teste com as strings "inline", ele sempre resulta OK. Mas se atribuo o nome e email para variáveis, ele costuma falhar!

Será que o funcionamento do Selenium depende da forma como codificamos, mesmo para uma diferença tão simples?

Ha alguma justificativa para esse comportamento, e/ou alguma prática que devemos evitar?

@Test
    public void deveAdicionarUmUsuario() {

        this.usuarios.visita();

        this.usuarios.novo()
            .cadastra("Ronaldo Luiz de Albuquerque", "ronaldo2009@terra.com.br");

        Assert.assertTrue(usuarios.existeNaListagem("Ronaldo Luiz de Albuquerque", "ronaldo2009@terra.com.br")); 

    }
    @Test
    public void deveAdicionarUmUsuarioB() {

        this.usuarios.visita();

        String email = "ronaldo2009@terra.com.br";
        String nome = "Ronaldo Luiz de Albuquerque";
        this.usuarios.novo()
            .cadastra(nome, email);

        Assert.assertTrue(usuarios.existeNaListagem(nome, email)); 

    }

Mensagem de erro:

org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"name","selector":"usuario.nome"}
Command duration or timeout: 160 milliseconds
1 resposta

Oi José, vamos esperar se alguém com olhos mais apurados consegue ver o problema.. pq realmente não faz sentido funcionar sem a variável e parar de funcionar com a variável.

Falo isso pq realmente não parece ter a ver com a variável, o problema é que ele não consegue achar um elemento na página.