【问题标题】:Testing frameworks for Javascript [closed]Javascript的测试框架[关闭]
【发布时间】:2013-10-27 20:08:22
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: javascript angularjs automation automated-tests


    【解决方案1】:

    我真的认为您想查看Karma 以了解您的情况。它实际上是由 Angular.js 团队创建的。它是一个非常受欢迎的测试运行程序,也支持移动设备。

    同时,您可能还希望将Istanbul 集成到 Karma 中以实现代码覆盖。

    【讨论】:

    • Angular 正在将 E2E 测试转移到他们的新 Protractor 项目中。
    • Protractor 仅与 Angular 应用程序耦合。业力不是并且仍然非常可行。所以各有利弊。把它留给 OP 来做出他/她的判断,而不是用简单的反对票来强制执行你自己的判断。我提供的信息没有错,更不用说“非常草率”或“危险地不正确”。因此,您应该在投票前扩展您的技术知识并学习社区规则:stackoverflow.com/help/privileges/vote-down
    • 发帖人特别提到了 AngularJS。 AngularJS 的文档特别说明了这一点(docs.angularjs.org/guide/dev_guide.e2e-testing 在顶部以粗体显示)。 @tennisgent 的答案更正确,所以我赞成它并反对你的。在我看来,你的答案是不正确的。更新它,我将删除反对票。最后,我不确定我的技术知识对我在这种情况下的否决票有什么影响。
    【解决方案2】:

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

    它具有内置集成,可用于在 Sauce Labs 中运行您的端到端测试套件,它具有一些出色的报告工具,并且会执行诸如录制测试运行的截屏之类的操作,以便您稍后可以返回观看测试看不出哪里出了问题。他们还提供了一系列不同的移动设备模拟器,您可以根据这些模拟器测试您的套件,以便您可以同时测试桌面和移动浏览器。

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

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

    【讨论】:

      【解决方案3】:

      +1 对上述答案。我只是想添加到tennisgent 的答案。通过一点点修补,我设法使用量角器获得了伊斯坦布尔的报道。我在一个更具体的问题下发布了详细信息。 Code coverage for Protractor tests in AngularJS

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          【解决方案5】:

          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

          【讨论】:

            猜你喜欢
            • 2011-09-10
            • 2012-12-25
            • 1970-01-01
            • 2011-02-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-09-20
            • 2010-10-04
            相关资源
            最近更新 更多