无法连接到主机 127.0.0.1 的 7055 端口。

7

我是一个新手,需要关于webdriver的帮助。

我正在使用Selenium 2.2.0和Windows XP上的FF v7.0.1。

我已经成功地在IE中记录并回放了一个Java脚本,但是每当我尝试在FF中执行相同的脚本时,我会收到以下错误消息:

无法在45000毫秒后连接127.0.0.1上的7055端口的主机

我已经在许多地方读到过,如果将Firefox版本降级到3.6,脚本就可以正常工作,但是我不想降级。请问有人能告诉我我做错了什么吗?

package hisScripts;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;


public class WebdriverTest_1 {
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
    driver = new FirefoxDriver();
    //driver=new InternetExplorerDriver();
    baseUrl = "https://**********/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}

@Test
public void testUntitled() throws Exception {
    driver.get(baseUrl + "/");
    driver.findElement(By.xpath("//a[contains(text(),'my profile')]")).click();
    driver.findElement(By.xpath("//a[contains(text(),'about the service')]")).click();
    driver.findElement(By.xpath("//a[contains(text(),'contact us')]")).click();
    driver.findElement(By.xpath("//a[contains(text(),'help')]")).click();
    driver.findElement(By.xpath("//a[contains(text(),'home')]")).click();
    driver.findElement(By.xpath("//a[contains(text(),'logout')]")).click();

}

@After
public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
        fail(verificationErrorString);
    }
}

private boolean isElementPresent(By by) {
    try {
        driver.findElement(by);
        return true;
    } catch (NoSuchElementException e) {
        return false;
    }
}

}


1
代码没问题。那升级呢?从FF7到FF9或10怎么样?Selenium目前无法很好地与FF11配合使用,但FF9可以正常工作! - Petr Janeček
@slanec - 我已经升级到FFv10.0.2,但仍然没有解决这个问题 - 是否还有其他我可以做的事情来解决这个问题? - user929258
2个回答

8
您使用的Selenium版本太老了。我认为v2.2不支持firefox 10。最新的版本是2.20。
请查看变更日志这里。从这里的说明可以看出,Firefox 10中的本地事件从v2.19.0开始得到支持,这意味着您需要2.19或更高版本来支持Firefox 10。

感谢指出这个问题。原来是一个愚蠢的错误,我以为Selenium 2.2.0和Selenium 2.20.0是一样的。为了解决这个问题,我从http://seleniumhq.org/download/下载了最新的“服务器”和“客户端驱动程序”(在我的情况下是Java),猜猜它起作用了 :) - user929258
在Rails环境中,这可能意味着升级用于运行远程服务器的selenium-server jar以及升级服务器使用的gem。我已经将后者更新到最新版本,但忘记了前者也需要升级。 - river
我遇到了与2.24.X版本相似的问题。所以我切换到了2.25.0版本。谢谢。 - dbalakirev
对于 Firefox 29.0,我更改为 Selenium 驱动程序 2.39.0。 - Huluvu424242

-1

这个问题是由于火狐浏览器版本和Selenium jar文件版本不兼容所致。请使用最新的Selenium jar文件,这可以解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接