为什么鼻子测试会在Windows 8上留下孤立的PhantomJS进程?

时间:2015-06-19 10:09:52

标签: python windows selenium phantomjs chocolatey

我在PhantomJS的Windows 8上运行了一些Python Selenium鼻子测试。我通过Chocolatey安装了Chutzpah(PhantomJS)。

当我进行鼻子测试时,一个" ShimGen"进程出现了很多" PhantomJS是一个无头的WebKit,带有JavaScript API(32位)"进程出现并使用50 + mb的内存并且永远不会关闭。这会在内存中导致很多陷入困境的PhantomJS进程。

这最终会导致服务器崩溃。

2 个答案:

答案 0 :(得分:1)

C:\ ProgramData \ chocolatey \ bin 目录中有一个 phantomjs.exe 可执行文件。将其重命名为 phantomjs.exe.bak 并将 C:\ ProgramData \ chocolatey \ lib \ Chutzpah添加到Windows路径,而不是解决了问题。

看来这个exe是bin文件夹中phantomjs可执行文件的填充程序。当调用终止时,我不认为它是由垫片正确处理的。我有想法从这个网址尝试:Choco issue: Shims should terminate the underlying process they are waiting on when they receive a termination signal

如果您想知道,这是编辑Windows路径的方法:

开始>>右键单击计算机>>属性>>高级选项卡>>环境变量:在“系统变量”窗格中,选择“路径”,然后单击“编辑”

答案 1 :(得分:0)

您使用什么版本的choco来安装PhantomJS(以及什么版本的PhantomJS)?我相信我们在大多数情况下都纠正了这个问题,但它是在更新版本的choco上 - 你需要在更新的版本中生成垫片(这意味着安装或升级,但我们正在添加一个垫片regen命令)。