Spectron 在测试期间打开空终端 运行

Spectron opens Empty terminals during test run

在执行过程中,spectron 打开了两个空白的终端 windows。第一个 window 是我想要的应用程序,其他 windows 看起来像终端,里面没有任何东西。

目前我使用 focus() 关注第一个 window。

Github 问题 link : https://github.com/electron/spectron/issues/60

有谁知道发生了什么事吗?是 ChromeDriver 问题吗?

我遇到了同样的问题(只是为了澄清,仅在 Windows 上)。

显然,是作为 workaround for Spectron on Windows:

引入的

The launcher binary written in go was frequently marked as a trojan or virus. A simple bat file should seen as more innocuous. See #93 for the problem as well as this bat file.

不幸的是,使用 .bat 文件的结果是 unavoidable spawning of these extra empty consoles

唯一已知的解决方法是使用您提到的 .focus()

也许返工 launcher.bat 以使用启动命令? 类似于:

Start "" "%SPECTRON_NODE_PATH%" "%SPECTRON_LAUNCHER_PATH%" %*

只是目测而已。

不确定如何管理退出失败代码,但 IIRC 不会留下 shell。 完全披露,我没有这个应用程序,这是一个路过的答案。希望对你有帮助。

将 focus() 与 setAlwaysOnTop(true) 结合使用会有所帮助。

 chaiAsPromised.transferPromiseness = app.transferPromiseness;
    return app.start().then( async () => {
      await app.browserWindow.focus();
      await app.browserWindow.setAlwaysOnTop(true);
    });
  });