无法从

时间:2018-04-02 06:34:42

标签: java selenium selenium-webdriver intellij-idea geckodriver

  • 版本:geckodriver-v0.20.0-win64
  • 平台:Windows 10 Home Single
  • 浏览器:Firefox:59.0.2(64位)
  • 硒: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 个答案:

答案 0 :(得分:3)

使用 GeckoDriver v0.20.0 Firefox Quantum v59.0.2(64位),您的代码块看起来不错,而且日志堆栈跟踪看起来同样非常好em>日志消息:

Promise rejected while context is inactive: Message manager disconnected

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

解决方案

  • 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?

更新

好吧,正如我在我的回答中提到的,根据当前的实现,你的堆栈跟踪 fair 就足够了。但我个人没有在我的 localhost 上看到这个跟踪:

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的一部分,它实际上并不承认领域在某种意义上需要消失的可能性,因此甚至没有提出这样的问题。 / p>

因此,结论是你可以提前比赛