在 Angular 5 中进行端到端测试的最佳方法是什么?

What's the best method to do end to end test in Angular 5?

我是这项技术的初学者。

我正在使用 Angular 5 作为我正在开发的一个简单应用程序的前端,我想学习如何在 angular5 中使用端到端测试,我发现有很多工具可以到达它。

有茉莉,量角器...

使用起来似乎有点困难,但我想得到一些建议:

端到端测试的最佳工具是什么?

您是否知道任何有用的链接以及简单的操作说明?

我不知道端到端测试最好的工具是什么,但可以根据我的一点经验给出一些建议。

据我所知,端到端测试(e2e)有点像黑盒测试,我们可以运行一个程序来模拟人类使用键盘或鼠标来操作系统。所以没有特定的端到端工具只适用于Angular,也就是说,任何擅长端到端测试的工具都可以用来测试Angular。

但要小心,没有简单的端到端测试工具。当你正在构建一个自动机器来代替人类时,你需要用某种语言写下每一个测试用例,你需要指定操作步骤和期望,你需要测试测试机器本身。即使是最基本的登录界面,你也需要写下测试用例,让它知道用户名输入框在哪里,密码输入框在哪里,以及如何点击登录按钮,另外,记得将cookies保存到服务器发送给您。登录成功,并正确保存cookies后,才能进行下一步。所有这些试机测试都会花费时间,但是随你喜欢。

工具方面,我之前用过Casper.js,你可以google。它在底部包括 phantomjs。有些人可能会喜欢Selenium,而另一些人可能会选择Nightwatch。但是 none 这些工具很简单。最好的办法是尝试下载并编写一些简单的测试用例自己尝试。

更新:Protractor 应该是 Angular 应用程序的最佳工具。

Protractor 绝对是为 Angular.js 应用程序编写端到端测试的一个选项。该框架的诞生是由于 Selenium 无法处理 JavaScript 框架,例如 Angular.js。它是专门测试 Angular 和 Angular JS 应用程序的端到端测试框架。它内置了一些功能来识别这些应用程序中不同类型的元素。该框架最酷的功能之一是它支持并行测试,您可以在其中同时 运行 多个浏览器实例。

尽管量角器具有很好的网络自动化功能,但它也有其局限性。它仅支持 JavaScript 和自动化 Angular.js 应用程序。它不支持移动应用程序,也不为其他 JavaScript 框架提供强大的支持。如果您的团队决定在不久的将来使用不同的 JavaScript 库,这一点尤为重要。

目前,我正在开发一个名为 Testim 的工具,它可以帮助任何人为 Angular.js、Vue.js、Ember.js、React.js 构建强大的自动化套件和其他 JavaScript 框架。

Testim 是一种基于 AI 的 Web 自动化工具,用于编写、执行和维护专注于 GUI 测试和端到端测试的测试。我们在引擎盖下有一个 AI,它实时分析所有 DOM 对象并提取所有对象树和属性。基于此,它创建了一个位置策略列表。它基于此列表选择定位元素的最佳方式。这种策略称为动态定位器策略。这就是我们的 AI 的工作方式。这是我们实现的算法。您的 运行 测试越多,它就会变得越智能,从而使您的测试更加稳定。

您可以查看以下博文了解更多信息。 https://blog.testim.io/bringing-simplicity-to-authoring-and-execution-of-automated-tests/