是否有任何方法等待一个元素,而其他测试步骤与硒一起运行?



如何在30秒内检查元素是否出现?

我想在查找特定元素时跳过其他步骤,如果元素出现,我想单击。

有时元素会在2秒或10秒后弹出(例如另一个页面已经打开),我不想等待找到元素。

我尝试了以下操作,但如果元素没有显示,测试将失败:

driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
MyLocator.click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //turn default

我想你应该读一读显式等待。

Selenium中的显式等待用于告诉Web Driver等待某些条件(预期条件)或在抛出" ElementNotVisibleException "异常之前超过的最大时间。

例如:

WebDriverWait wait = new WebDriverWait(Scenario1Test.driver, 30); 
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(locator);
element.click()

最新更新