Веб-драйвер Selenium 2 - отказано в подключении к http://localhost:7055 - PullRequest
2 голосов
/ 28 июля 2011

Я пытаюсь использовать selenium-java:2.2.0, и я получаю эту ошибку:

org.openqa.selenium.WebDriverException: org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:7055 refused
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.18-238.12.1.el5', java.version: '1.6.0_26'
Driver info: driver.version: FirefoxDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:406)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:103)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:86)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:121)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:77)
    at com.lexmark.cloudprint.BaseSeleneseTestCase.setUp(BaseSeleneseTestCase.groovy:21)

При такой простой настройке:

class BaseSeleneseTestCase {
    Selenium selenium
    FirefoxDriver driver

    @Rule public TestName name = new TestName();

    @Before
    public void setUp() {
        driver = new FirefoxDriver();

        def config = new ConfigSlurper(GrailsUtil.environment).parse(new File('grails-app/conf/Config.groovy').toURL())
        selenium = new WebDriverBackedSelenium(driver, (String) config.grails.serverURL);

        def GLOBAL_TIMEOUT_IN_MS = "10000"
        selenium.setTimeout(GLOBAL_TIMEOUT_IN_MS)
    }

Покопавшись в интернете, похоже, что у многих людей такая же проблема, но мне нужно что-то обойти. Кто-нибудь получил Selen2 WebDriver для работы на Linux? Если да, то как?

Ответы [ 2 ]

1 голос
/ 01 августа 2011

Использование WebDriverBackedSelenium означает, что вы запрашиваете подключение к драйверу с дистанционным управлением. Если это то, что вы хотите, я думаю, что вам нужно развернуть удаленный сервер управления селеном.

Если вы хотите выполнять свои тесты непосредственно в Firefox (я имею в виду, нет RemoteControl Selenium), вы можете вообще не использовать WebDriverBackedSelenium, например:

FirefoxDriver driver;
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
[...]
driver.get(myTestUrl);
driver.findElement(By.xpath(myElementXpath)).click();

Было бы полезно лучше понять вашу проблему, чтобы прочитать оставшуюся часть теста: как вы называете методы теста, утверждения и т. Д.

ОБНОВЛЕНИЕ Можно использовать базовый интерфейс WebDriver для переключения между реализациями (например, для изменения браузера).

Примерно так:

в базовом классе испытаний:

public abstract class WebDriverBaseTest {

    protected WebDriver driver;

    @Before
    public void setUp() throws Exception {
        setDriverForTest();
    }

    protected abstract void setDriverForTest();

    // Rest of tests here ...
}

Расширьте этот класс для каждого браузера для тестирования:

public class FirefoxTest extends WebDriverBaseTest {

    @Override
    protected void setDriverForTest() {
        driver = new FirefoxDriver();
    }
}

public class HtmlUnitTest extends WebDriverBaseTest {

    @Override
    protected void setDriverForTest() {
        HtmlUnitDriver htmlUnitDriver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);
        htmlUnitDriver.setJavascriptEnabled(true);
        driver = htmlUnitDriver;
    }
}

Это то, что вам нужно?

0 голосов
/ 29 мая 2014

Пожалуйста, проверьте версию вашего Firefox, возможно, для нового Firefox нужен драйвер с более высоким селеном.На данный момент я должен обновить драйвер до селена 2.39.0 для Firefox 29.0.

...