我们正在使用适用于Chrome的selenium webdriver测试非常依赖浏览器/耦合(chrome)的单页应用程序。有人建议使用PhantomJS来提高速度,因为它无头。
此Web应用程序也是一个JavaScript密集型胖客户端。我想知道使用PhantomJS实现此目的的任何优点或缺点。
答案 0 :(得分:3)
我的观点是PhantomJS对于大型项目来说还不是很成熟。
我已经使用ChromeDriver,IE非常广泛用于相当大的工资单应用程序。我已经探索了PhantomJS的一些测试并探索它的好处。
使用PhantomJS代替真实浏览器的优缺点
<强>优点:强>
很多人使用PhantomJS,因为它无头,并避免使用真正的浏览器带来额外开销。
您可以使用此方法直接在CI上运行测试,并避免使用Grid Hub关系(或其他类似机制),这种关系有时候很难处理
<强>缺点:强>
虽然e2e和UI测试主要用于复制用户行为,但PhantomJs并不完全这样做
很少有PhantomJS失败但其他驱动程序运行良好的情况。
Protractor团队会直接阻止您使用PhantomJS。
答案 1 :(得分:2)
如果您按照自己的意愿与Chrome配合使用,则应运行Chrome。
自Blink发布以来,PhantomJS不再运行与Chrome相同的渲染引擎,因此从PhantomJS运行测试无法准确表示您的网站在Chrome上的表现(它可能会有相同的效果,但可能会有轻微差异)。
此外,PhantomJS可以在Webkit上运行,但它是Webkit的一个非常旧的版本。
底线:Blink = / = Webkit。使用Chrome。