C# System.InvalidOperationException:未知错误:Runtime.evaluate抛出异常:通过C使用Azure和Selenium时发生DomeException错误#

C# System.InvalidOperationException:未知错误:Runtime.evaluate抛出异常:通过C使用Azure和Selenium时发生DomeException错误#,c#,selenium,google-chrome,selenium-chromedriver,azure-automation,C#,Selenium,Google Chrome,Selenium Chromedriver,Azure Automation,我正在通过Azure每日计划运行在远程计算机上运行测试。某些测试失败,错误日志如下。我怎样才能解决这个问题 注意:我没有启动chrome驱动程序的方法实现,因为我引用了其他具有抽象方法的解决方案的dll 堆栈:NUnit、C#、Selenium、Visual Studio、Azure、log4Net 一次性设置: Automation.Test.Framework.Models.Exception.AtGenericeException:错误 初始化WebDriver Chrome ---->S

我正在通过Azure每日计划运行在远程计算机上运行测试。某些测试失败,错误日志如下。我怎样才能解决这个问题

注意:我没有启动chrome驱动程序的方法实现,因为我引用了其他具有抽象方法的解决方案的dll

堆栈:NUnit、C#、Selenium、Visual Studio、Azure、log4Net

一次性设置: Automation.Test.Framework.Models.Exception.AtGenericeException:错误 初始化WebDriver Chrome ---->System.InvalidOperationException:未知错误:Runtime.evaluate引发的异常:DomeException:未能读取 “窗口”中的“localStorage”属性:拒绝对此属性的访问 文件。at:1:1(会话信息:chrome=77.0.3865.90) (驾驶员信息:chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),平台=Windows NT 6.3.9600 x86_64)


我猜您应该更改默认的Chrome功能以允许第三方cookie:

此错误消息

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无法启动/生成新的网络浏览器,即Chrome浏览器会话

您的主要问题是所使用的二进制文件版本之间的不兼容,如下所示:

  • 您使用的是chromedriver=2.36
  • 的发行说明明确提到以下内容:
支持Chrome v63-65

  • 您使用的是chrome=77.0
  • 的发行说明明确提到以下内容:
支持Chrome 77版

因此,ChromeDriver v2.36和Chrome浏览器v77.0之间存在明显的不匹配


解决方案 确保:

  • ChromeDriver已更新到当前级别
  • Chrome更新到当前的Chrome版本78.0级别。(根据)
  • 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
  • 如果您的基本Web客户端版本太旧,请卸载它并安装最新的GA和Web客户端发布版本
  • 重新启动系统
  • 以非root用户身份执行
    @Test
  • 始终在
    tearDown(){}
    方法中调用
    driver.quit()
    ,以优雅地关闭和销毁Web驱动程序和Web客户端实例

您能否共享失败的脚本代码?相同的测试是否在每次运行中都失败?在chromium上发现了这个问题:如果这个/任何答案对您有帮助,请投票给未来的读者。