无法从中读取VR Path Registry

  • 版本:geckodriver-v0.20.0-win64

  • 平台:Windows 10 Home Single

  • 浏览器:Firefox:59.0.2(64位)

  • Selenium:selenium-java-3.11.0

  • intelliJ Idea:2018.1社区版

您好,我开始在intelliJ IDEA中使用带有Java的WebDriver . 我使用Maven导入了Selenium,并使用Selenium网页中提供的代码添加了依赖项 . 我下载了geckodriver并更新了Windows路径 . 我开始编码,但我得到的输出在我看来是一个错误 . 有人可以帮我理解发生了什么吗?

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class firstTry {
   public static void main (String [] args){
       WebDriver driver = new FirefoxDriver();
       driver.quit();
   }
}

Firefox打开和关闭没有问题,但在控制台中我有一个输出似乎是一个错误给我 . 如下:

1522649487586   geckodriver INFO    geckodriver 0.20.0
1522649487598   geckodriver INFO    Listening on 127.0.0.1:31435
1522649488194   mozrunner::runner   INFO    Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-profile" "C:\\Users\\Lolaika\\AppData\\Local\\Temp\\rust_mozprofile.0neo1vgzqEe7"
Unable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
1522649490188   Marionette  INFO    Enabled via --marionette
Unable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
1522649494926   Marionette  INFO    Listening on port 54726
1522649495670   Marionette  WARN    TLS certificate errors will be ignored for this session
abr 02, 2018 1:11:35 A.M. org.openqa.selenium.remote.ProtocolHandshake createSession
INFORMACIÓN: Detected dialect: W3C
1522649495872   addons.xpi  WARN    Exception running bootstrap method shutdown on activity-stream@mozilla.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIObserverService.removeObserver]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: resource://activity-stream/lib/SnippetsFeed.jsm :: uninit :: line 125"  data: no] Stack trace: uninit()@resource://activity-stream/lib/SnippetsFeed.jsm:125 < onAction()@resource://activity-stream/lib/SnippetsFeed.jsm:141 < _middleware/</<()@resource://activity-stream/lib/Store.jsm:51 < Store/this[method]()@resource://activity-stream/lib/Store.jsm:30 < uninit()@resource://activity-stream/lib/Store.jsm:153 < uninit()@resource://activity-stream/lib/ActivityStream.jsm:274 < uninit()@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Program%20Files/Mozilla%20Firefox/browser/features/activity-stream@mozilla.org.xpi!/bootstrap.js:80 < shutdown()@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Program%20Files/Mozilla%20Firefox/browser/features/activity-stream@mozilla.org.xpi!/bootstrap.js:196 < callBootstrapMethod()@resource://gre/modules/addons/XPIProvider.jsm:4419 < observe()@resource://gre/modules/addons/XPIProvider.jsm:2279 < GeckoDriver.prototype.quit()@driver.js:3270 < despatch()@server.js:557 < execute()@server.js:531 < onPacket/<()@server.js:506 < onPacket()@server.js:505 < _onJSONObjectReady/<()@transport.js:500
[Child 2272, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 2272, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/cUnable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
Promise rejected while context is inactive: Message manager disconnected
[Parent 5308, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 5336, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 5336, Chrome_ChildThread] WARNIN[Parent 5308, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 8788, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 8788, Chrome_ChildThread] WARNING: pipe error: 109*** UTM:SVC TimerManager:registerTimer called after profile-before-change notification. Ignoring timer registration for id: telemetry_modules_ping
[GPU 10500, Chrome_ChildThread] WARN
###!!! [Child][MessageChannel::SendAndWait] Error: Channel error: cannot send/recv
1522649503244   geckodriver::marionette ERROR   Failed to stop browser process
Process finished with exit code 0

我该怎么做才能解决这个问题?

My Workspace

回答(1)

2 years ago

使用GeckoDriver v0.20.0和Firefox Quantum v59.0.2(64位),您的代码块看起来很好,并且日志堆栈跟踪看起来同样非常好,无法记录日志消息:

Promise rejected while context is inactive: Message manager disconnected

根据Mozilla Support Forum中的讨论,此错误似乎是 Privacy Badger . 简而言之,此问题是由未加载/正常工作的扩展引起的 .

解决方案

  • 将JDK升级到最近的级别JDK 8u162 .

  • 将Selenium升级到当前级别Version 3.11.0 .

  • 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目 .

  • 使用CCleaner工具在执行Test Suite之前和之后擦除所有操作系统 .

  • 如果您的基本Firefox版本太旧,请通过Revo Uninstaller卸载它并安装最新的GA和已发布的Firefox版本 .

  • 重新启动系统 .

  • 执行你的 @Test .

tl;博士

Are unresolved promises rejected prior to a window.unload event?


更新

好吧,正如我在我的回答中提到的,根据当前的实现,你的堆栈跟踪是公平的 . 但我个人在本地主机上没有看到这个跟踪:

Promise rejected while context is inactive: Message manager disconnected

粗略的一些痕迹可以依赖于底层OS . 现在正在进行整个讨论Are unresolved promises rejected prior to a window.unload event?底线似乎:

卸载页面的承诺问题(或者通常是未加载页面中的脚本调用)没有被很好地指定并且不能互操作地实现,这是非常真实的 . 另请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=1058695,我们最终在Gecko中放入一些技术上不符合规范的缓解措施,因为技术上遵循规范要求在常见情况下泄漏世界....问题是现在没有关于此事件循环内容的规范,而Promise的规范是ES6的一部分,它实际上并不承认领域在某种意义上需要消失的可能性所以甚至没有什么可以提出这样的问题 .

因此结论是 You are good to race ahead