回答
如果您是在AngularJS项目的工作,选择很简单 - Protractor
:
- 它正在取得专门为角应用(虽然它可以用于非角度应用也是)
- 支持角度特定的定位器策略(如
by.model
,by.repeater
等) - 等待角页面加载时启动(同步)
- 支持角度特定的定位器策略(如
- 它正在积极维护和由谷歌开发者利用角度团队密切合作,主要是提高了 - 这意味着,量角器遵循角度释放周期和新的变化
我也在考虑Nightwatch和量角器,不禁想知道它是否真的如此简单?测试中的Web应用程序的技术选择不应该与端到端测试无关吗?使用角度特定的定位器策略听起来像是将测试与代码紧密结合的切入点。 – KarlPurk 2016-01-14 09:20:38
@KarlPurk我认为我们很快就会走上哲学的道路。量角器只是WebDriverJS的一个方便的包装,有几个非常整齐的Angular特性。这并不意味着您必须使用它们,或者您无法测试其他非角度应用程序。量角器仍然是一个通用的e2e工具,您可以使用它来测试任何Web应用程序的e2e。 – alecxe 2016-01-14 16:44:23
还有一些更多的差异没有列在最上面的答案。
对我来说最大的问题是,量角器不支持phantomJS(http://www.protractortest.org/#/browser-setup#setting-up-phantomjs)。我计划将自动化集成到CI系统中,但使用量角器时,我必须设置一个Windows VM来运行测试。
nightwatch的其他好处:
- 声称是自动完成的。
- 干净的控制台输出,你可以把 关闭任何人。
- 测试报告会自动生成并保存到
/reports
目录。
量角器优点:
- 的角度,具体定位符量角器支持是非常强大的,可以与创造稳定的测试帮助极大。
- WaitForAngular也非常有帮助。
为什么使用phantomjs来测试代码的端到端?另外请注意,许多人通过CI使用了量角器,并且不需要Windows VM。我在Linux上做了很多次。你只需要xvfb来运行它。 – 2018-01-12 16:47:03
其实我不再使用phantomsjs了。 Chrome现在支持无头模式,phantomsjs的维护人员不再更新它。 – 2018-01-29 20:06:33
- 1. 如何使用nightwatch.js和sinon.js使用假定时器?
- 2. 点击使用nightwatch.js
- 3. 的mouseMove不使用Selenium和量角器
- 4. 量角器和$ http.post
- 5. 使用量角器+ Appium + SauceLabs
- 6. 无法使用量角器
- 7. 量角器:使用承诺
- 8. 量角器使用文件://
- 9. 使用量角器设置角模型
- 10. 角度和非角度的量角器
- 11. 量角器中的cli.js 5.0和如何在量角器中配置量角器
- 12. 量角器:无法使用量角器获取所有元素
- 13. 如何使用NodeJS从量角器读取/写入/量角器?
- 14. 量角器 - 如何使用量角器检索'ng-disabled'的值
- 15. 使用量角器和角度运行E2E测试4
- 16. 使用量角器+角度在进行ajax调用时测试事件使用量角器+角度
- 17. Gitlab CI和量角器
- 18. 量角器waitForAngular和angularfire/firebase
- 19. 量角器和for循环
- 20. AngularJS量角器和Socket.IO
- 21. 量角器:使用中继器和正确过滤的问题
- 22. 使用酱和量角器来测试Internet Explorer和safari
- 23. 如何使用量角器测试角度 - 使用选择?
- 24. 困惑量角器V1.4.0“量角器”和“浏览器”的全局变量
- 25. 使用观测量和角度应用
- 26. 如何使用量角器和茉莉花规格中使用全局变量
- 27. 如何使用量角器+角获得迭代器索引/键?
- 28. 如何使用/分开量角器中的枚举,常量和定位器
- 29. 虚拟转发器和量角器
- 30. 使用或不使用无头浏览器运行Karma和量角器测试
这是我正在考虑问的东西(用一种不同的方式),但它并不真正适合SO格式,也不遵循规则。 – alecxe 2014-12-04 20:38:15
你更喜欢哪里? QA StackExchange?我认为要求差异和优势足够客观。 – Atav32 2014-12-04 20:43:33
我宁愿将这个问题的意思解释为:“使用nightwatch.js测试角度应用程序是否有任何缺点或好处?并且关注如果不使用量角器会损失什么 - 可能会使更合适 - 虽然我不确定这一点 - 一旦我得到[我的问题](http://stackoverflow.com/questions/26987238/npm-isntall-command)作为基于意见的封闭 - 仍然不是确定为什么。希望答案有帮助。 – alecxe 2014-12-04 20:58:19