2011-09-14 1 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 지원이 기다리는 것을 확인하는 리소스를 찾지 못하는 것 같아서 그 사용법이 테스트 디자인/아키텍처에 달려 있습니다.