洗清UI自动化鸡肋说的不白之冤

简介: 2016GITC全球互联网技术大会上,阿里云效平台AUI自动化测试工具引发关注!上手快、易维护的AUI一改以往大家对UI自动化鸡肋说的刻板印象。究竟AUI与其他自动化测试工具有什么不同?让我们阅读全文,一起挖掘AUI背后的技术!
人类文明发展的一个重要标识是工具的诞生,当人类开始制作工具来提高生产力时,就逐渐拉开了与其他生物的距离。曾在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




相关文章
|
6月前
|
前端开发 测试技术 API
UI自动化与API自动化已经开始互斥了吗?
UI自动化与API自动化已经开始互斥了吗?
|
13天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
51 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
3月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
82 1
|
6月前
|
前端开发 测试技术 持续交付
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
【4月更文挑战第30天】本文探讨了 Flutter 应用中UI测试和自动化测试的重要性,包括保障质量、提高效率和增强开发信心。Flutter提供`flutter_test`库进行Widget测试,以及`flutter_driver`进行集成测试。UI测试涵盖界面布局、交互和状态变化的验证,最佳实践建议尽早引入测试、保持用例简洁,并结合手动测试。未来,随着Flutter技术发展,UI测试和自动化测试将更加完善,助力开发高质量应用。
218 0
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
|
6月前
|
Web App开发 前端开发 Java
Selenium UI 自动化
Selenium UI 自动化
|
6月前
|
测试技术 持续交付 API
Python的UI自动化测试
【4月更文挑战第17天】Python UI自动化测试涉及Selenium(Web)、Appium(移动应用)和PyQt(桌面应用)等框架。基本步骤包括确定测试目标、选择合适框架、安装配置、编写测试脚本、运行调试以及集成到CI/CD流程。注意自动化测试不能完全取代人工测试,应根据需求平衡使用。
92 1
|
jenkins 测试技术 持续交付
基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程
基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程
562 1
|
6月前
|
Linux API Android开发
Airtest UI自动化框架 v1.1.4
Airtest UI自动化框架 v1.1.4
82 3
|
前端开发 JavaScript Java
如何对使用React和EMF parsley设计的Web UI应用程序进行测试自动化
Web UI应用程序是指通过Web浏览器访问的应用程序,它们通常具有复杂的用户界面和交互逻辑。为了确保Web UI应用程序的功能、性能和用户体验,测试自动化是一种有效的方法,它可以在不需要人工干预的情况下,快速地执行重复的测试任务,并提供可靠的测试结果。本文将介绍如何对使用React和EMF parsley设计的Web UI应用程序进行测试自动化,以及使用HtmlUnitDriver和java代码实现的示例。
128 0
如何对使用React和EMF parsley设计的Web UI应用程序进行测试自动化
|
测试技术 API 数据安全/隐私保护
搭建禅道环境作为练习UI和接口自动化测试对象
搭建禅道环境作为练习UI和接口自动化测试对象
122 1