【发布时间】:2017-06-05 14:27:54
【问题描述】:
JavaScript UI 自动化框架(如 Protractor)涉及异步执行、承诺、回调、匿名函数等,这对于 UI 测试自动化等直接任务来说可能是过度杀伤力,这基本上是一个顺序活动,如查找对象并执行对其进行操作。
如果我们可以在非基于 JavaScript 的自动化框架中处理 AngularJS/其他前端 Web 应用程序开发 JavaScript 框架页面,那么我们为什么要使用 JavaScript 框架?
或者可以将量角器等框架移植到 ruby/python 等语言中,这些语言简单、易读、用户友好,因此更适合 UI 测试自动化?
注意:我并不反对 JavaScript 或其像 Protractor 这样的框架(事实上我已经成功地使用 protractor 为多个大型项目设计了自动化框架),但我想了解选择 JavaScript 作为测试自动化语言的权衡?
【问题讨论】:
-
好吧,如果您使用 javascript,在大多数情况下,它是一种您已经熟悉的语言。那么为什么要选择像java这样的语言,你可能知道得更糟呢?坚持使用您熟悉和使用的语言。
-
你的问题非常模糊,你想知道什么?如果你想广泛地测试 AngularJS,Protractor 可以很好地协同工作。您想到了哪些替代方案?
-
我们实际上有一个单独的测试自动化团队为我们的 Angular 应用程序编写测试。 Protractor 实际上可以用 Java 等其他语言编写。我真的错过了这个问题的重点。
-
Mathias,我想了解我们为什么要使用 JavaScript 作为 UI 测试自动化语言?
-
如果您的前端或后端是用 Javascript (Node.js) 编写的,我认为为您的测试选择 Javascript 是有意义的。开发人员已经熟悉该语言,并且他们已经在用 Javascript 编写单元测试。因此,为浏览器级别的自动化选择 Javascript 是轻而易举的事。对我来说更有趣的问题是为什么 Protractor 中的每个方法都用 Promise 实现。对于大多数时候需要在页面上定位元素并对其执行某些操作的框架来说,这似乎有点过头了。
标签: javascript protractor automated-tests ui-automation