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