将隐式等待转换为显式等待
在 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中文网其他相关文章!