WaitEngine
WaitEngine, WaitEngine.waitForXxx(...) çağrılarıyla kullanılan statik bir yardımcı sınıftır. testfly.yml içindeki süre (timeouts.explicit) ile önceden yapılandırılmıştır.
import io.testfly.wait.WaitEngine;
Kullanılabilir metodlar
Öğe görünürlüğü
WaitEngine.waitForVisible(By.id("modal"));
WaitEngine.waitForInvisible(By.cssSelector(".spinner")); // yükleme göstergelerinin kaybolmasını bekler
Tıklanabilirlik
WaitEngine.waitForClickable(By.id("submit"));
Etkin / devre dışı
WaitEngine.waitForEnabled(By.id("submit")); // etkileşime hazır
WaitEngine.waitForDisabled(By.id("submit")); // buton pasif (gri)
Seçili
WaitEngine.waitForSelected(By.id("terms")); // checkbox veya radio seçili
Metin içeriği
WaitEngine.waitForText(By.cssSelector("h1"), "Welcome back");
Öznitelik değeri
WaitEngine.waitForAttributeContains(By.id("status"), "class", "active"); // alt dize
WaitEngine.waitForAttribute(By.id("status"), "aria-expanded", "true"); // tam eşleşme
Metin eşleşmesi (regex)
// Öğenin görünen metni bir düzenli ifadeyle eşleşene kadar bekler
WaitEngine.waitForTextMatches(By.cssSelector(".total"), "\\$\\d+\\.\\d{2}");
URL eşleşmesi (regex)
WaitEngine.waitForUrlContains("/orders"); // alt dize
WaitEngine.waitForUrlMatches(".*/orders/\\d+"); // düzenli ifade
DOM eskiliği (stale)
WebElement old = getDriver().findElement(By.id("row-1"));
WaitEngine.waitForStaleness(old); // DOM değişimini / AJAX yenilemesini bekler
Sayfa yükleme
WaitEngine.waitForPageLoad(); // document.readyState === "complete" olana kadar bekler
Pencereler ve çerçeveler (frame)
WaitEngine.waitForNumberOfWindowsToBe(2); // yeni sekme açıldı
WaitEngine.waitForFrameAvailableAndSwitchToIt(By.id("payment-iframe"));