0

У меня есть простой тест, который открывает страницу, нажав одну кнопку и нажав следующую кнопку в появившемся поле зрения (я нахожу элементы по id). я могу запустить этот тест в Visual Studio и она успешно проходит для IE и Chrome браузеры, но когда я пытаюсь заставить его из CuiseControl.Net он не для IE со следующим исключением:Тест Webdriver завершился с ошибкой ElementNotVisibleException во время работы cc.net

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

Может кто-нибудь мне помочь выяснить, почему это не удается?

Я использую:

  • Windows Server 2008 R2
  • Selenium.WebDriver 2.39.0
  • Selenium.WEbDriver.IEDriver 2.35.3.3 WebDriver.ChromeDriver.win32
  • круиз-контроль: Version : 1.8.4.0
+0

Обновление IEDriver - это шаг 1. Шаг 2 обеспечивает правильное установление настроек защищенного режима на обеих машинах. Шаг 3 показывает нам код, который вы используете, который терпит неудачу на сервере CI, шаг 4 объясняет, что AJAX, анимации и JavaScript происходят через страницу, шаг 5 показывает нам HTML, с которым вы имеете дело, шаг 6 реализует базовое явное ожидание, ожидающее, чтобы элемент стал видимым, и, наконец, шаг 7 думает о том, должен ли пользователь делать что-либо особенное, чтобы сделать его видимым. – Arran

ответ

0

Я установил сервер selenium, и это помогло. Вот фрагмент моего кода:

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; 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^