Невозможно подключиться к Chromebrowser 78 в селене - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь запустить мой первый тест на селен и не смог вызвать браузер из-за проблемы с портом. Моя версия браузера Chrome - Версия 78.0.3904.97 (Официальная сборка) (64-разрядная), и я скачал Последний стабильный выпуск: ChromeDriver 78.0.3904.70. Я вижу следующую ошибку, когда запускаю свой скрипт.

Запуск ChromeDriver 78.0.3904.70 (edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs / branch -head / 3904 @ {# 800}) на порту 30211 разрешены только локальные подключения. Пожалуйста, защитите порты, используемые ChromeDriver и соответствующими тестовыми средами, чтобы предотвратить доступ вредоносного кода. [1573154573.453] [ПРЕДУПРЕЖДЕНИЕ]: Превышено время ожидания подключения к Chrome, повторная попытка ... Nov 07, 2019 19:22:56 org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Обнаружен диалект: W3C Исключение в потоке "main" org.openqa.selenium.InvalidArgumentException: неверный аргумент
(информация сеанса: chrome = 78.0.3904.97) Информация о сборке: версия: '3.141.59', редакция: 'e82be7d358', время: '2018-11-14T08: 25:48 '

Я скачал последнюю версию chromedriver exe, совместимую с моей версией Chromebrowser.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class demo1 {

    public static void main(String[] args) {

        //invoke browser
        System.setProperty("webdriver.chrome.driver", 
                "C:\\Users\\270816\\Documents\\Selenium- 
                installations\\chromedriver_win32\\chromedriver.exe");

        //create browser object
        WebDriver driver= new ChromeDriver();

        //hit google.com
        driver.get("www.bbc.co.uk");

Сообщение об ошибке:

Запуск ChromeDriver 78.0.3904.70 (edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs / branch -head / 3904 @ {# 800}) через порт 30211 разрешены только локальные подключения. Защитите порты, используемые ChromeDriver и соответствующими тестовыми средами, для предотвращения доступа вредоносного кода.

Ответы [ 2 ]

0 голосов
/ 11 ноября 2019

Это сообщение об ошибке ...

[1573154573.453][WARNING]: Timed out connecting to Chrome, retrying... 
Nov 07, 2019 7:22:56 PM org.openqa.selenium.remote.ProtocolHandshake createSession 
INFO: Detected dialect: W3C Exception in thread "main" org.openqa.selenium.InvalidArgumentException: invalid argument
(Session info: chrome=78.0.3904.97) Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'

... означает, что ChromeDriver не смог инициировать / порождать новый WebBrowser т.е. Браузер Chrome сеанс.

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

  • Selenium v3.141.59
  • ChromeDriver 78.0.3904.70
  • chrome = 78.0.3904.97

Я подозреваю, что проблема связана с версией JDK в Тестовой системе


Решение

Убедитесь, что:

  • JDK обновлен до текущих уровней JDK 8u222 .
  • Если ваша база Веб-клиент версия устарела, затем удалите ее и установите последнюю версию GA и выпущенную версию Веб-клиент .
  • Возьмите Перезагрузка системы .
  • Выполните @Test как пользователь без полномочий root .
  • Всегда вызывайте driver.quit() в методе tearDown(){}, чтобы закрыть и уничтожить WebDriver и Веб-клиент экземпляров изящно.
0 голосов
/ 07 ноября 2019

проверьте версию Chrome, если она 78.0.3904.87, перейдите по ссылке ниже и загрузите choromedriver по ссылке ниже.

http://chromedriver.chromium.org/downloads?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&showPrintDialog=1

Попробуйте выполнить приведенный ниже код

public class Test1 {

    public static void main(String[] args) throws InterruptedException {
        System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();
        driver.get("https://www.google.com"); // URL in the browser
        driver.manage().window().maximize(); // Maximize the browser



    }
}
...