我正在开发一个用AngularJS编写的应用程序。我只是最近才加入这个公司,所以没有参与目前的应用程序的设计或编写。
开发团队正在寻求将自动化测试集成到开发方法/生命周期中,我被赋予了研究测试框架的任务,我们可以在代码中实现/使用这些框架。
我一直遵循https://scotch.io/tutorials/testing-angularjs-with-jasmine-and-karma-part-2的Jasmine/ Karma教程,将Jasmine/ Karma设置为AngularJS应用程序的测试套件,虽然它确实为测试代码提供了一些有用的工具/方法,当然也可能有用,但在本教程中,我没有遇到任何情况表明可以使用此框架模拟前端的用户交互,并测试应用程序对用户交互的响应.这就是我们特别想要实现的自动化。
本教程与您一起运行的所有测试似乎都是为了测试编写的代码的逻辑--它们似乎都没有测试用户与前端( web元素)的交互。
我们希望自动化这个测试的原因是,当我们添加新的特性/修复bug&将版本提供给我们的客户时,我们需要每次在前端测试所有的东西,以确保我们所做的任何更改都没有破坏客户端正在使用/需要使用的任何东西。如果我们能够针对我们发布的每个版本的软件运行一批脚本,来测试所有在不同版本之间没有变化的前端元素,这将节省我们大量的时间和精力。
是否有一种方法可以让我使用Jasmine/ Karma来完成这个任务,或者是否有另一个更适合于专门测试用户与应用程序交互的工具?
发布于 2017-09-20 09:58:58
Jasmine+Karma组合通常用于JavaScript应用程序的单元测试。
但是,您正在描述涉及用户交互的测试,这意味着一个端到端的测试工具。而且,有一个是专门为AngularJS应用程序开发的(尽管应用程序不必基于AngularJS )-- Protractor。
Protractor基本上是围绕WebDriverJS - javascript selenium绑定的一个方便的、功能丰富的包装器。其中一件事,使它的独特之处是,它有“同步”之间的量角器和角度之间的测试期间,您的测试。大多数情况下,它有助于避免在测试中添加额外的等待。除此之外,还有多个特定于AngularJS的定位器,比如by.model或by.repeater,您可以使用它们来定位页面上的元素。
https://sqa.stackexchange.com/questions/29690
复制相似问题