Как я могу использовать WebDriverWait для ожидания изменения атрибута?
В моем AUT я должен дождаться, когда кнопка станет включенной, прежде чем продолжить, к сожалению, из-за того, как разработчик закодировал страницу, я не могу использовать метод WebElement isEnabled(). Разработчик использует некоторый CSS, чтобы просто заставить кнопку выглядеть так, как будто она отключена, поэтому пользователь не может нажать на нее, и метод isEnabled всегда возвращает true для меня. Поэтому мне нужно получить атрибут "aria-disabled" и проверить, является ли текст "истинным" или "ложным". То, что я делал до сих пор, это цикл for с Thread.sleep, что-то вроде этого:
for(int i=0; i<6; ++i){
WebElement button = driver.findElement(By.xpath("xpath"));
String enabled = button.getText()
if(enabled.equals("true")){ break; }
Thread.sleep(10000);
}
(не обращайте внимания на приведенный выше код, если это неверно, просто псевдо код того, что я делаю)
Я уверен, что есть способ добиться чего-то подобного с помощью WebDriverWait, который является предпочтительным методом, который я просто не могу понять. Это то, чего я пытаюсь достичь, хотя следующее не будет работать:
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOf(refresh.getText() == "true"));
Очевидно, что это не работает, потому что функция ожидает WebElement not String, но это то, что я пытаюсь оценить. Есть идеи?