在Selenium中使用的最佳等待命令是什么

时间:2014-12-02 16:37:20

标签: java eclipse selenium webdriver

我正在使用Eclipse和Java在Selenium中构建自动化测试包。我发现的事实是,有时候某些行动可能需要比以前更长的时间。所以,虽然我知道我需要实现某种等待命令,但我想知道最有效的使用方法是什么?基本上,我想要的是网页在控制台中返回错误之前等待X秒。

另外,根据人们过去的经验,实现这一目标的最佳方式是什么?我想我创建了一些'wait commands'类,它将有一系列可以根据场景使用的方法。这是正确的做法吗?

1 个答案:

答案 0 :(得分:1)

selenium已经成熟了内置的等待机制。

它具有隐式等待,这意味着当您导航到新页面时,它会等到整个页面加载,然后才对页面执行任何操作。

在使用Ajax的地方,上面可能没有帮助,因此我们必须使用显式等待来确保ajax请求完成。例如:

(new WebDriverWait(driver, 10))
  .until(ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));

有关详细信息,请查看以下链接 http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-and-implicit-waits