System.InvalidOperationException: неизвестная ошибка: Runtime.evaluate выбросило исключение: ошибка DOMException при использовании Azure и Selenium через C # - PullRequest
2 голосов
/ 25 октября 2019

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

Примечание: у меня нет реализации метода запуска драйвера chrome, так как я ссылаюсь на dll другого решения, которое имеет абстрактные методы.

Stack: NUnit,C #, Selenium, Visual Studio, Azure, log4Net

OneTimeSetUp: Automation.Test.Framework.Models.Exceptions.AtGenericException: ошибка при инициализации WebDriver Chrome ----> System.InvalidOperationException: неизвестноошибка: Runtime.evaluate бросил исключение: DOMException: не удалось прочитать свойство 'localStorage' из 'Window': доступ к этому документу запрещен. at: 1: 1 (информация о сеансе: chrome = 77.0.3865.90) ​​(информация о драйвере: chromedriver = 2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91), платформа = Windows NT 6.3.9600 x86_64)

Ответы [ 2 ]

1 голос
/ 25 октября 2019

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

OneTimeSetUp: Automation.Test.Framework.Models.Exceptions.AtGenericException : Error initializing WebDriver Chrome 
System.InvalidOperationException : unknown error: Runtime.evaluate threw exception: DOMException: Failed to read the 'localStorage' property from 'Window': Access is denied for this document. at :1:1 (Session info: chrome=77.0.3865.90) 
(Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 6.3.9600 x86_64)

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

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

  • Вы используете *Хромированный драйвер 1017 * = 2,36
  • В заметках о выпуске Хромированный драйвер = 2,36 четко упоминается следующее:

Поддержка Chrome v63-65

  • Вы используете chrome = 77.0
  • Примечания к выпуску ChromeDriverv77.0.3865.40 четко упоминает следующее:

Поддержка Версия Chrome 77

Так что естьявное несоответствие между ChromeDriver v2.36 и Chrome Browser v77.0


Solution

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

  • ChromeDriver обновлен до текущего ChromeDriver v78.0 уровня.
  • Chrome обновлен до текущего Chrome версии 78.0 уровня. (в соответствии с примечаниями к выпуску ChromeDriver v78.0 )
  • Очистить ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • Если ваша базовая версия Web Client устарела, удалите ее и установите последнюю версию GA и выпущенную версию WebКлиент .
  • Возьмите Перезагрузка системы .
  • Выполните @Test как пользователь без полномочий root .
  • Всегда вызывайте driver.quit() в методе tearDown(){} для закрытия и уничтожения экземпляров WebDriver и Web Client .
0 голосов
/ 25 октября 2019

Думаю, вам следует изменить возможности Chrome по умолчанию, чтобы разрешить сторонние файлы cookie:

Отключение файлов cookie в Webdriver для Chrome / Firefox

...