5

我们正处于一个新的 Web 项目的开始,该项目将使用 JavaScript,尤其是 angularJs。NodeJs 也将被使用。我正在为使用 JavaScript 构建的 Web 项目寻找自动化“E2E 测试”方面的最佳实践。

最大的担忧是测试框架的选择。我们对单元测试不感兴趣,因为这将是开发组织的任务,但是如果我们可以将这些单元测试合并到新的自动化测试框架中,那将是一个加分项。所以问题是“现在测试 JavaScript 的最佳方法是什么?”

出于管理原因加入“报告工具”也将是一个加分项。是否有用于 JavaScript 自动化测试的报告工具?

第三个问题是可能需要使用移动应用程序测试混合场景。例如,用户 A 登录 Web 浏览器并与连接到他的 iPhone 的用户 B 聊天。你怎么能粘合这样的场景?

免费和开源工具是强制性的。

4

5 回答 5

7

为了更新@Vidya 的答案,Angular 团队实际上正在开发一个名为Protractor的新端到端测试框架。它应该与 Angular 1.2 的新版本一起发布。它有一些非常棒的特性,并且是基于 Selenium 的 WebDriver 构建的。

它具有内置集成,可用于在Sauce Labs中运行您的端到端测试套件,该套件具有一些出色的报告工具,并将执行诸如录制测试运行的截屏视频之类的操作,以便您稍后可以返回并观看测试失败看看出了什么问题。他们还提供了一堆不同的移动设备模拟器,你可以测试你的套件,这样你就可以同时测试桌面和移动浏览器。

至于实际的“测试覆盖率”报告,在您进行 E2E 测试时可能很难做到,因为您并没有真正编写测试来覆盖特定的代码语句或控制器或功能,而是在测试网站的功能。所以我实际上还没有找到任何有助于进行 E2E 测试覆盖的插件/框架。如果有人有任何想法,我很想听听他们的意见。

但是使用 Protractor 和 Sauce Labs 的组合,我们对我们的测试执行方式和分析结果感到非常满意,我们只需付出很少的努力就能得到回报。希望有帮助。

于 2013-10-21T22:14:14.723 回答
5

对上述答案+1。我只是想添加到tennisgent的答案中。通过一点点修补,我设法使用量角器获得了伊斯坦布尔的报道。我在一个更具体的问题下发布了详细信息。AngularJS 中量角器测试的代码覆盖率

于 2014-03-27T00:33:21.667 回答
5

我真的认为你想看看Karma的情况。它实际上是由 Angular.js 团队创建的。它是一个非常流行的测试运行器,也支持移动设备。

同时,您可能还希望将伊斯坦布尔集成到 Karma 中以实现代码覆盖。

于 2013-10-18T21:07:16.877 回答
1

我可以建议看看TestCafe。它是用于测试 Web 应用程序的纯 node.js 端到端解决方案。TestCafe 适合您的所有目标。现在它是最容易安装的框架。您将有机会启动浏览器、运行测试并获取有关测试运行的详细报告。TestCafe 甚至提供了在 Saucelabs 上开始测试的方法。所有这些都包含在 TestCafe 中,开箱即用。

TestCafe 团队计划在多个浏览器窗口中同时执行测试场景(如您聊天的两个用户示例)问题。据我所知,目前没有一个现有框架不支持这种情况。

我是 TestCafe 团队的开发人员,如果您有任何问题,请随时问我

于 2016-11-17T08:55:49.880 回答
0

Turboframework 使用 javascript、jasmine、selenium 并使用 node 运行。您可以在 10 分钟内创建一个测试项目并运行 Web 自动化测试。只需遵循入门指南:

https://turboframework.org/en/blog/2021-03-03/automate-your-web-application-tests-in-less-than-ten-minutes

于 2021-12-28T10:40:13.137 回答