如何在Angular 2中使用Protractor?

45
我使用Protractor与Angular 1.x。 我想逐步迁移到Angular 2.0,但我在文档中没有看到Protractor。
自Angular 2以来,是否已经放弃了Protractor? 我应该使用Jasmine(或其他)而不是使用Protractor编写我的测试吗?

7
没问题,如果你查看playground e2e examples,大部分(如果不是全部)都使用Protractor。我会尽力使翻译通俗易懂并保持原意,但不提供解释或其他信息。 - Eric Martinez
对我来说,那就是一个答案 @EricMartinez - jornare
2
是的,这是一个响应部分,但它是 TS 而不是 JS plain,并且这些文件不是 Protractor 未来的官方状态。但是谢谢,这是一个初始响应。 - JohnnyC
1个回答

42

您可以使用Protractor测试Angular 2应用程序(从Protractor 2.5.0开始)。

对于Protractor 5.0.0+,您无需执行任何特定操作,Protractor会自动检测被测试应用程序中使用的Angular版本

对于Protractor>=2.5.0且<=4.0.14,您只需要在配置中添加useAllAngular2AppRoots: true。这是一个示例


请注意,一些内置的Protractor匹配器可能尚无法与Angular2一起使用,请参见:

还有一个在Firefox中的Protractor+Angular2问题(仍未解决),请参见:


3
如何测试一个混合了Angular 1.x和Angular 2的网站?这是否是一个不支持的使用案例? - rarrarrarrr
1
虽然您可以在目前使用Protractor与Angular 2,但是有几个关键的匹配器无法正常工作,如此帖子所述:https://dev59.com/XFoV5IYBdhLWcg3weevH - michael_hook
这个变更是在 Protractor 5.0.0 中进行的。 - Eric Francis
1
@EricFrancis 谢谢你的更新!我已经更新了答案,如果你认为我们还可以添加其他内容,请告诉我。 - alecxe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接