Selenium Webdriver: les meilleures pratiques pour gérer un NoSuchElementException

Après beaucoup de recherches et de lecture, je ne suis toujours pas clair quant à la meilleure façon de gérer un échec d'assertion à l'aide de Webdriver. J'aurais pensé que c'était une commune et au coeur de la fonctionnalité. Tout ce que je veux faire c'est:

  • rechercher un élément
  • si aujourd'me dire
  • si non présent - dites-moi

Je tiens à présenter les résultats d'une technique non public, donc de l'avoir jeter "NoSuchElementExceptions' avec un plein de trace de la pile n'est pas utile. Je veux simplement un gentil message.

Mon test:

@Test
public void isMyElementPresent(){
  // WebElement myElement driver.findElement(By.cssSelector("#myElement"));
    if(driver.findElement(By.cssSelector("#myElement"))!=null){
        System.out.println("My element was found on the page");
    }else{
            System.out.println("My Element was not found on the page");
        }
    }

Je reçois toujours un NoSuchElementException jeté quand je force un échec. Ai-je besoin d'un try/catch? Puis-je intégrer Junit affirmations et/ou Hamcrest pour générer un plus significatif message sans la nécessité d'un Système..println?

OriginalL'auteur Steerpike | 2014-04-01