將隱式等待轉換為明確等待
在Selenium Webdriver for Java 中,隱性等待通常用於建立定位Web 元素的超時。但是,有時有必要利用顯式等待來處理特定條件。
隱式等待
如提供的範例所示,隱式等待在驅動程式初始化後定義一次。它會設定驅動程式在指定時間範圍(例如 10 秒)內定位 Web 元素的全域逾時。
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
明確等待
與隱式等待不同,明確等待用於在特定測試步驟中等待條件滿足,然後再採取進一步操作。例如,您可以等待元素變得可見或可點擊。
WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("your_id")));
替換
要注意的是,您不能直接用明確取代隱式等待等待。隱式等待是對整個測試的一般等待,而明確等待則用於測試步驟中的特定條件。
但是,您可以考慮在適當的地方使用明確等待來代替隱式等待。這有助於更好地控制、提高精確度並減少測試中的等待時間。
以上是Selenium 中的隱式等待與顯式等待:什麼時候該使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!