使用GeckoDriver和Firefox错误“ org.openqa.selenium.WebDriverException:java.net.ConnectException:无法连接到localhost /”

时间:2018-11-01 18:26:59

标签: java selenium firefox selenium-webdriver geckodriver

你好,如果有人可以帮助我,我尝试编译时,我无法测试我的junit我的错误

  

org.openqa.selenium.WebDriverException:java.net.ConnectException:无法连接到localhost / 0:0:0:0:0:0:0:1:18218   生成信息:版本:'3.14.0',修订版本:'aacccce0',时间:'2018-08-02T20:05:20.749Z'   系统信息:主机:'UTILISA-3AHNTLM',ip:'10 .2.10.137',操作系统名称:'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version:'1.8 .0_191'   驱动程序信息:driver.version:FirefoxDriver

以下是供您参考的代码:注意:当我使用Junit进行构建时,它在Mac上运行良好

package ca.qc.grasset_420_pa4_ag.lab05.authentification;

import org.junit.Assert;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;

import ca.qc.grasset._420_pa4_ag.lab05.commons.AbstractFunctionalTest;

public final class InvalidUsernameLoginTest

    extends AbstractFunctionalTest {

    public InvalidUsernameLoginTest() {

        super();
    }

    @Test
    public void test() {

        getDriver().get("https://the-internet.herokuapp.com/");
        getDriver().findElement(By.linkText("Form Authentication"))
            .click();
        getDriver().findElement(By.id("username"))
            .click();
        getDriver().findElement(By.id("username"))
            .clear();
        getDriver().findElement(By.id("username"))
            .sendKeys("fdjkfgjkgfhkgf");
        getDriver().findElement(By.id("password"))
            .click();
        getDriver().findElement(By.id("password"))
            .clear();
        getDriver().findElement(By.id("password"))
            .sendKeys("SuperSecretPassword!");
        getDriver().findElement(
            By.xpath(
                "(.//*[normalize-space(text()) and normalize-space(.)='Password'])[1]/following::button[1]"))
            .click();
        validate();
    }

    @Override
    protected void validate() {

        WebElement element = getDriver().findElement(By.xpath("//*[@id=\"flash\"]"));

        String actualMessage = element.getText();
        Assert.assertTrue("Your username is invalid!\n×".equals(actualMessage));
    }
}

2 个答案:

答案 0 :(得分:0)

此错误消息...

org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:18218

...表示初始化 WebDriver 会话时引发了 ConnectException


解决方案

有关正在使用的二进制文件的更多信息可能有助于调试此问题,如下所示:

  • 您的 GeckoDriver 版本。
  • 您的 Firefox 版本。

一些可能解决您问题的方法是:

  • 确保系统上的/etc/hosts包含以下条目:

    127.0.0.1 localhost.localdomain localhost
    #or
    127.0.0.1 localhost loopback
    
  • 确保GeckoDriver-Firefox映射

Geckodriver Releases

  • GeckoDriver 升级到GeckoDriver v0.23.0级。
  • 确保 GeckoDriver 位于指定位置。
  • 确保 GeckoDriver 具有非root用户的可执行权限。
  • Firefox 版本升级到 Firefox v62.0 级别。
  • 通过您的 IDE
  • 清理您的项目工作区重建您的项目,并且仅具有必需的依赖项。
  • 如果您的基本 Web客户端版本过旧,请通过Revo Uninstaller进行卸载,并安装最新版本的 Web客户端。 li>
  • 进行系统重启
  • 以非root用户身份执行Test

答案 1 :(得分:0)

answer of Wojciech-Kopec帮助我解决了这个问题,也许您尚未安装 可再发行的Microsoft Visual Studio

尝试下载并安装适当的.exe文件here

希望这会有所帮助!