У меня есть два персональных ноутбука. Ноутбук A - это клиент, с которого я запускаю тесты Selenium через Eclipse IDE. Тесты должны быть выполнены на ноутбуке B, на котором работает автономный сервер. На обоих ноутбуках работает Windows 10
Чтобы запустить автономный сервер Selenium на ноутбуке B, я использую следующую команду: -
java -jar selenium-server-standalone-3.141.59.jar -role standalone
Шаги конфигурации, которые я предпринял: -
- На ноутбуке B файл jar сервера селена и веб-драйвер [geckodriver] хранятся в одной папке
- Я включил путь к этой папке в системную переменную среды PATH на ноутбуке B
- Оба ноутбука способны пинговать друг друга по моему дому Wi-Fi
Для ноутбука B:
IPv4 Address: 192.168.1.9
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.1.1
Для ноутбука A:
IPv4 Address: 192.168.1.5
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.1.1
После запуска автономного сервера на ноутбуке B я могу получить доступ к странице консоли автономного сервера с ноутбука A из браузера. Вот так: -
http://192.168.1.9:5555/console
Я использую TestNG для запуска теста Selenium из Eclipse. Класс Test имеет
@BeforeClass
аннотированный метод, например, так: -
@BeforeClass
public void beforeClass() throws MalformedURLException, InterruptedException {
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setCapability("browserName", "firefox");
firefoxOptions.setCapability("platformName", "WIN10");
firefoxOptions.setCapability("marionette", true);
webdriver = new RemoteWebDriver(new URL("http://192.168.1.9:5555"), firefoxOptions);
...
..
.
}
Я получаю следующую ошибку при выполнении Selenium Tests [страница консоли автономного сервера HTML возвращается в ответе об ошибке]: -
FAILED CONFIGURATION: @BeforeClass beforeClass
org.openqa.selenium.WebDriverException: Unable to parse remote response: <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
...
Примечания: -
При попытке использовать разные комбинации браузеров и веб-драйверов я получил ту же ошибку, как указано ниже: -
- Chrome Версия браузера 81.xx
- FireFox Версия браузера 75.x
- ChromeDriver версии 76.x, 80.x, 81.x, 83.x
- GeckoDriver версии 0.23.0, 0.26.0
При использовании ChromeDriver я гарантирую следующее: -
a. На ноутбуке B селен jar сервера и веб-драйвер [chromedriver] хранятся в одной папке
b Я включил путь к этой папке в системную переменную среды PATH на ноутбуке B
c .TestNG аннотированный тест класс: -
@BeforeClass
public void beforeClass() throws MalformedURLException, InterruptedException {
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setCapability("browserName", "chrome");
chromeOptions.setCapability("browserVersion", "81.x.x"); //76.x,80.x,81.x,83.x
chromeOptions.setCapability("platformName", "WIN10");
webdriver = new RemoteWebDriver(new URL("http://192.168.1.9:5555"), chromeOptions);
}
В результате браузеры не запускаются на ноутбуке B и тесты не запускаются
Я искал в Интернете (включая Stackoverflow), но не смог найти решение этой ошибки. Любые материалы будут высоко оценены