Windows7下Firefox+Eclipse自动化测试遇VR路径及JS警告问题
我来帮你梳理这两个问题的解决方案,都是测试中常见的小问题,不用太担心:
问题1:
Unable to read VR Path Registry 异常 这个异常是因为geckodriver和Firefox交互时,会尝试读取VR相关配置文件,但你的系统没安装OpenVR(也没生成对应配置文件),所以抛出了这个错误。重点:这个异常完全不影响测试用例执行,只是日志会显示而已。
如果想彻底消除这条日志,试试这两个方法:
- 方法一:设置系统环境变量
新建系统环境变量OPENVR_PATH_REGISTRY,值随便填一个不存在的路径(比如C:\dummy\openvrpaths.vrpath),这样geckodriver读取时就不会报错了。 - 方法二:代码中禁用Firefox的VR支持
初始化FirefoxDriver前,通过FirefoxOptions添加禁用VR的偏好,Java示例代码:FirefoxOptions options = new FirefoxOptions(); // 关闭VR相关功能 options.addPreference("dom.vr.enabled", false); options.addPreference("dom.vr.oculus.enabled", false); WebDriver driver = new FirefoxDriver(options);
问题2:moment.js的
unreachable code after return 警告 这个警告来自moment.min.js第6行,是旧版本moment.js压缩时的小问题——压缩后的代码里存在return语句之后的冗余代码,同样不会影响页面功能和测试执行,只是控制台会输出警告。
解决方式有这些:
- 方法一:屏蔽JavaScript控制台警告
要是只是不想在Eclipse控制台看到这条警告,可以在FirefoxOptions里关闭控制台的JavaScript警告显示:options.addPreference("javascript.options.showInConsole", false); // 也可以精准屏蔽警告类日志 options.addPreference("devtools.webconsole.filter.warn", false); - 方法二:升级moment.js版本
你用的是搭配DateRangePicker的moment.min.js v2.1.17,版本比较旧了,建议升级到moment.js最新稳定版(比如v2.29.x),新版本的压缩代码已经修复了这类冗余问题。如果是DateRangePicker依赖的,可以换用搭配新版moment的DateRangePicker包。 - 方法三:用未压缩版调试(可选)
要是想确认具体问题,可以替换成未压缩的moment.js文件查看代码,但一般没必要,因为不影响功能。
内容的提问来源于stack exchange,提问作者Ziaullah Indhar
相关产品推荐
相关产品推荐

