如何使用PhantomJS使用Capybara规格的最新Webkit版本



一位开发人员告诉我,PhantomJS使用了旧版本的Webkit,这使他无法始终相信使用PhantomJS运行Capybara规范所得到的结果。

据我所知,PhantomJS是运行Capybara规格的最佳无头浏览器。我找到的这个设置的唯一替代方案是:

  • 使用Capybara Webkit,从评论来看,它有更多意想不到的失败和行为。

    http://behindthefandoor.fandor.com/2014/03/02/automated-testing-clinic-follow-up-capybara-webkit-vs-poltergeist-phantomjs/

    http://blog.codeship.com/what-is-phantomjs/

  • 使用硒,从研究来看,硒似乎也存在非确定性/无帮助的故障问题

鉴于这些信息,我的问题是:

  • 有没有办法将PhantomJS中的Webkit版本更新到最新版本?

  • 如果上一个问题的答案是否定的,那么PhantomJS是否有使用最新版本Webkit的替代方案?

Phantom 1.9(及更早版本)使用了几年前的webkit版本(大致相当于Chrome 13),而刚刚发布的Phantom 2.0使用了2014年年中发布的webkit。

它们支持的HTML5功能数量之间有很大的差异,所以几乎可以肯定你的朋友指的是Phantom 1.9。切换到Phantom 2.0应该是你所需要做的。或者,换一种说法,如果你的网站需要一些Phantom 2.0不支持的API,你就生活在边缘,应该考虑提供polyfill。

如果您想自己更新版本,答案是可能。请记住,PhantomJS团队花了一年多的时间才发布了PhantomJS2的新WebKit版本。

您可以使用xvfb无头地使用任何浏览器。

最新更新