测试Javascript的框架

cat*_*eof 5 javascript automation automated-tests angularjs

我们正处于一个新的Web项目的开始,该项目将使用JavaScript,特别是angularJs.NodeJs也将被使用.我正在寻找自动化"E2E测试"的最佳实践,用于使用JavaScript构建的Web项目.

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

为管理原因纳入"报告工具"也是一个优点.是否有用于JavaScript自动化测试的报告工具?

第三个问题是可能需要使用移动应用程序测试混合方案.例如,UserA在Web浏览器中登录,并与与其iPhone连接的UserB聊天.你怎么能粘上这样的场景?

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

ten*_*ent 7

为了更新@Vidya的答案,Angular团队实际上正在开发一个名为Protractor的新的端到端测试框架.它应该与新版Angular 1.2一起发布.它有一些非常棒的功能,建立在WebDriver for Selenium上.

它具有内置的集成功能,可以在Sauce Labs中运行您的端到端测试套件,它具有一些出色的报告工具,可以记录测试运行的截屏视频,以便您以后可以返回并观看测试失败.看看出了什么问题.它们还提供了许多不同的移动设备模拟器,您可以测试您的套件,以便您可以同时测试桌面和移动浏览器.

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

但是使用Protractor和Sauce Labs的组合,我们对我们的测试如何执行以及我们能够以很少的努力回归的分析非常满意.希望有所帮助.


Vid*_*dya 5

我真的觉得你想看看Karma的情况.它实际上是由Angular.js团队创建的.它是一个非常受欢迎的测试运营商,也有移动支持.

同时,您可能还希望将伊斯坦布尔整合到Karma中以进行代码覆盖.


rya*_*anb 5

+1以上的答案.我只是想补充一下网球队的答案.通过一点点的修修补补,我设法让istanbul覆盖了量角器.我在一个更具体的问题下发布了详细信息.AngularJS中Protractor测试的代码覆盖率