2011-09-14 67 views

回答

0

中聲明的部分或全部字段我的解決方案是不使用@FindBy。

在你的頁面對象:

By someElementLocator = By.cssSelector(".locator"); 

    public void waitForElementPresent(final By locator, int timeout) { 
    ExpectedCondition e = new ExpectedCondition<Boolean>() { 
     public Boolean apply(WebDriver driver) { 

      return driver.findElements(locator).size() > 0; 
     } 
    }; 

    WebDriverWait wait = new WebDriverWait(driver, timeout); 
    wait.until(e); 

} 

    public WebElement getSomeElement() { 
    waitForElementPresent(someElementLocator); 
    return driver.findElement(locator); 
    } 

也許這是一個建築的問題。我似乎無法找到任何確認@FindBy支持等待的資源,所以它的使用取決於測試設計/體系結構。

相關問題