首页 文章

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

提问于
浏览
6

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

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

3 回答

  • 0

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

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

    使用PhantomJS而不是真正的浏览器的优点和缺点

    Pros:

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

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

    Cons:

    • PhantomJS中有大量未决问题

    • 虽然e2e和UI测试主要用于复制用户行为,但PhantomJs并不完全是这样做的

    • 很少有PhantomJS失败但其他驱动程序完美运行的情况 .

    如果您打算这样做,

    • Protractor团队会直接阻止您使用PhantomJS .
  • 2

    如果你和Chrome一样,那么你应该运行Chrome .

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

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

    底线:Blink = / = Webkit . 与Chrome一起使用 .

  • 3

    PhantomJS有许多未决问题,项目缺乏积极的开发使情况更加困难 . 很多网站都没有加载PhantomJS .

    你可以试试Chrome Headless . https://developers.google.com/web/updates/2017/04/headless-chrome

    你可以获得PhantonJS的无头性和Chrome的主流性 . 两全其美 .

相关问题