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

时间:2018-08-22 17:34:32

标签: electron mocha selenium-chromedriver webdriver-io spectron

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

当前,我使用focus()聚焦到第一个窗口。

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

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

3 个答案:

答案 0 :(得分:0)

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

显然是作为workaround for Spectron on Windows引入的:

  

用go编写的启动器二进制文件经常被标记为木马或病毒。一个简单的蝙蝠文件应该看起来更加无害。有关问题以及此bat文件,请参见#93

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

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

答案 1 :(得分:0)

也许重做launcher.bat以使用启动命令? 像这样:

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

只盯着它。

不确定是否要管理退出失败代码,但是IIRC不会遗留shell。 全面披露,我没有这个应用程序,这是一个直接的答案。希望对您有所帮助。

答案 2 :(得分:0)

focus()与setAlwaysOnTop(true)的组合会有所帮助。

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