洗清UI自动化鸡肋说的不白之冤
人类文明发展的一个重要标识是工具的诞生,当人类开始制作工具来提高生产力时,就逐渐拉开了与其他生物的距离。曾在2013年,《Google如何测试软件》中提到的分层自动化金字塔,轰动业界。而在互联网时代的今天,标识着测试技术重要进步的产物——自动化工具,也在逐渐推陈出新地用各种工具拉开企业间的差距。
图解: Unit代表单元测试,Service代表服务集成测试,UI代表页面级的系统测试;其中UI自动化,以其高度模拟用户真实场景的测试方式,备受广大测试人员的关注。但其高投入低产出的性价比,却让维护人员备受煎熬,让很多研发团队打退堂鼓,诸如以下三大难题:
1)人员:需要有一定代码基础的测试人员,根据不同UI框架,人员的代码要求也都不同;
2)环境:编码UI自动化需要的IDE(开发环境软件)安装复杂,以pwatir为例,需要装java、ruby、mysql,修改环境变量等一系列复杂操作,顺利情况也至少需要几小时;
3)编码/调试过程:与真实页面场景脱离,需要来回切换编码,操作不方便;
难怪业界有不少人说,UI自动化如同鸡肋。
UI自动化如何摆脱这个尴尬的处境,为企业提效呢?
阿里云效平台,通过项目流程管理和专项自动化提效工具,最终实现24小时持续集成、持续交付,旗下的UI自动化测试工具AUI,就是秉承上手快,易维护的原则,提供了在线的脚本录制、脚本调试与维护等功能,脚本可以在本机回放进行功能测试,云端脚本执行服务可以定时在后台回放脚本进行项目的持续集成,业务功能的回归以及线上功能的监控等。
可以说,AUI是一款创新的WEB-UI自动化测试产品。它是基于selenium框架,有套独特的控件定位算法,用于识别用户的真实操作行为,现已有十几项技术专利。
作为页面自动化脚本录制工具,其基本功能如下:
1)简易的页面元素选择:直接点击选择页面元素。
2)页面中非 HTML 元素的录制(例如:ActiveXObject):在页面展示中运用了很多
ActiveXObejct 控件来实现页面元素,AUI 同样可以录制控件元素。
3)纯录制产生脚本:AUI 中所有的脚本都是自动录制完成,无需手工添加代码语句,降低测试人员对脚本语言的编码要求,并且和手工编写脚本比较,能够更加真实的测试用户使用场景。
4)强大的测试点检查:AUI的检查功能相当完善(例如:页面元素显示,cookie值,页面跳转,在检查页面元素的显示时还可以插入 sql 取数据库中的值来匹配,并支持正则匹配)。
5)页面中 特殊操作事件的录制/检查:AUI 插件中包含了其他录制工具中很少包含的页面操作的录制功能,例如:滚动条滚动事件,可以拖放的页面元素的拖放动作,弹出框,非文本框输入、多级类目等。
6)测试中的数据修改:AUI 可以在测试过程中修改数据,测试异常场景。例如,手动更改一些数据库标志位。
7)脚本支持多浏览器:脚本只需要录制一次就可以在多个浏览器中运行,目前支持 IE、chrome、firefox。
8)高级的扩展功能:自定义命令和插件机制,支持二次开发。
9)详细的失败分类:精细化的失败分类信息,方便精确维护。
除此以外,AUI针对一些复杂场景,设计了系列便捷的功能,最大程度地减少用户的录制和维护成本,例如:
1. 公共脚本
公共脚本:是一种含有权限控制且可被其他脚本引用的脚本。如:重复的登录步骤,就可以录制为公共脚本被其他脚本引用,当登录步骤发生变化时,只用维护该公共步骤即可。
2. 参数化
参数化如同编码中的变量,可将脚本中任意数据用参数代替,目前主要有驱动参数、静态参数、数据库参数、页面参数等,例如:同一功能的多套环境(只是域名不同),可用驱动参数代替页面URL,达到一个脚本测试多套环境的效果。
录制AUI脚本的简单流程:
不难看出,AUI可用于测试同一软件的新版本、版本回归及线上版本主干功能监控。但若结合云效平台的集成自动化,可24小时自动监控发布质量,无需人工介入。当然UI自动化和集成自动化只是云效平台中的一环,如下图所示:
云效平台官网地址:http://yunxiao.aliyun.com
云效平台试用流程:
在线申请——>权限审批——>免费7天试用——>在线技术支持——>回访并提供定制解决方案。
洗清UI自动化鸡肋说的不白之冤的更多相关文章
- 测试自动化:java+selenium3 UI自动化(1) - 环境搭建
1.前言 我大概是在2012年第一次正式接触到自动化测试,那个时候跟随我的团队一起,就当时项目的UI自动化尝试做出了探索. 在我离开那家公司的时候,我们的自动化测试体系仍然难言完美,但是也已经达到了非 ...
- ui自动化笔记 selenium_webdriver,ui自动化框架(web)
Selenium学习笔记 selenium webdriver是业界公认ui自动化测试的标准,其封装的api可以对浏览器的任何地方进行操作 selenium2.0和selenium3.0的区别? 3. ...
- UI自动化,你值得拥有
去年春节联欢晚会,为了那张“敬业福”,全家都卯足了劲儿“咻一咻”,连节目都顾不上看了.当时我就想,要是能自动化该多好,不停点击屏幕,屏幕不疼手还疼呢,何况还不好分心,生怕错过了“敬业福”.玩“咻一咻” ...
- 【Android测试】UI自动化代码优化之路(临时发布, 随时删除)
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5993622.html 关于UI自动化的抱怨 听过不少人这样 ...
- Appium UI自动化的那些梗
@作者 彭海波 转载请注明出处 前言 由于需求的快速迭代和敏捷测试的要求,在测试过程中引入自动化成为必不可少的手段.作为一个互联网测试团队,我们自然也引入了自动化测试这个环节.在众多的测试框架中,我们 ...
- 基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...
- 移动UI自动化-Page Objects Pattern
移动UI自动化,看起来美好,践行起来却难.做个目光短见的务实主义者.Page Objects Pattern是Selenium官方推崇的方式,最近研究写测试用例最佳实践之Page Objects,同时 ...
- WPF界面设计技巧(9)—使用UI自动化布局
原文:WPF界面设计技巧(9)-使用UI自动化布局 最近一直没时间更新这系列文章,因为我一直在埋头编写我的第一个WPF应用程序:MailMail 今天开始编写附属的加密/解密工具,对UI自动化布局有些 ...
- pywinauto处理UI自动化
之前一个项目的特殊性, 以及一些操作权限上的问题,不能使用现有工具进行UI自动化. 在一些资深tester建议下决定采用Python的pywinauto模块来处理Windows控件的UI操作. 1. ...
随机推荐
- [转]了解oracle自治事务
http://blog.csdn.net/indexman/article/details/7799862 1.什么是Oracle自治事务 在官方文档中,是这样的定义的“Autonomous tran ...
- 【linux】cut
vim test id name age score 101 paul 18 100 102 suan 11 99 103 peter 18 98 [root@andon ~]# cut -f 2 t ...
- 关于checkbox的attr无效的问题
jq用了10版本的,一直发现attr无效,查找良久,由同事帮忙解决该问题,感谢. 特记录下该问题. 由于 新版本attr换成了prop的问题. $("input[name='delIds'] ...
- 未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"解决方案
可以到http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede1 ...
- c#无限级分类
data: [ { text: '节点1', icon: myaccount, children: [ { text: '节点1.1', icon: archives }, { text: '节点1. ...
- 【MySQL】技巧 之 count(*)、count(1)、count(col)
只看结果的话,Select Count(*) 和 Select Count(1) 两着返回结果是一样的. 假如表沒有主键(Primary key), 那么count(1)比count(*)快,如果有主 ...
- event 关键字
event(C# 参考) event 关键字用于在发行者类中声明事件.下面的示例演示如何声明和引发将 EventHandler 用作基础委托类型的事件. C# public class SampleE ...
- mac 下使用wireshark监听网络上的数据
分三个步骤: 1.wireshark安装 wireshark运行需要mac上安装X11,mac 10.8的系统上默认是没有X11的.先去http://xquartz.macosfo ...
- NeHe OpenGL教程 第三十七课:卡通映射
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 设置Excel的自动筛选功能
单元格数字格式的问题 NPOI向Excel文件中插入数值时,可能会出现数字当作文本的情况(即左上角有个绿色三角),这样单元格的值就无法参与运算.这是因为在SetCellValue设置单元格值的时候使用 ...