2013-10-18 136 views
3

我们正在开发一个新的web项目,它将使用JavaScript,特别是angularJs。 NodeJs也将被使用。我正在寻找使用JavaScript构建的Web项目的“E2E测试”自动化方面的最佳实践。Javascript的测试框架

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

由于管理原因,纳入“报告工具”也是一个优点。有没有用于JavaScript自动化测试的报告工具?

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

自由和开放源代码工具是强制性的。

回答

4

我真的觉得你想看看Karma您的具体情况。它实际上是由Angular.js团队创建的。它也是一款非常受欢迎的移动支持测试运行者。

同时,你也可能想Istanbul融入噶代码覆盖。

+1

角移动端到端测试他们的新项目量角器。 –

+1

量角器仅与Angular应用程序耦合。 Karma不是,而且仍然非常可行。所以每个人都有优点和缺点。留给OP做出他/她的判断,而不是用简单的downvote来执行你自己的判断。我提供的信息没有错,更不用说“极其潦草”或“危险地不正确”。所以你应该扩大你的技术知识,并在downvoting之前学习社区规则:http://stackoverflow.com/help/privileges/vote-down。 – Vidya

+0

海报明确提到了AngularJS。 AngularJS的文档特别说明了这一点(http://docs.angularjs.org/guide/dev_guide.e2e-testing顶部以粗体显示)。 @ tennisgent的答案是更正确的,所以我投了赞成票并低估了你的答案。我看到它的方式,你的回答是不正确的。更新它,我将删除downvote。最后,我不确定我的技术知识如何影响我在这种情况下的倒退。 –

6

要更新@维迪亚的回答,角队实际上是开发一个叫做Protractor一个新的终端到终端的测试框架。它应该与新版本的Angular 1.2一起发布。它有一些非常棒的功能,并且建立在Selenium的WebDriver上。

它内置集成运行您的端到端测试套件在Sauce Labs它有一些伟大的报告工具,并会做记录测试运行的屏幕录像,以便您可以稍后回去看看测试无法看到出了什么问题。他们还提供了一系列不同的移动设备仿真器,您可以对套件进行测试,以便您可以同时测试桌面和移动浏览器。

至于实际的“测试覆盖率”报告,它可以是很难当你在做端到端测试,因为你没有真正编写测试覆盖特定代码陈述或控制器或函数来执行,而是你的测试该网站的功能。所以我实际上没有发现任何有助于做E2E测试覆盖的插件/框架。如果有人有任何想法,我很乐意听到他们。

但是用量角器和酱实验室的结合,我们已经与我们的测试是如何执行的,我们是能够与我们的部分很少的努力找回分析真的很开心。希望有所帮助。

0

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

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

我从TestCafe团队的开发人员,所以随时问我,如果您有任何疑问