我有一个项目正在使用 Cucumber/Selenium 进行前端测试。我被告知使用 WebDriverWait 而不是 Thread.sleep() 来完成测试。然而,在这种情况下,我并不是在寻找预期的条件。我确实需要在页面加载时暂停测试。如果它在等待之前搜索 xPath,它将单击搜索中的第一项并继续测试错误的内容。
最佳答案
为什么需要暂停巡回测试?
如果您需要等待直到li元素可见,请使用:new WebDriverWait(WebDriver driver, String timeToWait).until(ExpectedConditions.visibilityOf(WebElement element));
如果您需要等待直到li元素可点击,请使用:new WebDriverWait(WebDriver driver, String timeToWait).until(ExpectedConditions.elementToBeClickable(WebElement element));
如果您需要等待 DOM 上出现 tli 元素,请使用:webDriver.manage().timeouts().implicitlyWait(String timeToWait, TimeUnit.SECONDS);
使用 Thread.sleep() 或将测试暂停指定的时间是一种不好的做法。
关于java - 我可以通过 Java 在 Selenium 中使用没有 ExpectedCondition 的 WebDriverWait 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54911185/