2015-10-13 2 views
1

J'ai déjà ce genre d'erreur, et je ne sais toujours pas pourquoi. Qu'est-ce que je fais mal?Selenium + Java = Erreur d'assertion

Je dois affirmer vrai si je reçois un texte dans la source de la page.

Voici donc ma méthode:

public boolean AssertSearch() {     
    return driver.getPageSource().contains("Item found");    
} 

Et voici mon assert:

assertTrue(buscarnok.validabuscaNOK()); 

Et je continue à recevoir le message "Erreur Assertion". Je ne sais pas pourquoi. Si je change le "return driver.getPageSource().contains("Item found");" en driver.findelement(by.id("someID")).isdisplayed(); cela fonctionne très bien, alors pourquoi ne fonctionne-t-il pas avec getpagesource?

+1

est le « article trouvé » contenue dans la source ou ajouté plus tard (après la recherche est terminée)? – ochi

+0

Après la recherche. Une fois la recherche effectuée avec succès, la page affiche le message "article trouvé" avec les détails de l'article –

+1

Ensuite, le texte ne se trouve pas dans la source de la page, n'est-ce pas? Ce que vous voulez, c'est trouver du texte (sur le HTML) – ochi

Répondre

1

Si le texte que vous recherchez n'est pas original au premier plan ou caché, il pourra être introuvable.

Essayez quelque chose comme ceci:

String bodyText = driver.findElement(By.tagName("body")).getText(); 
Assert.assertTrue("Item Found", bodyText.contains(text)); 

Vous pouvez affiner la recherche en sélectionnant un nom de balise différent ou même un div par son class ou id