我通过Azure每日计划运行在远程计算机上运行测试。某些测试失败,错误日志如下。我该怎么解决这个问题?
注意:我没有启动chrome驱动程序的方法实现,因为我引用了其他具有抽象方法的解决方案的dll。
堆栈:NUnit、C#、Selenium、Visual Studio、Azure、log4Net
OneTimeSetUp:自动化测验框架模型。例外情况。AtGenericException:错误初始化WebDriver Chrome---->系统。InvalidOperationException:未知错误:Runtime.evaluate引发异常:DOMException:未能读取"Window"中的"localStorage"属性:拒绝对此进行访问文件时间:1:1(会话信息:chrome=77.0.3865.90((驾驶员信息:chromedriver=2.36.540470(e522d04694c7ebea4ba8821272dbef4f9b818c91(,平台=Windows NT6.3.9600 x86_64(
此错误消息。。。
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浏览器会话。
您的主要问题是您使用的二进制文件版本之间存在不兼容性,如下所示:
- 您使用的是chromedriver=2.36
- chromedriver=2.36的发行说明明确提到以下内容:
支持Chrome v63-65
- 您正在使用chrome=77.0
- ChromeDriver v77.0.3865.40的发行说明明确提到以下内容:
支持Chrome 77版
因此ChromeDriverv2.36和Chrome浏览器v77.0之间存在明显的不匹配
解决方案
确保:
- ChromeDriver更新到当前ChromeDriverv78.0级别
- Chrome更新到当前Chrome 78.0版本。(根据ChromeDriver v78.0发布说明(
- 通过IDE清理您的项目工作区,并仅使用所需的依赖项重建项目
- 如果您的基本Web客户端版本太旧,请将其卸载并安装最新的GA和发布的Web客户端版本
- 进行系统重新启动
- 以非root用户身份执行您的
@Test
- 总是调用CCD_ 3方法中的CCD_;优雅地销毁WebDriver和Web客户端实例
我想你应该更改默认的Chrome功能以允许第三方cookie:
禁用Chrome/Firefox 的网络驱动程序中的Cookie