当前位置:  开发笔记 > 编程语言 > 正文

为什么选择JavaScript作为UI测试自动化的语言?

如何解决《为什么选择JavaScript作为UI测试自动化的语言?》经验,为你挑选了1个好方法。

诸如Protractor之类的JavaScript UI自动化框架涉及异步执行,承诺,回调,匿名函数等,这对于像UI测试自动化这样的直接任务来说可能是一种过度杀伤,这基本上是一种顺序活动,如查找对象并对其执行操作.

如果我们可以在非基于JavaScript的自动化框架中处理AngularJS /其他前端Web应用程序开发JavaScript框架页面,那么我们为什么要选择JavaScript框架呢?

或者可以使用像ruby/python这样的语言中的量角器等框架移植,它们简单,可读,用户友好,因此更适合UI测试自动化?

注意:我并不反对JavaScript或其像Protractor这样的框架(实际上我已经成功地使用量角器为多个大型项目设计了自动化框架),但是我想理解选择JavaScript作为测试自动化语言的权衡吗?



1> AdityaReddy..:

我在下面解释了一个案例研究Proractor优于Java-Selenium的优势,用于测试AngularJs应用程序

但您可以将此作为一般规则应用于基于Javascript的框架如何比其他框架更好地理解Angular.这是我的博客文章的摘录

这回答了测试工程师的永恒问题.

1.为什么我们要从Java-Selenium迁移到NodeJs-Protractor?

2.值得努力吗?

3.量角器提供的更多?

4.关于量角器的重大事项是什么?

你对代码中的所有等待和睡眠感到沮丧吗?

这些是Protractor提供的优于Selenium的优势

1.了解角度生命周期

Protractor是由创建AngularJs的人制作的,它理解并等待AngularJs被引导.这些应用程序在后台运行很多,浏览器中没有任何可见的行为变化,让Selenium理解和同步生活地狱.这样做的脚本硒最终会有笨拙的等待和睡眠.

browser.waitForAngular() 这指示webdriver等待Angular完成呈现并且在继续之前没有未完成的$ http或$ timeout调用.

请注意,Protractor会在每次WebDriver操作之前自动应用此命令.

2.提供额外的元素检测技术

量角器提供角度特定定位器策略.它们提供了通过角度模型,绑定,ng选项选择元素以及在ng-repeat内查找元素的选项.

"应用程序"页面上的HTML元素:


Sachin
Tendulkar

量角器中的元素位置 element(By.binding('user.firstName'))

Selenium中的元素位置:在Selenium中没有唯一的方法来识别这个元素,并且必须依赖于识别任何唯一的相邻元素并提供相对路径.

Protractor提供了一些额外的元素定位技术

binding – Find an element by text binding. exactBinding – Find an element by exact binding. model – Find an element by ng-model expression. buttonText – Find a button by text. partialButtonText – Find a button by partial text. repeater – Find elements inside an ng-repeat. exactRepeater – Find an element by exact repeater. cssContainingText – Find elements by CSS which contain a certain string. options – Find an element by ng-options expression. deepCss – Find an element by css selector within the Shadow DOM.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有