2016-08-22 3 views
0

FirefoxDriver의 레거시 구현 대신 Selenium 3.0.0-beta2 및 Geckodriver를 사용하도록 프로젝트를 업데이트했습니다. 브라우저 내 모든 테스트는 여전히 문제없이 작동 다른 모든,하지만 게코에서 수행하려고 내 모든 시험 방법 및 모든 FindElement 조치에서 예외가 발생합니다 :Selenium 3에서 FindElement 제한 시간 초과 - GeckoDriver

WebDriverException : 원격 WebDriver 서버에 HTTP 요청 URL http://localhost:28957/session/17e03419-11f5-417f-be98-11d323f72a6a/elements에 대해 10 초 후에 시간이 초과되었습니다.

Gecko를 사용하여 FirefoxDriver의 새 인스턴스를 시작하고 다른 창으로 이동하여 javascript를 실행하는 것과 같은 몇 가지 방법이 여전히 문제없이 작동합니다.

내 드라이버 설정 :

private static void SetupFirefoxDriver() 
    { 
     var driverService = FirefoxDriverService.CreateDefaultService(DriversPath, "geckodriver.exe"); 
     driverService.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\Firefox.exe"; 
     driverService.HideCommandPromptWindow = true; 
     driverService.SuppressInitialDiagnosticInformation = true; 

     var option = new FirefoxOptions(); 
     option.AddAdditionalCapability(CapabilityType.AcceptSslCertificates, true); 
     option.AddAdditionalCapability("browser.download.folderList", 2); 
     option.AddAdditionalCapability("browser.download.dir", Config.DiretorioDeDownload); 
     option.AddAdditionalCapability("browser.download.downloadDir", Config.DiretorioDeDownload); 
     option.AddAdditionalCapability("browser.download.defaultFolder", Config.DiretorioDeDownload); 
     option.AddAdditionalCapability("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel, text/csv, application/pdf, application/octet-stream"); 

     SeleniumWebDriver.Driver = new FirefoxDriver(driverService, option, TimeSpan.FromSeconds(10)); 
    } 

내 설정 :

  • GeckoDriver 0.10,
  • 셀레늄 3.0.0 - 베타 2를,
  • 파이어 폭스 48.0.1,
  • 윈도우 (10) 64 비트,
  • geckodriver.exe 64 비트,
  • C#.

답변