Ich versuche, ein Element in einer Listbox auszuwählen. Der folgende Code funktioniert, wenn Debuggen der Anwendung, aber nicht auf einem normalen Lauf (als JUnit-Test)Selenium Webdriver-Code funktioniert auf Debug aber nur auf einem normalen Lauf
wait.until(ExpectedConditions.elementToBeClickable(
By.xpath("//div[@id='ContentArea']//tbody/tr[2]/td/div/span/span/span[2]/span")
));
driver.findElement(
By.xpath("//div[@id='ContentArea']//tbody/tr[2]/td/div/span/span/span[2]/span")
).click();
wait.until(ExpectedConditions.elementToBeClickable(
By.xpath("//ul[@id='symptomHeadGroupDropDown_listbox']/li[5]")
));
driver.findElement(
By.xpath("//ul[@id='symptomHeadGroupDropDown_listbox']/li[5]")
).click();
Irgendwelche Ideen?
Haben Sie versucht, die Warte Timeout-Wert zu erhöhen? Außerdem muss nach dem Aufruf von 'wait.until()' kein zusätzlicher 'findElement()' -Aufruf ausgegeben werden. 'wait.until()' würde in Ihrem Fall ein 'WebElement' zurückgeben. – alecxe
Dann ist das wahrscheinlich ein Problem mit Ihren Wartezeiten. Versuchen Sie, einen Thread.sleep vor den Bruchpunkt zu setzen und ersetzen Sie ihn dann durch implizite/explizite Wartezeiten. – Prateek
Während des Debuggens verlangsamen Sie die Testschritte. Wenn Sie normal arbeiten, gehen sie so schnell, dass Sie die richtigen erwarteten Bedingungen haben müssen. – djangofan