一、AutoMan 的由来
两年前淘宝测试的同学都知道,我们自动化测试工具用的是QTP,这里我还是需要强列顶一下QTP这个工具在对象识别,数据驱动,关键字驱动等方面的强大,然而当大团队运用时,你就会碰到测试脚本维护困难,公用资源难以复用,不能有效进行执行调度,报表资源不能有效展现等问题,并且由于其封闭的架构,扩展一个自定义的功能也需要花费较大的波折,导致自动化覆盖率及自动化实践一直不尽人意。
基于以上的问题,我们在思考,是否有一个语法简单,架构开放,功能强大的开源自动化框架供我们使用呢,此时我们引用了Watir(Web application test in ruby). AutoMan 大概经历了以下几个阶段:
2009年1-3月,在watir的基础上,针对淘宝的实际应用,对Watir进行了技术调研,扩展了一些功能,形成了tcommon的前身。
2009年 5-6月,我们成立天外飞仙项目,形成了在线脚本管理,测试集,测试计划,测试报表等现有大家一直看得到的一些测试管理概念,tcommon框架也同时发布。
2009年 8-9月,借着twork的0.3版的发布,AutoMan的前身TAM随之发布。
2010年 4月,基于对前一阶段深入总结及具体实践中碰到的问题,我们提出了基于页面模型的自动化框架,即AutoMan Framework, 并在AutoMan一期中实现,自动化组内部戏称之为从 Dos系统到Windows系统的跨跃。
2010年5-6月,AutoMan二期完成,基于AutoMan Framework, 开发了Page Model,并更进一步产生了DB Model的概念,对页面对象,测试数据等做为资源化处理,为后续测试脚本的白话化提供基础。也在此项目中,我们对云测试执行平台进行了优化,稳定性,执行效率方面显著提升。
2010年8-9月,AutoMan三期进行中,这里也将解决项目中自动化脚本无法集成AutoMan的问题,及脚本生成器功能,让你快速生成脚本
二、AutoMan 架构介绍
AutoMan的整体架构如下图:
……………………
查看全文请点击下载:http://www.51testing.com/html/07/n-221707.html
数据模型(DB Model)
也许有人会说,数据对于自动化来说并不是重点关心的内容,自动化更多关心元素的识别,脚本的简单,易读,调试方便快速等。然而你也不得不承认的是数据问题严重影响了脚本回归中的稳定性,甚至到了数据问题不解决,自动化实施不下去的问题。如前面一个登录的例子:
login.txt_username.set(“tbtest1”) #设置用户名 |