洗清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):在页面展示中运用了很多
ActiveXObject 控件来实现页面元素,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

技术交流QQ群:101628314

时间: 2024-10-07 19:37:04

洗清UI自动化鸡肋说的不白之冤的相关文章

持续集成实践小结[1] —UI自动化

背景介绍 按照组织上的安排,咱游击到了S产品(一个快速成长中的Web产品)开搞持续集成. 考虑到S产品核心业务单一明确,前端功能简单,业务逻辑主要在后端的特点,制定了持续集成的实施策略: UI自动化为辅,用例少一点,精一点,降低维护成本,用例设计以冒烟和页面跳转,走通业务流程为主,目的是保障一个高可测性的测试环境: 单元测试重点跟进,自顶向下逐步覆盖各层接口,多覆盖各种分支路径,与UI自动化形成互补. 这里有个小插曲,我和S产品的测试负责人关于UI自动化用例的粒度和覆盖度有一些歧义,测试负责人坚

测试运行: 使用Windows PowerShell实现Web UI自动化

Windows PowerShellTM 是一种新型 Microsoft 命令外壳和脚本语言,可用作多种轻型测试自动化的平台.在本月的"测试运行"专栏中,我将向您展示如何使用 Windows PowerShell 通过自动化 Internet Explorer 为所有类型的 Web 应用程序创建快捷简便的 UI 测试自动化.本专栏主要针对初学者,但是经验丰富的工程师也能在此找到一些感兴趣的信息. 开始前,请确保已将要测试的站点添加到 Internet Explorer 中的"

测试运行: 使用Windows PowerShell实现UI自动化

尽管问世时间相对较短,但 Windows PowerShellTM 已经成为我最喜爱的工具之一.我最近发现,Windows PowerShell 拥有创建小型库所需的全部功能,您可以使用这些功能编写超轻型的 UI 自动化代码. 在本月的专栏中,我将介绍如何创建一个小型的自定义 Windows PowerShell cmdlet 集合,以执行 Windows UI 自动化任务.其中包括获得应用程序和控件的句柄.操作控件以及检查应用程序状态.在本次讨论中,我将假设您对 Windows PowerSh

测试运行: Microsoft UI自动化库

可以使用多种技术测试 Windows 应用程序的用户界面.例如,可以使用 System.Reflection 类来测试 Microsoft .NET Framework 应用程序,也可以使用非托管 C++.C# 或者 Visual Basic 通过 P/Invoke 机制调用 Win32 API 函数(例如 FindWindow)来测试 .NET 和本机应用程序. 在本月的专栏中,我将为您介绍如何使用新的 Microsoft UI 自动化库(包含在 .NET Framework 3.0 中,是

基于Macaca的混合H5应用UI自动化进阶

基于Macaca的混合H5应用UI自动化进阶 混合H5应用UI自动化是移动应用自动化中无法绕过的一节,针对混合H5应用的UI自动化入门之前已经写过一篇文章:https://testerhome.com/topics/9651 ,入门的同学可移步学习.本文主要针对H5应用UI自动化高级使用进行一些分享. 如何定位元素 参考上述入门文章:https://testerhome.com/topics/9651 进阶 本文中所涉及的demo示例代码已开源: https://github.com/macac

基于Macaca的混合H5应用UI自动化入门

基于Macaca的混合H5应用UI自动化入门 混合H5应用UI自动化是移动应用自动化中无法绕过的一节,作为H5应用,自动化的方式与Native略有不同,主要体现在元素的定位以及操作,以及上下文的切换等,本文针对H5的自动化入门分享一些基础知识. H5应用如何查找元素 在Native的UI自动化中,我们通过app-inspector查找UI元素,但是这并不适用于H5应用(在app-inspector中,webview会被识别为一整块view,看不到子view),那么针对H5应用应该如何定位呢? 针

UI自动化框架调研-番外篇

导语 前面写了两篇文章介绍了个人基于Macaca在UI自动化上的实践心得,那我们为什么会选择了Macaca呢,这篇文章将简单介绍一下我们选择Macaca的原因. 有哪些可用的UI自动化框架? 他们的区别在哪里? 我们是如何选择的? 条件1:支持移动端app自动化 从以上对比其实已经可以比较明确的帮助大家做出自己的选择,从我所在的团队来讲,我们主要做的是移动端的UI自动化,相信现在大多数同学所做的也都是这一类的自动化,因此,仅限于PC端webApplication的几个框架就不可避免的要排除掉了,

UI自动化体系建设的创新实践

在云效持续集成持续交付专场直播中,阿里资深研发工程师开风为大家带来了<分层自动化之UI自动化体系建设>分享,他主要从UI自动化之痛和UI自动化体系建设之创新实践两部分,详细讲解了云效团队在UI自动化体系建设方面的宝贵经验. 以下内容根据讲师PPT和视频整理而成. UI自动化之痛   上图左侧的柱状图是从2010年12月到2014年12月中国网站数量增长情况,可以看出目前中国网站的数量呈现平稳递增的局面,网页的数量也呈现出大幅度上升.如此数量的网站和网页,以及迭代速度越来越快的互联网项目和越来越

分层自动化之UI自动化体系建设

视频链接:https://yq.aliyun.com/webinar/play/215 UI自动化之痛   上图左侧的柱状图是从2010年12月到2014年12月中国网站数量增长情况,可以看出目前中国网站的数量呈现平稳递增的局面,网页的数量也呈现出大幅度上升.如此数量的网站和网页,以及迭代速度越来越快的互联网项目和越来越多的功能,手工地进行回归.前端UI方面的测试完全不能达到要求.   当前主流的UI自动化框架主要分为两种模式:一是编写脚本代码:二是通过录制生成脚本代码.上图对这种两模式从创建脚