【问题标题】:Spectron opens Empty terminals during test runSpectron 在测试运行期间打开空终端
【发布时间】:2018-08-22 17:34:32
【问题描述】:

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

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

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

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

【问题讨论】:

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


【解决方案1】:

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

显然,被介绍为workaround for Spectron on Windows

用 go 编写的启动程序二进制文件经常被标记为木马或病毒。一个简单的 bat 文件应该被视为更无害。有关问题以及此 bat 文件,请参阅 #93

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      也许重新编写launcher.bat 以使用启动命令? 类似:

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

      只是目不转睛。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-12
        • 1970-01-01
        • 2019-05-16
        • 2015-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多