2017-02-16 26 views
0

Я использую Selenium 3 на Firefox 51.0.1 с выпуском Geckodriver v0.14.0. Я получаю сообщение об ошибке в браузере, пытающемся открыть URL-адрес, и говорит, что соединение не безопасно (ошибка сертификата), хотя я проверил сертификат и он действителен.Неверная ошибка сертификата с Geckodriver на FF 51

Ошибка заключается в следующем:

Command failed: open target="" value="https://mydomain.mysite.com/default" -> Reached error page: about:certerror?e=nssBadCert&u=https%3A//mydomain.mysite.com/default&c=UTF-8&f=regular&d=mydomain.mysite.com%20uses%20an%20invalid%20security%20certificate.%0A%0AThe%20certificate%20is%20not%20trusted%20because%20the%20issuer%20certificate%20is%20unknown.%0AThe%20server%20might%20not%20be%20sending%20the%20appropriate%20intermediate%20certificates.%0AAn%20additional%20root%20certificate%20may%20need%20to%20be%20imported.%0A%0AError%20code%3A%20%3Ca%20id%3D%22errorCode%22%20title%3D%22SEC_ERROR_UNKNOWN_ISSUER%22%3ESEC_ERROR_UNKNOWN_ISSUER%3C/a%3E%0A 

Я использую следующий код (частичное сниппета ниже), чтобы установить возможности на FF, и кажется, что acceptSslCerts является не получение установлен true.

System.setProperty("webdriver.gecko.driver", geckoDriverLocation); 

DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); 
desiredCapabilities.setCapability(CapabilityType.ELEMENT_SCROLL_BEHAVIOR, 1); 

FirefoxProfile profile = new FirefoxProfile(); 

// Set the download path in Firefox profile 
profile.setPreference("browser.download.dir", "/User/me/download"); 
profile.setPreference("browser.download.folderList", 2); 
profile.setPreference("browser.download.manager.showWhenStarting",false); 
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "images/jpeg, application/pdf, application/octet-stream, application/zip, application/xml"); 
profile.setPreference("pdfjs.disabled", true);​ 

profile.setAcceptUntrustedCertificates(true); 
profile.setAssumeUntrustedCertificateIssuer(true); 

desiredCapabilities.setCapability(FirefoxDriver.PROFILE, profile); 
desiredCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 
desiredCapabilities.setCapability("acceptInsecureCerts", true); 

return new FirefoxDriver(desiredCapabilities); 

Если я ставлю точку останова на последнем заявлении выше, и проверить, она возвращает ((RemoteWebDriver) webDriver).getCapabilities().getCapability("acceptSslCerts") как ложные. То есть acceptSslCerts is не получение установлено до true. Подробное сообщение об ошибке (не показано здесь) показывает тот же факт.

Может ли это быть причиной, по которой происходит ошибка? Что можно сделать для обеспечения этого значения (acceptSslCerts) правильно установлено?

Обратите внимание, что ошибка не возникает с Selenium 2 на FF 47 с Firefoxdriver.

Любая помощь будет принята с благодарностью.

ответ