Serenity / WebDriver: не может получить доступ к localhost - PullRequest
0 голосов
/ 22 сентября 2018

У меня проблемы с Serenity / WebDriver.Внезапно однажды мой код не работает, и я получил ошибку «Неизвестный хост localhost».

Я могу воспроизвести код с http://thucydides.info/docs/serenity-staging/#_serenity_with_cucumber:

@RunWith(SerenityRunner.class)
public class WhenSearchingOnGoogle {

    @Managed                                                                
    WebDriver driver;

    @Test
    public void shouldInstantiateAWebDriverInstanceForAWebTest() {
        driver.get("http://www.google.com");                                

        driver.findElement(By.name("q")).sendKeys("firefly", Keys.ENTER);

        new WebDriverWait(driver,5).until(titleContains("Google Search"));

        assertThat(driver.getTitle()).isEqualTo("firefly - Google Search");
    }
}

Я получил эту ошибку:

НАЧАЛО ТЕСТА: shouldInstantiateAWebDriverInstanceForAWebTest

18: 06: 11.599 [главная] ИНФОРМАЦИЯ net.serenitybdd.core.Serenity - НОМЕР ТЕСТА: 1 сентября.22, 2018 18:06:11 org.openqa.selenium.remote.DesiredCapabilities chrome ИНФОРМАЦИЯ: Использование new ChromeOptions() предпочтительнее DesiredCapabilities.chrome()

net.serenitybdd.core.exceptions.SerenityManagedException: localhost не удалосьбыть достигнутым

at net.serenitybdd.core.webdriver.driverproviders.RemoteDriverBuilder.newRemoteDriver(RemoteDriverBuilder.java:66)
at net.serenitybdd.core.webdriver.driverproviders.DefaultRemoteDriver.buildWithOptions(DefaultRemoteDriver.java:24)
at net.serenitybdd.core.webdriver.driverproviders.RemoteDriverProvider.newInstance(RemoteDriverProvider.java:53)
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:127)
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:149)

Я не понимаю, что "localhost не может быть достигнут", когда я даю другой URL?!

Я пробовал другие драйверы безуспешно.Как я могу заставить это работать?

Thks, Cédric

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Если вы запускаете сервер селена локально, его простая

1. Please download the binary from 

страница загрузок Selenium

Теперь перейдите к папке, содержащей jar, и откройте командную строку там ивыполните команды в шаге 2 и 3

2.Стартовый концентратор:

    java -jar selenium-server-standalone-3.14.0.jar -port 4444 -role hub

3.Регистрация:

java -jar selenium-server-standalone-3.14.0.jar -role node -hub http://localhost:4444/grid/register 

После этого вам нужно найти подходящие драйверы для версии chrome.например, v69 с использованием Chromdriver версии 2.42.

0 голосов
/ 22 сентября 2018

Кажется, что использовался удаленный веб-драйвер с localhost: 4444, определенно по этому параметру в serenity.properties: webdriver.remote.url = http://localhost:4444/wd/hub

я решил это с помощью https://github.com/SeleniumHQ/docker-selenium/blob/master/README.md#selenium-grid-hub-and-nodes: создание docker-compose.yml, затем начиная с docker compose up -d и заканчивая docker-compose down

...