SessionNotCreatedException: сеанс не создан, исключение из неизвестной ошибки: Runtime.executionContextCreated имеет недопустимый «контекст» с драйвером Chrome - PullRequest
0 голосов
/ 15 ноября 2018

Runtime error

Actual Code

Трассировка стека ошибок (Обновлено из комментариев):

Starting ChromeDriver 2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067) on port 7778 Only local connections are allowed. 
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created exception from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"961185F0AA38D24650EF6C797BC32535","isDefault":true,"type":"default"},"id":1,"name":"","origin":"://"} 
(Session info: chrome=70.0.3538.102) 
(Driver info: chromedriver=2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 1.68 seconds Build info: version: '3.141.5', revision: 'd54ebd709a', time: '2018-11-06T11:58:41' 
System info: host: 'LTAH024', ip: '192.168.131.142', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_60' 
Driver info: driver.version: ChromeDriver

Я написал простую программу для запуска браузера Chrome.Пожалуйста, смотрите код ниже.Я уже установил путь в переменной среды:

package automationFramework;

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

public class ChromeBrowser {

  public static void main(String[] args) {
    // TODO Auto-generated method stub

    WebDriver drive = new ChromeDriver();

    drive.get("http://toolsqa.com/selenium-webdriver/running-tests-in-chrome-browser/");

    System.out.println("Successfully open tools qa website in Chrome browser");
    //Thread.sleep(5000); //To initiate thread , we need to add throws interrupt exception

    //Close the driver
    //driver.quit();
  }
}

Пожалуйста, посмотрите на это и помогите мне.То же самое geckodriver для Firefox работает.

Ответы [ 3 ]

0 голосов
/ 15 ноября 2018

Три способа открыть Браузер Chrome:

Первый: использование system.setproperty

System.setProperty("webdriver.chrome.driver", "F:\\New folder\\chromedriver.exe");
Webdriver driver = new ChromeDriver();

Второй: использование параметров Chrome:

//set path to chromedriver.exe

        ChromeOptions options = new ChromeOptions();
        options.setAcceptInsecureCerts(true);
        options.setBinary(new File("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"));
        options.addArguments("disable-infobars");
        System.setProperty("webdriver.chrome.driver", "F:\\New folder\\chromedriver.exe");

        driver = new ChromeDriver(options);

Последнее: если вы используете maven, используйте

. Это загружает последнюю версию драйвера Chrome и запускает ее.Вы можете использовать WebDriverManager, используя зависимость bonigarcia.Добавьте зависимость Bonigarcia в свой файл Pom.xml и начните использовать его через WebdriverManager

https://github.com/bonigarcia/webdrivermanager

WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();

Наконец, какая версия для вашего драйвера Gecko и Firefox?

0 голосов
/ 15 ноября 2018

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

Starting ChromeDriver 2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067) on port 7778 Only local connections are allowed. 
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created exception from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"961185F0AA38D24650EF6C797BC32535","isDefault":true,"type":"default"},"id":1,"name":"","origin":"://"} 
(Session info: chrome=70.0.3538.102) 
(Driver info: chromedriver=2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 1.68 seconds Build info: version: '3.141.5', revision: 'd54ebd709a', time: '2018-11-06T11:58:41' 
System info: host: 'LTAH024', ip: '192.168.131.142', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_60' 
Driver info: driver.version: ChromeDriver

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

У вас точно 3 проблемы, и вашей главной проблемой является несовместимость между используемой вами версией двоичных файлов:

  • Вы используете chromedriver = 2.2.20
  • Примечания к выпуску chromedriver = 2,20 четко упоминает следующее:

Поддержка Chrome v43-48

  • Вы используете хром = 70.0
  • Примечания к выпуску ChromeDriver v2.43 четко упоминает следующее:

Поддержка Chrome v69-71

  • Ваша Selenium Client * Версия 1054 * является текущей версией 3.141.5 ..
  • Ваша версия JDK - это 1.8.0_60 , что довольно древний .

Таким образом, существует явное несоответствие между JDK v8u60 , Selenium Client v3.141.5 , ChromeDriver v2.20 и Chrome Browser v70 0,0

Решение

  • При использовании Selenium v3.x клиентов необходимо загрузить последнюю версию ChromeDriver с ChromeDriver - WebDriver для Chrome сохраните его где-нибудь в вашей системе и укажите абсолютный путь строки ChromeDriver - System.setProperty() следующим образом:

    System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
    
  • Обновление JDK до последних уровней JDK 8u191 .

  • Обновление ChromeDriver до текущей ChromeDriver v2.43 уровень.
  • Сохранить Chrome версия между Chrome v69-71 уровнями. ( в соответствии с примечаниями к выпуску ChromeDriver v2.43 )
  • Очистите ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • ( только для WindowsOS ) Используйте инструмент CCleaner , чтобы стереть все рутинные операции ОС до и после выполнения Test Suite .
  • ( только для LinuxOS ) Освободить и освободить неиспользуемую / кэшированную память в Ubuntu / Linux Mint до и после выполнения Test Suite .
  • Если версия вашего базового веб-клиента устарела, удалите ее через Revo Uninstaller и установите последнюю версию GA и выпущенную версию Web Клиент .
  • Возьмите Перезагрузку системы .
  • Выполните свой @Test.
  • Всегда вызывайте driver.quit() в методе tearDown(){} для закрытия и уничтожения WebDriver и Веб-клиента экземпляров изящно.
0 голосов
/ 15 ноября 2018

Загрузите драйвер chrome , сохраните его по месту и укажите путь к System.setProperty, попробуйте приведенный ниже код, надеюсь, это поможет.

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

public class ChromeBrowser {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "B:\\chromedriver.exe"); //put driver path here
        WebDriver drive = new ChromeDriver();

        drive.get("http://toolsqa.com/selenium-webdriver/running-tests-in- chrome-browser/");
        System.out.println("Successfully open tools qa website in Chrome browser");
        drive.quit();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...