use*_*009 4 selenium selenium-webdriver
我对Selenium Webdriver提供的隐式等待方法感到困惑.
何时使用隐式等待
a-对于页面加载(当使用driver.get时)或用于Ajax PopUp加载就像我在编辑框中调用一些东西并且正在进行一些查找或Ajax调用.
在哪里使用隐式等待
我应该在Ajax调用或页面加载发生的所有方法之后使用,或者只在它足够之后使用(我只是从Selenium RC获取参考,我们可以使用Selenium.SetSpeed方法).
谢谢,阿伦
显式等待是您定义的代码,用于在进一步执行代码之前等待某个条件发生.最糟糕的情况是Thread.sleep()
,将条件设置为等待的确切时间段.提供了一些便捷方法,可帮助您编写仅在需要时等待的代码.WebDriverWait
与ExpectedCondition
此相结合是一种可以实现的方法.示例如下:
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
Run Code Online (Sandbox Code Playgroud)但是,根据语言的实现而有所不同.见这里更多ExpectedCondition
隐式等待是指在尝试查找一个或多个元素(如果它们不是立即可用)时,WebDriver轮询DOM一段时间.默认设置为0.设置后,将为WebDriver对象实例的生命周期设置隐式等待.下面是隐式等待的实现:
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)这两个定义都来自seleniumhq和最完美的定义.
toolsQA中有一个很好的解释如何以及何时使用它们.加上隐式,显式和FLUENT等待之间的比较值得一看.
归档时间: |
|
查看次数: |
3149 次 |
最近记录: |