如何修复与 Selenium Docker Firefox 容器连接时,从 Selenium RemoteWebDriver"连接拒绝"错误?

By simon at 2019-05-16 • 0人收藏 • 30人看过

我一直试图通过为 Standalone-Firefox 浏览器创建一个 Docker 容器并使用 Selenium RemoteWebDriver 连接它来学习 Docker。

我已经安装了一个 docker 映像,并确保它正在运行。 我正在尝试访问谷歌网站并打印标题。

但是,我得到了"Exception in thread"main"org.openqa.selenium.remote。 Unreacablebrowserexception: 无法启动新会话。 可能的原因是远程服务器的无效地址或浏览器启动失败。" 错误。

Docker 图像设置正确

Https://github.com/seleniumhq/docker-selenium

! [ Docker 映像正在成功运行](e: Udemy Courses SDET Architect Successful Docker Running.JPG)

包 dockerValidation; import java.net。 1.1.1.1.1.2.1.2.1.2.1.2.2.2.1.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2. 1.1.1.1.1.2.1.2.1.2.2.2.1.2.2.2.2.2.2.2.2.2.2.2.2.2.3.3.3.3.3. 使用 RemoteWebDriver; public Class ChromeStandAloneTest { public Static void main (String [] args)抛出 MalformedURLException { / / TODO Auto-generated method stub URL new URL (" http://localhost:4444/wd/hub ") ; / / Static Class 名为 DesiredCapabilities。 不需要创建对象 desiredcapilities.firefox () ; / / RemoteWebDriver 在 Cloud、 Docker 等上运行测试,RemoteWebDriver rwd new RemoteWebDriver (url,capabilities) ; rwd.get (" http://google.com ") ; System.out.println (rwd.getTitle () ; }

预期结果(Eclipse 控制台)

2019年5月15日6:36:39 PM org.openqa.selenium.remote。 使用 firefox INFO新的 FirefoxOptions ()更喜欢Desiredcapilities.firefox ()2019年5月15日6:36:55 PM org.openqa.selenium.remote。 验证方言: OSS Google

实际结果

2019年5月15日6:36:39 PM org.openqa.selenium.remote。 使用 firefox INFO新的 FirefoxOptions ()更喜欢Desiredcapilities.firefox ()在线程"main"org.openqa.selenium.remote 中异常。 Unreacablebrowserexception: 无法启动新会话。 可能的原因是远程服务器的无效地址或浏览器启动失败。 构建信息: version:'3.141.59',修订版:'e82be7d358',时间:'2018-11-14T08:17:03'System info: host:'desktop-qjqqqov4l',ip:'192.168.99.1',os.arch:'Windows 10',os.arch:'amd64',os.info:'10.0',a.version:'1.8.0131'Driver:'selen.version: remotedriver at org.openqa.ium.remote。 Remotewebdriver.execute (RemoteWebDriver.java: 573) at org.openqa.selenium.remote. Remotewebdriver.startsession (RemoteWebDriver.java: 213) at org.openqa.selenium.remote. 远程网络驱动器。 (RemoteWebDriver.java: 131) at org.openqa.selenium.remote. 远程网络驱动器。 144) at dockerValidation. 20)肇因: java. net。 Connectexception: 未能连接到 localhost / 0:0:0:0:0:0:1:4444 at okhttp3.internal.connection。 Connectsocket (RealConnection.java: 247) at okhttp3.internal.connection. Connect (RealConnection.java: 165) at okhttp3.internal.connection. Streamallocation.findconnection (StreamAllocation.java: 257) at okhttp3.internal.connection. Streamallocation.findhealthyconnection (StreamAllocation.java: 135) at okhttp3.internal.connection. Streamallocation.newstream (StreamAllocation.java: 114) at okhttp3.internal.connection. Connectinterceptor.intercept (ConnectInterceptor.java: 42) at okhttp3.internal.http. Proceed (RealInterceptorChain.java: 147) at okhttp3.internal.http. Proceed (RealInterceptorChain.java: 121) at okhttp3.internal.cache. 在 okhttp3.internal.http 上的 CacheInterceptor.intercept (CacheInterceptor.java: 93)。 Proceed (RealInterceptorChain.java: 147) at okhttp3.internal.http. Proceed (RealInterceptorChain.java: 121) at okhttp3.internal.http. 93) at okhttp3.internal.http. Proceed (RealInterceptorChain.java: 147) at okhttp3.internal.http. Retryandfollowupinterceptor.intercept (RetryAndFollowUpInterceptor.java: 126) at okhttp3.internal.http. Proceed (RealInterceptorChain.java: 147) at okhttp3.internal.http. 121) at okhttp3.RealCall.getResponseWithInterceptorChain (RealCall.java: 200) at okp3.realcall.execute (RealCall.java: 77) at org.openqa.selenium.remote.internal.OkHttpClient.execute (OkHttpClient.java: 103) at org.openqa.selenium.remote. 在 org.openqa.selenium.remote 上的 protocollabhandshake.creatession (ProtocolHandshake.java: 105)。 在 org.openqa.selenium.remote 上的 protocollabhandshake.creatession (ProtocolHandshake.java: 74)。 Execute (httpcandexecutor.java: 136) at org.openqa.selionium.remote. 552) ... 4 more causes by: java. 连接异常: 连接拒绝: 在 java. net 连接。 的 DualStackPlainSocketImpl.waitForConnect (Native Method)。 85) at java.net. Doconnect (AbstractPlainSocketImpl.java: 350). 206) at java. net. 188) at java. net. 连接(PlainSocketImpl.java: 172) at java。 连接(SocksSocketImpl.java: 392)。 Connect (Socket.java: 589) at okhttp3.internal.platform. Connectsocket (Platform.java: 129) at okhttp3.internal.connection. Connectsocket (RealConnection.java: 245) ... 26 more

登录后方可回帖

Loading...