推荐一下AutoManx

一 18th, 2013

       去年11月份的时候,跟淘宝的一个测试框架开发人员交流过,当时要了AutoManX的一些资料,最近有时间拿出来看了下,发现挺不错,现在可能又有了新的一些东西,后面我会抽时间关注下这个框架!

下面这篇文章是我在淘测试上看到的一个介绍,转载分享下:http://www.taobaotest.com/blogs/2186


AutoManX 淘宝新生代自动化测试框架简介

 

背景:

    随着各业务线自动化的广泛实施及Scrum等敏捷研发模式在淘宝逐步推广,小二的代码质量意识地不断提高,对我们自动化框架提出了新的要求和挑战。我们期望测试人员按照业务Feature来分工,组合使用合适的测试手段来保证项目质量,既做接口测试又做页面自动化测试。原来的AutoMan和itest使用两套语言,两种框架,无疑增加了小二的学习和维护成本以及Kelude平台的支持成本。在如此迫切的坏境下,AutoManX诞生了…

意义:

        AutoManX为淘宝新生代自动化测试框架,是itest框架跟AutoMan框架的融合,研发语言为java,与淘宝研发主体语言保持了一致。AutoManX的诞生,解决了业务线小二不用为了自动化测试既学java又学ruby;降低了Kelude平台维护两套框架、两套数据准备方式、两套执行平台、两套用例与脚本双向同步方式的成本,能够提供更加优质的服务;研发非启动浏览器方式运行脚本进行快速回归测试,一定程度地提升页面自动化回归测试速度。

兼容:

    为了使原有的页面自动化经验和脚本积累不会来浪费,AutoManX提供了和原来一样的Api以及编程思路,使测试人员能够尽快适应新框架的使用;同时提供工具将原有的ruby脚本转换为新的脚本形式。AutoManX提供配置,保证一套页面自动化脚本,通过配置能支持启动和不启动浏览器两种运行方式以及多种浏览器的兼容性运行策略。

FrameWork Overview:

AutoManX是基于Selenium Webdriver的一个测试框架,Webdriver针对各个浏览器而开发,通过原生浏览器支持或者浏览器扩展直接控制浏览器,取代了嵌入到被测Web应用中的JavaScript,把端到端的测试与底层的测试工具隔离开来。AutoManX框架主要分为五层结构——Action层、对象库、Verfication层、Common层以及Util层,如下图所示:

1)Action层:涉及浏览器引擎,页面元素的定位、映射以及页面操作的内容,包括各个输入、提交动作等;

2)对象库:对不同类型控件的操作以及HTML页面DOM对象的抽象;

3)Verfication层:测试结果验证,包含DB数据库验证和Page页面返回验证;

4)Common层:包含一些基本的、公用的变量或者方法;

5)Util层:涉及对文件、Excel、DataBase、Image等类的封装。

持续集成:

    通过Kelude平台,进行每日回归来持续集成。AutoManX在Kelude平台上以Agent的方式,通过调用项目里的Maven工程构建任务,Agent从Kelude平台获取相应的构建号来执行构建任务,每一次执行都必须有一个不重复的唯一编号。

        Kelude平台与Agent之间的交互通过Runner(AutoManX框架插件)完成。当执行一个Job时,Kelude平台调用Runner,并把相应的参数传给Runner;Runner将参数拼接成可执行的maven命令执行;同时Runner监听build事件,当Runner监听到build done的事件时,解析原生日志,把执行结果按照给定的格式发送给Kelude平台进行报表展示。AutoManX脚本执行流程如下:

优势:

        与AutoMan相比,AutoManX结合了AutoMan和itest的宝贵经验,将WebUI与接口测试开发完美统一,是一套功能更加完善,性能更优的自动化测试框架。

1)数据准备方式丰富多彩

        除了itest原来的excel数据准备方式,AutoManX支持全新的xml数据驱动,将测试数据逐条写在xml文件,只需要运行一个测试用例,就能覆盖xml文件中的所有数据来执行用例。这样做的好处是运行速度快,省去了原来用@test运行每个用例之前的加载时间,且xml具有很好的可读性及平台无关性,移值性好。

    此外,数据工厂也引入到AutoManX,可以直接调用已有的TD事物来进行数据准备,也可以在HSF接口上开发适合自己的TD事物,满足不同需求。

2)性能提升

        AutoManX提供了PageModel业务线Jar模式,各业务线在共享PageModel的同时可以打包各业务线的PageModel Jar,既达到了资源共享,又不会相互影响;且PageModel 无需在运行时实时定制下载,只要在Pom中引用即可,方便又省时。

        全新的Class级别执行调度引擎,使得框架更加轻便,用例执行速度大大提高。

        Java语言的先天优势以及强大的Eclipse,在编写脚本时的友好提示,也会在工作效率上助你一臂之力。

3)全新的用户体验

        AutoManX提供了类似接口测试的测试环境搭建,类似WebUI测试的执行调度方式,给用户不一样的体验。

4)功能扩展

        JS Error,CSS图片对比、前端兼容性测试以及Link校验都将逐渐加入到AutoManX框架中。





除非注明,本站文章均为原创。本文基于 BY-NC-SA 协议进行授权,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名 metaboy(包含链接).

本文链接地址: http://blog.wangyuxiong.com/archives/51699

订阅本站:http://www.wangyuxiong.com/feed

分类: 工具推荐 测试技术         标签: ,
  1. test
    三 4th, 201315:29

    test comment

  2. Cool
    一 19th, 201301:40

    期待更详细的介绍

无觅相关文章插件,快速提升流量