使用PhantomJS本机而不是Chrome通过webdriver进行QA功能测试有什么优缺点?

时间:2015-04-03 02:59:09

标签: selenium-webdriver phantomjs functional-testing qa

我们正在使用适用于Chrome的selenium webdriver测试非常依赖浏览器/耦合(chrome)的单页应用程序。有人建议使用PhantomJS来提高速度,因为它无头。

此Web应用程序也是一个JavaScript密集型胖客户端。我想知道使用PhantomJS实现此目的的任何优点或缺点。

2 个答案:

答案 0 :(得分:3)

我的观点是PhantomJS对于大型项目来说还不是很成熟。

我已经使用ChromeDriver,IE非常广泛用于相当大的工资单应用程序。我已经探索了PhantomJS的一些测试并探索它的好处。

使用PhantomJS代替真实浏览器的优缺点

<强>优点:

  • 很多人使用PhantomJS,因为它无头,并避免使用真正的浏览器带来额外开销。

  • 您可以使用此方法直接在CI上运行测试,并避免使用Grid Hub关系(或其他类似机制),这种关系有时候很难处理

<强>缺点:

  • PhantomJS

  • 中存在大量待处理问题
  • 虽然e2e和UI测试主要用于复制用户行为,但PhantomJs并不完全这样做

  • 很少有PhantomJS失败但其他驱动程序运行良好的情况。

  • 如果您打算这样做,
  • Protractor团队会直接阻止您使用PhantomJS。

答案 1 :(得分:2)

如果您按照自己的意愿与Chrome配合使用,则应运行Chrome。

自Blink发布以来,PhantomJS不再运行与Chrome相同的渲染引擎,因此从PhantomJS运行测试无法准确表示您的网站在Chrome上的表现(它可能会有相同的效果,但可能会有轻微差异)。

此外,PhantomJS可以在Webkit上运行,但它是Webkit的一个非常旧的版本。

底线:Blink = / = Webkit。使用Chrome。