Selenium webDriver, возможно ли, чтобы действия не выполнялись?

Selenium webDriver, возможно ли, чтобы действия не выполнялись? Например,

WebElement buttonElement = ....
buttonElement.click();


WebElement anotherElement = ....

Actions actions = new Actions(driver);
actions.doubleClick(anotherElement ).perform();

Иногда не всегда, 2-е действие doubleClick выполняется перед первым щелчком (), что приводит к сбою тестов.

Всего 1 ответ


В идеале этого не должно происходить.

Но вы можете улучшить свой код, добавив ожидание веб-драйвера.

Вы можете инициализировать webdriverwait следующим образом:

WebDriverWait wait = new WebDriverWait(driver, 20);
WebElement buttonElement = ....
wait.until(ExpectedConditions.elementToBeClickable(buttonElement)).click();

Для двойного клика :

WebElement anotherElement = ....

Actions actions = new Actions(driver);
actions.doubleClick(wait.until(ExpectedConditions.elementToBeClickable(anotherElement ))).build().perform();  

Попробуйте, это сделает ваши тесты более стабильными.


Есть идеи?

10000