Мы установили 3 докера селеновых контейнера
a.Селеновый хаб
б.Selenium Grid - Firefox
c.Selenium Grib - Chrome
Мы пытаемся сделать полную реализацию SSL для этой настройки.Вот что мы сделали до сих пор:
Установил http-сервер Apache на тот же ящик Linux и включил SSL на нем, а затем сопоставил порт 4444 концентратора селена с портом apache 8443 (на котором мы уже включили SSL),
Сначала казалось, что это сработало, так как мы смогли открыть концентратор селена с помощью https URL, но когда мы запускаем тест селена, он завершается с ошибкой ниже.Тем не менее, тест работает нормально, когда мы используем http url.
Поток связи: 8443 Apache (SSL) ----> 4444 Selenium hub (не-SSL) ------> Сетки (NON-ssl)
Информация о сборке: версия: «3.4.0», редакция: «неизвестно», время: «неизвестно» Системная информация: хост: «Windows 10», os.arch: «amd64», os.version: '10 .0 ', java.version:' 1.8.0_131 'Информация о драйвере: driver.version: RemoteWebDriver в org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:658) в java.lang.refle.Method.invoke (Method.java:498) в org.testng.TestRunner.run (TestRunner.java:624) в org.testng.SuiteRunner.runTest (SuiteRunner.java:359) в org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354) в org.testng.SuiteRunner.privateRun (SuiteRunner.java:312) в org.testng.SuiteRunner.run (SuiteRunner.java:261) в org.testng.SuiteRunnerWorker.runSuite: SuiteRun52) в
org.apache.maven.surefire.booter.SurefireBooter.main (SurefireBooter.java:1021) Причина: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти допустимый путь сертификации для запрошенной цели в sun.security.ssl.Alerts.getSSLException (Alerts.java:192) в sun.security.ssl.SSLSocketImpl.fatal (SSLSocketImpl.java:1949) в sun.security.ssl.Handshaker.fatalSE (Handshaker.java:302) в
Мы попробовали следующееКак это исправить:
Установите сертификаты сервера apache (linux box сервера apache) в каждом java cacerts (хранилище ключей) на каждом контейнере Docker.
Установите клиентские сертификаты (URL-адреса, которые мы тестируем через селен) в каждом cacerts.Однако это тоже не сработало.
Сейчас мы думаем о трех вариантах:
Либо включите SSL на самом док-хабе.Я не очень уверен, где установить сертификаты в докере.
Исправить эту проблему.
Переконфигурируйте селен, чтобы игнорировать сертификаты ssl.
Любая помощь будет оценена.Спасибо.