0

페이지를 열고 버튼 하나를 클릭 한 다음 표시되는 라이트 박스에서 다음 버튼을 클릭하면 간단한 테스트가 진행됩니다 (ID로 요소를 찾습니다). 나는 Visual Studio에서이 테스트를 실행할 수 있으며 IE와 크롬 브라우저를 성공적으로 통과,하지만 난 CuiseControl.Net에서 강제하려고 할 때 다음과 같은 예외 IE 실패 :cc.net을 통해 실행 중일 때 Webdriver 테스트가 ElementNotVisibleException과 함께 실패합니다.

Test Error : WilcoWebClient.WebdriverTests.RequestTest(IE).TestCreateRequest 
OpenQA.Selenium.ElementNotVisibleException : Element is not displayed 

이 사람이 나를 도울 수 왜 실패했는지 알아내는거야?

내가 사용하고 있습니다 :

  • 윈도우 서버 2008 R2
  • Selenium.WebDriver 2.39.0
  • Selenium.WEbDriver.IEDriver 2.35.3.3 WebDriver.ChromeDriver.win32
  • 크루즈 컨트롤 : 버전 : 1.8.4.0
+0

업데이트 IEDriver는 1 단계입니다. 2 단계는 보호 모드 설정이 두 컴퓨터에서 올바르게 설정되었는지 확인하는 것입니다. 3 단계는 CI 서버에서 실패한 코드를 보여 주며 4 단계는 AJAX, 애니메이션 및 JavaScript가 페이지를 통해 발생하는 것을 설명하고 5 단계는 처리중인 HTML을 보여 주며 6 단계는 구현 중입니다 기본적인 명시 적 대기, 엘리먼트가 보이도록 기다리기, 마지막으로 7 단계는 사용자가 그것을 보이게하기 위해 특별한 작업을해야하는지 여부를 생각하고있다. – Arran

답변

0

셀렌 서버를 설치했는데 도움이되었습니다. 다음은 내 코드 조각입니다.

public enum Browser 
{ 
    IE, 
    CHROME, 
    REMOTE_IE, 
}; 

private IWebDriver CreateWebdriver(Browser browser) 
    { 
     IWebDriver driver = null; 
     switch (browser) 
     { 
      case Browser.IE: 
       InternetExplorerOptions ieOptions = new InternetExplorerOptions(); 
       ieOptions.IntroduceInstabilityByIgnoringProtectedModeSettings = true; 
       ieOptions.RequireWindowFocus = true; 
       driver = new InternetExplorerDriver(ieOptions); 
       break; 
      case Browser.CHROME: 
       driver = new ChromeDriver(); 
       break; 
      case Browser.REMOTE_IE: 
       driver = new RemoteWebDriver(
        new Uri(Utils.BASE_URL + ":4444/wd/hub"), 
        DesiredCapabilities.InternetExplorer()); 
       break; 
     } 
     if (driver == null) 
     { 
      throw new Exception("Couldn't initialize WebDriver for browser " + browser.ToString()); 
     } 
     return driver; 
    } 
관련 문제