我们正在使用适用于Chrome的selenium webdriver测试一个非常依赖浏览器/耦合(chrome)的单页应用程序 . 有人建议使用PhantomJS来提高速度,因为它是无头的 .
此Web应用程序也是一个JavaScript密集型胖客户端 . 我想知道使用PhantomJS实现此目的的任何优点或缺点 .
我的观点是PhantomJS对于大型项目来说并不是很成熟 .
我使用ChromeDriver,IE非常 extensively 用于相当大的工资单应用程序 . 我已经探索了PhantomJS的一些测试并探索它的好处 .
使用PhantomJS而不是真正的浏览器的优点和缺点
Pros:
很多人使用PhantomJS,因为它无头,并避免使用真正的浏览器带来额外的开销 .
您可以使用此直接在CI上运行测试,并避免使用Grid Hub关系(或其他类似机制),这种关系有时候很难处理
Cons:
PhantomJS中有大量未决问题
虽然e2e和UI测试主要用于复制用户行为,但PhantomJs并不完全是这样做的
很少有PhantomJS失败但其他驱动程序完美运行的情况 .
如果您打算这样做,
如果你和Chrome一样,那么你应该运行Chrome .
自Blink发布以来,PhantomJS不再运行与Chrome相同的渲染引擎,因此从PhantomJS运行测试无法准确表示您的网站在Chrome上的表现(它可能会有相同的效果,但可能会略有不同) .
此外,PhantomJS可以在Webkit上运行,但它是Webkit的一个非常老的版本 .
底线:Blink = / = Webkit . 与Chrome一起使用 .
PhantomJS有许多未决问题,项目缺乏积极的开发使情况更加困难 . 很多网站都没有加载PhantomJS .
你可以试试Chrome Headless . https://developers.google.com/web/updates/2017/04/headless-chrome
你可以获得PhantonJS的无头性和Chrome的主流性 . 两全其美 .
3 回答
我的观点是PhantomJS对于大型项目来说并不是很成熟 .
我使用ChromeDriver,IE非常 extensively 用于相当大的工资单应用程序 . 我已经探索了PhantomJS的一些测试并探索它的好处 .
使用PhantomJS而不是真正的浏览器的优点和缺点
Pros:
很多人使用PhantomJS,因为它无头,并避免使用真正的浏览器带来额外的开销 .
您可以使用此直接在CI上运行测试,并避免使用Grid Hub关系(或其他类似机制),这种关系有时候很难处理
Cons:
PhantomJS中有大量未决问题
虽然e2e和UI测试主要用于复制用户行为,但PhantomJs并不完全是这样做的
很少有PhantomJS失败但其他驱动程序完美运行的情况 .
如果您打算这样做,
如果你和Chrome一样,那么你应该运行Chrome .
自Blink发布以来,PhantomJS不再运行与Chrome相同的渲染引擎,因此从PhantomJS运行测试无法准确表示您的网站在Chrome上的表现(它可能会有相同的效果,但可能会略有不同) .
此外,PhantomJS可以在Webkit上运行,但它是Webkit的一个非常老的版本 .
底线:Blink = / = Webkit . 与Chrome一起使用 .
PhantomJS有许多未决问题,项目缺乏积极的开发使情况更加困难 . 很多网站都没有加载PhantomJS .
你可以试试Chrome Headless . https://developers.google.com/web/updates/2017/04/headless-chrome
你可以获得PhantonJS的无头性和Chrome的主流性 . 两全其美 .