2011-08-08 5 views
4

webdriver에서 이상한 문제가 있습니다. 로컬 환경과 원격 환경을 통해 테스트를 수행합니다. 두 환경 모두 Firefox에서 잘 작동하지만 Internet Explorer 8에서는 로컬에서만 작동합니다.Webdriver가 원격 IE에서 요소를 찾지 못했습니다.

원격 서버에 대해 테스트를 실행할 때마다 로그인을하기 위해 텍스트 요소를 찾지도 않습니다. 요소를 찾을 때까지 기다렸다가 몇 분까지 시간을 늘리려고했지만 아무 것도하지 않았습니다. IE에서 소스 코드를 탐색하는 요소를 볼 수 있습니다. 나는 두 HTML에서 생성 된 html을 비교하고 동일하다.

public WebElement getElementById(String elementId){ 
    return getMyWaiter() 
    .waitForMe(By.id(elementId), TEST_DELAY_IN_S); 
} 

public WebElement waitForMe(By locator, int timeout) { 
     WebDriverWait wait = new WebDriverWait(driver, timeout); 
     return wait.until(Waiter.presenceOfElementLocated(locator)); 
} 


public static Function<WebDriver, WebElement> presenceOfElementLocated(
      final By locator) { 
     return new Function<WebDriver, WebElement>() { 
      @Override 
      public WebElement apply(WebDriver driver) { 
       return driver.findElement(locator); 
      } 
     }; 
    } 
:

나는 JBehave의 (셀레늄 즉, 드라이버-2.0b3와 JBehave를-웹 셀레늄-3.3.4)

내가 사용 요소를 검색하려면 통해 셀레늄을 사용하고 있습니다

다른 아이디어가있는 이유는 무엇입니까?

답변

9

문제가 발견되었습니다. Internet Explorer와 원격 서버의 보안 문제입니다. 문제를 해결하려면 신뢰할 수있는 사이트에 원격 서버를 추가하기 만하면됩니다 (Tools > Options > Security Tab > Trusted Site)

+0

저를 위해 문제가 해결되었습니다! 이걸로 내 머리카락을 꺼내 ​​주셔서 감사합니다. – DaveHogan

+0

나를 위해 신뢰할 수있는 사이트에 추가 한 모든 요소를 ​​찾는 중지 그냥 oposite했습니다. (Win7, IE8, webdriver 2.21) – hithwen

+0

자세한 지침은 https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver를 참조하십시오. –

관련 문제