java - 我可以通过 Java 在 Selenium 中使用没有 ExpectedCondition 的 WebDriverWait 吗?

标签 java selenium lambda pageload webdriverwait

我有一个项目正在使用 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/

相关文章:

java - 是否可以从两个不同的java应用程序访问同一个Ehcache对象?

java - 在 Java 8 的堆栈跟踪中识别 lambda

java - 为 SauceLabs 执行设置 DesiredCapability 时出错

javascript - 如何使用 Protractor conf js测试单独的环境名称?

php - 匿名递归 PHP 函数

c++ - C++ 中的 Lambda 通用性

java - 在 Spring-Boot 4 中,尝试注入(inject)属性文件值

java - 如何将开关传递给我的 Android 应用程序以控制其在开发过程中的行为?

selenium - 定义 gradle 任务,以运行具有特定系统属性的任务

javascript - 根据javascript中的另一个对象数组过滤对象数组