1

我在 PhantomJS 和 Linux 系统上的 Chromium 中成功运行了我的 DalekJS 测试(0.0.8)。

但我对 Chromium 有一个小问题。

运行测试后,dalek 进程不会退出。我只能使用 Ctrl+C 或手动关闭 Chrome 来结束它。

我想实现一个自动测试系统。因此,如果测试过程能够像使用 phantom 或使用 saucelabs 驱动程序那样退出,那就太好了。

我能做些什么吗?

编辑:从详细日志中,我看到发出了“dalek-browser-chrome:关闭 ChromeDriver”。所以kill代码在我的Debian 7上不起作用。

谢谢!

4

1 回答 1

2

我帮自己做了一个快速而肮脏的修复。

看起来代码无法识别所有要杀死的 chrome 进程。许多被检查的 pid 和 processID 是“未定义的”。也许这与我在 Debian 7.4 x86 系统上使用 Chromium 的事实有关。

肮脏的解决方法是将以下代码添加到 dalek-browser-chrome 模块的 index.js 中,在函数 _checkProcesses() 的第 599 行,就在注释“//kill leftover chrome browser processes”下:

if (process.platform != 'win32'){
    cp.exec('pkill -f /usr/lib/chrom');
}

当然,这会杀死所有 Chromium 实例。不仅是由 DalekJS 产生的那些。但对于我的用例来说,这已经足够了。

于 2014-03-28T19:23:13.153 回答