Jak mogę używać WebDriverWait czekać aż do zmiany atrybutów?WebDriverWait dla elementu atrybutu zmienić
W moim AUT muszę poczekać, aż przycisk zostanie włączony przed kontynuowaniem, niestety ze względu na sposób, w jaki programista zakodował stronę, nie mogę użyć metody isEnabled() WebElement. Programista używa jakiegoś CSS, aby przycisk wyglądał tak, jakby był wyłączony, więc użytkownik nie może go kliknąć, a metoda isEnabled zawsze zwraca mi wartość true. Muszę więc uzyskać atrybut "wyłączony przez Arię" i sprawdzić, czy tekst jest "prawdziwy" czy "fałsz". Co robiłem do tej pory jest to dla pętli z Thread.Sleep, coś takiego:
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);
}
(pominąć powyższy kod czy nieprawidłowe, tylko pseudo kod, co robię)
Jestem pewien, że jest sposób na osiągnięcie czegoś podobnego za pomocą WebDriverWait, która jest preferowaną metodą, której po prostu nie mogę zrozumieć. To co staram się osiągnąć choć dodaje nie będzie działać:
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOf(refresh.getText() == "true"));
Oczywiście to nie działa, ponieważ funkcja spodziewa się WebElement nie String, ale to, co staram się oceniać. Jakieś pomysły?