WebDriverWarten Sie, bis ein Element vorhanden ist oder nicht vorhanden ist.

Ich führe einen Test mit Selenium WebDriver durch und wenn ein Benutzer keine Zugriffsrechte hat, ist auf der Seite kein div vorhanden. Ich versuche zu warten, damit das Element, wenn es angezeigt wird, true zurückgibt, aber wenn es das Timeout erreicht, false zurückgibt.

    public bool SummaryDisplayed()
    {
        var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(5));
        var myElement = wait.Until(x => x.FindElement(By.Id("summaryPage")));
        return  myElement.Displayed;
    }

Ich möchte Thread.Sleep nicht verwenden, da ich möchte, dass es fortgesetzt wird, wenn das Element nach 2 Sekunden vorhanden ist. Wenn das Element jedoch nach 5 Sekunden nicht vorhanden ist, sollte es false zurückgeben. Ich möchte nicht, dass es eine Ausnahme auslöst. In einigen Testfällen erwarte ich, dass es keine gibt. Gibt es eine Möglichkeit, die Ausnahme zu unterdrücken und nach dem Timeout false zurückzugeben? Vielen Dank

Antworten auf die Frage(3)

Ihre Antwort auf die Frage