javascript – 使用Protractor和PhantomJS
作者:互联网
我需要E2E测试我的AngularJS应用程序,Protractor似乎是正确的方法.安装非常简单,就像Chrome中的魅力一样.然而,我需要使用无头浏览器并一直在研究如何将Protractor与PhantomJS一起使用,我发现了这个:
Note: We recommend against using PhantomJS for tests with Protractor.
There are many reported issues with PhantomJS crashing and behaving
differently from real browsers.
以上是https://github.com/angular/protractor/blob/master/docs/browser-setup.md
所以我的问题是:
>这仍然是这种情况,而且Proractor仍然存在PhantomJS问题吗?
>如果是这样有多糟糕,还有更好的选择吗?
>当我的应用程序部署到服务器时,我将如何进行E2E测试?
解决方法:
Is this still the case and Protractor still having issues with PhantomJS?
这是非常正确的.
If so how bad is it and is there any better option?
很难回答它有多糟糕,但是有很多关于悬挂幻影,死亡幻影,执行慢速幻影的问题,例如:
> PhantomJS sometimes crashes(公开发行超过一年)
根据这个问题,你使用量角器的主要原因是端到端测试.您应该尝试模仿真实世界的用例,模仿在您的应用程序中工作的真实用户.真正的用户使用什么浏览器? PhantomJS?答案可能是“不”.使用您的应用程序设计用于的浏览器,以及您的真实用户使用的浏览器.
How would I do E2E testing when my app is being deployed to server?
最“自然”的方法是使用提供不同功能的远程selenium服务器 – 浏览器和平台.您可以启动并配置自己的selenium服务器,也可以使用BrowserStack
或Sauce Labs
,它们可以很好地为您提供在各种不同浏览器和系统中测试应用程序的方法.
您还可以在没有真实但虚拟显示(xvfb)的无头“环境”中运行量角器,请参阅更多here.
标签:javascript,angularjs,testing,protractor,end-to-end 来源: https://codeday.me/bug/20190929/1832141.html