0
I’m trying to perform a message list comparison test using Selenium, notice how I’m capturing the list.
public List<String> localizadorListaMensagens(By by) {
List<WebElement> mensagens = DriverFactory.getDriver().findElements(by);
List<String> retorno = new ArrayList<String>();
for (WebElement mensagem : mensagens) {
retorno.add(mensagem.getText());
}
return retorno;
}
Then soon after in the other class I capture the method using this way;
public List<String> obterListaMensagens() throws InterruptedException{
Thread.sleep(500);
return localizadorListaMensagens(By.xpath("//div[@id='toast-container' and @class='toast-top-full-width toast-container']"));
}
In test class I’m doing like this;
List<String> capturaMensagens;
capturaMensagens = page.obterListaMensagens();
assertTrue(capturaMensagens.containsAll(Arrays.asList("As medidas de segurança não serão excluídas.",
"Essa modificação impacta no passo das medidas de segurança, por isso os dados serão excluídos e você terá que incluí-los novamente.")));
If you look at the image below the list variable is loaded with the two messages, despite everything it does not return TRUE as if it indicates that the list is coming with a different content, and I can’t understand what is wrong and I need help.