Selenium 3.7:geckodriver:WebDriverException:org.apache.http.conn.HttpHostConnectException连接被拒绝

时间:2017-11-10 09:18:28

标签: java selenium selenium-webdriver mozilla geckodriver

最近我升级到了Selenium 3.7。

代码:

import org.openqa.selenium.WebDriver;  
import org.openqa.selenium.firefox.FirefoxDriver;


public static void main (String args[]){

    System.setProperty("webdriver.gecko.driver", 
    "/usr/local/bin/geckodriver");      
    WebDriver driver = new FirefoxDriver();
    driver.get("http://www.google.com");
    driver.quit();
  }
  

包含的图书馆:

     

硒 - java的3.7.1 /硒 - 服务器 - 独立-3.7.1.jar

     

硒 - java的3.7.1 /库/的HttpCore-4.4.6.jar

     

硒 - java的3.7.1 /库/ HttpClient的-4.5.3.jar

     

硒 - java的3.7.1 /库/番石榴23.0.jar

     

硒 - java的3.7.1 /库/ GSON-2.8.2.jar

     

硒 - java的3.7.1 /库/共享记录-1.2.jar

     

硒 - java的3.7.1 /库/公地EXEC-1.3.jar

     

硒 - java的3.7.1 /库/公地编解码器1.10.jar

     

硒 - java的3.7.1 /库/字节的好友-1.7.5.jar

     

硒 - java的3.7.1 /客户端联合3.7.1.jar

     

硒 - java的3.7.1 /客户端联合3.7.1-sources.jar

     

系统环境:

     

Firefox 56.0.2

     

Java 1.8

     

硒 - java的3.7.1

     

硒 - 服务器 - 独立-3.7.1

     

geckodriver - v0.19.1

     

错误跟踪日志:

     

用法:

     

/ usr / local / bin / geckodriver [OPTIONS] / usr / local / bin / geckodriver:   未知选项--port = 8970线程中的异常" main"   org.openqa.selenium.WebDriverException:   org.apache.http.conn.HttpHostConnectException:连接到   localhost:8970 [localhost / 0:0:0:0:0:0:0:1,   localhost / fe80:0:0:0:0:0:0:1%1]失败:连接被拒绝(连接   拒绝建立信息:版本:' 3.7.1',修订版:' 8a0099a',时间:   ' 2017-11-06T21:07:36.161Z'系统信息:主持人:   ' Maggies-MacBook-Pro-2.local',ip:' 192.168.1.6',os.name:' Mac OS X',   os.arch:' x86_64',os.version:' 10.12.6',java.version:' 1.8.0_121'   驱动程序信息:driver.version:FirefoxDriver

任何想法都会受到赞赏。谢谢。

尝试Debanjan建议后更新:

代码:

public static void main (String args[]){
    System.out.println("Debug 1");
    System.setProperty("webdriver.gecko.driver", 
    "/Users/maggie/Documents/ToolsQA/Libs/geckodriver");    
    System.out.println("Debug 2");
    WebDriver driver = new FirefoxDriver();
    System.out.println("Debug 3");
    driver.get("http://www.google.com");
    driver.quit();
  }

包含图书馆:

  

硒 - 服务器 - 独立-3.7.1.jar

系统环境:

  

Firefox 56.0.2

     

Java 1.8

     

硒 - java的3.7.1

     

硒 - 服务器 - 独立-3.7.1

     

geckodriver 0.19.1

     

Mac OS X',os.arch:' x86_64',os.version:' 10.12.6'

错误跟踪日志:

  

Debug 1 Debug 2启动ChromeDriver 2.33.506106   (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2)在2198港口   允许连接。线程" main"中的例外情况   org.openqa.selenium.WebDriverException:等待驱动程序超时   服务器启动。构建信息:版本:' 3.7.1',修订版:' 8a0099a',   时间:' 2017-11-06T21:07:36.161Z'系统信息:主持人:   ' Maggies-MacBook-Pro-2.local',ip:' 192.168.1.6',os.name:' Mac OS X',   os.arch:' x86_64',os.version:' 10.12.6',java.version:' 1.8.0_121'   驱动程序信息:driver.version:ChromeDriver at   org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:192)     在   org.openqa.selenium.remote.service.DriverService.start(DriverService.java:178)     在   org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)     在   org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:600)     在   org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)     在   org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:142)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:181)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:168)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:123)     在AutomationFrameWork.FirstTestCase.main(FirstTestCase.java:13)   引起:org.openqa.selenium.net.UrlChecker $ TimeoutException:Timed   等待[http://localhost:2198/status]之后可用   20005毫秒   org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)     在   org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:187)     ... 9更多引起:java.util.concurrent.TimeoutException at   java.util.concurrent.FutureTask.get(FutureTask.java:205)at   com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:147)     在   org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)     ......还有10个

4 个答案:

答案 0 :(得分:1)

错误 WebDriverException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8970 可能由于不同原因而发生。 由于 Included Library 永远不属于已下载 selenium-server-standalone-3.7.1.jar 的一部分,因此selenium-java-3.7.1.zip列表中存在差异。

尝试以下步骤:

  • Included Library列表中删除所有jars
  • 来自this link或来自this link
  • DownloadAdd selenium-server-standalone-3.7.1.jar
  • 确保系统上的 /etc/hosts 包含以下条目:

    1 127.0.0.1               localhost.localdomain localhost
    
  • 运行CCleaner工具以清除系统中的所有OS家务。

  • 您可以选择System Reboot
  • 执行Test

答案 1 :(得分:0)

我尝试使用相同版本没有任何问题。

如果是geckodriver的路径:

System.setProperty("webdriver.gecko.driver", 
    "/usr/local/bin/geckodriver"); 

是正确的,请确保geckodriver对执行代码的用户是可执行的:

chmod +x geckodriver

答案 2 :(得分:0)

在做了一些研究之后,我设法解决了这个问题。

该错误是由于在etc / hosts中将127.0.0.1映射到localhost.com。 编辑: 127.0.0.1 localhost

答案 3 :(得分:-1)

我认为你错过了.exe扩展名。你的路径应该是这样的

System.setProperty("webdriver.gecko.driver", 
    "/usr/local/bin/geckodriver.exe");
相关问题