Как исправить ошибку «Отказано в соединении» при подключении к контейнеру Selenium Docker Firefox из Selenium RemoteWebDriver? - PullRequest
1 голос
/ 16 мая 2019

Я пытался изучить Docker, создав контейнер Docker для браузера Standalone-Firefox и подключив его с помощью Selenium RemoteWebDriver.

Я установил образ докера и убедился, что он работает. Я пытаюсь зайти на Google.com и напечатать название.

Однако я получаю сообщение "Исключение в потоке" main "org.openqa.selenium.remote.UnreachableBrowserException: не удалось начать новый сеанс. Возможные причины: недопустимый адрес удаленного сервера или ошибка запуска браузера." ошибка.

Docker Image правильно настроен

https://github.com/SeleniumHQ/docker-selenium

! [Образ Docker успешно запущен] (E: \ Udemy Courses \ SDET Architect \ Successful Docker Running.JPG)

package dockerValidation;

import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class ChromeStandAloneTest {
    public static void main(String[] args) throws MalformedURLException {
        // TODO Auto-generated method stub

        URL url = new URL("http://localhost:4444/wd/hub");      
        // Static Class named DesiredCapabilities is used. No need to create object
        DesiredCapabilities capabilities = DesiredCapabilities.firefox();

        // RemoteWebDriver to run test on Cloud, Docker, etc
        RemoteWebDriver rwd = new RemoteWebDriver(url, capabilities);

        rwd.get("http://google.com");
        System.out.println(rwd.getTitle());
    }
}

Ожидаемый результат (Eclipse Console)

15 мая 2019 г. 18:36:39 org.openqa.selenium.remote.DesiredCapabilities firefox ИНФОРМАЦИЯ: Использование new FirefoxOptions() предпочтительнее DesiredCapabilities.firefox() 15 мая 2019 г. 18:36:55 org.openqa.selenium.remote.ProtocolHandshake createSession ИНФОРМАЦИЯ: Обнаруженный диалект: OSS Google

Фактический результат

15 мая 2019 г. 18:36:39 org.openqa.selenium.remote.DesiredCapabilities firefox ИНФОРМАЦИЯ: Использование new FirefoxOptions() предпочтительнее DesiredCapabilities.firefox() Исключение в потоке "main" org.openqa.selenium.remote.UnreachableBrowserException: Не удалось начать новый сеанс. Возможные причины: неверный адрес удаленного сервера или ошибка запуска браузера. Информация о сборке: версия: '3.141.59', редакция: 'e82be7d358', время: '2018-11-14T08: 17: 03' Системная информация: хост: 'DESKTOP-QJQOV4L', ip: '192.168.99.1', os.name: '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:573) в org.openqa.selenium.remote.RemoteWebDriver.startSession (RemoteWebDriver.java:213) в org.openqa.selenium.remote.RemoteWebDriver. (RemoteWebDriver.java:131) в org.openqa.selenium.remote.RemoteWebDriver. (RemoteWebDriver.java:144) at dockerValidation.ChromeStandAloneTest.main (ChromeStandAloneTest.java:20) Вызвано: java.net.ConnectException: Не удалось подключиться к localhost / 0: 0: 0: 0: 0: 0: 0: 1: 4444 на okhttp3.internal.connection.RealConnection.connectSocket (RealConnection.java:247) по адресу okhttp3.internal.connection.RealConnection.connect (RealConnection.java:165) в okhttp3.internal.connection.StreamAllocation.findConnection (StreamAllocation.java:257) в okhttp3.internal.connection.StreamAllocation.findHealthyConnection (StreamAllocation.java:135) на okhttp3.internal.connection.StreamAllocation.newStream (StreamAllocation.java:114) по адресу okhttp3.internal.connection.ConnectInterceptor.intercept (ConnectInterceptor.java:42) в okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:147) в okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:121) на okhttp3.internal.cache.CacheInterceptor.intercept (CacheInterceptor.java:93) в okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:147) в okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:121) по адресу okhttp3.internal.http.BridgeInterceptor.intercept (BridgeInterceptor.java:93) в okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:147) на okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept (RetryAndFollowUpInterceptor.java:126) в okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:147) в okhttp3.internal.http.RealInterceptorChain.proceed (RealInterceptorChain.java:121) в okhttp3.RealCall.getResponseWithInterceptorChain (RealCall.java:200) на okhttp3.RealCall.execute (RealCall.java:77) в org.openqa.selenium.remote.internal.OkHttpClient.execute (OkHttpClient.java:103)в org.openqa.selenium.remote.ProtocolHandshake.createSession (ProtocolHandshake.java:105) в org.openqa.selenium.remote.ProtocolHandshake.createSession (ProtocolHandshake.java:74) в org.openqremote.Hec.(HttpCommandExecutor.java:136) в org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:552) ... ... еще 4 причины: java.net.ConnectException: Соединение отклонено: подключиться на java.net.DualStackPlainSocketImplФайл) в java.net.AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl.java:188) в java.net.PlainSocketImpl.connect (PlainSocketImpl.java:172) в java.net.SocksSocketImpl.connect (SocksSocketImpljj) at2j.jj) at2.Socket.connect (Socket.java:589) на okhttp3.internal.platform.Platform.connectSocket (Platform.java:129) по адресу okhttp3.internal.connection.RealConnection.connectSocket (RealConnection.java:245) ... еще 26

1 Ответ

0 голосов
/ 02 июля 2019

У меня было то же самое, перезапуск докера мне помог.Не лучшее решение, но оно работает.

...