快速业务通道

Tellurium自动化测试框架介绍 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

Tellurium自动化测试框架介绍

时间:2010-12-30 infoq 张凯峰译

Tellurium自动化测试框架是由方剑在2007年6月创建的用于测试Web应用的框架,并在2008年6月移步到Google Code成为一个开源项目。它会定期发布版本,当前版本号是0.7.0。项目的核心已经历时两年,并繁衍出了多个子项目,包括:UDL、Core、Engine、Widget扩展、 Maven Archetype、Trump、Tellurium IDE、TelluriumWorks以及参考项目。

这个框架是从Selenium框架发展而来,但又具有不同的测试理念。大多数Web测试框架,比如Selenium,主要致力于单独的UI元素。而Tellurium恰好相反,它把多个UI元素看作一个Widget整体,并将其称作UI module。

拿Google搜索的UI做个例子,这个界面用Tellurium表示成如下这样:

ui.Container(uid: "GoogleSearchModule",clocator: [tag: "td"]){   InputBox(uid: "Input",clocator: [title: "Google Search"])   SubmitButton(uid: "Search",clocator: [name: "btnG",value: "Google Search"])   SubmitButton(uid: "ImFeelingLucky",clocator: [value: "I''m Feeling   Lucky"]) }

正如你在例子中看到的,UI module是嵌套的UI元素、tag以及attribute的集合。Tellurium在采用了UI module之后,更具表述性,对变化的响应也更加智能化。同时它也可以很容易地表示动态Web内容,并易于维护。

这个框架由以下组件组成:

Trump——一个Firefox插件,全称是Tellurium UI Module Plugin,它可以在用户选择待测Web页面上的UI元素后,自动生成UI module。

Tellurium IDE——另外一个Firefox插件,可以记录用户操作,并生成Tellurium测试脚本,包括UI module的定义、用户的动作以及断言。测试脚本是用Groovy写成的。

TelluriumWorks——一个单独的Java Swing应用,用于编辑和运行Tellurium测试脚本。另外还在开发一个针对IntelliJ IDEA的IDE插件。

JavaScript Widget Extensions——针对流行JavaScript框架的扩展,比如Dojo和jQuery UI。这样用户就可以在项目中引用发布的Tellurium jar文件,并在UI module定义中,把UI widget当作一个普通的Tellurium对象。

特性

主要特性包括:

UI module清楚地表示了待测的UI。在Tellurium的测试代码中,并没有直接使用定位器(locator)。而是使用uid对象来引用UI元素,从而更具表现力。比如:

type "GoogleSearchModule.Input","Tellurium test" click "GoogleSearchModule.Search"

使用UI属性而不是固定的定位器来描述UI。实际的定位器将会在运行时生成。如果属性改变了,新的运行时定位器也会由框架自动重新生成。Tellurium从而可以按需自适应UI的变化。

Tellurium 0.7.0中的Santa算法通过一次定位整个的UI module,从而进一步提高测试的智能性。此外还使用了UI module部分匹配机制,在一定程度上适应属性的变化。

采用了Tellurium UI模板和Tellurium UID描述语言(UDL)来表示动态的web内容。

框架实行UI module和测试代码的分离,从而有利于重构。

比如,UI和对应的测试方法定义在分离的Groovy类中。这样,测试代码就和UI module解耦了。

另外该框架还:

使用抽象的UI对象来封装Web UI元素

支持Widget以实现可重用性

为UI定义、动作和测试提供一门DSL

支持组定位,从而一次定位一组UI组件

包括CSS选择器支持,以改善在IE中的测试速度

提供定位器缓存和命令集来提高测试速度

支持数据驱动测试

Tellurium自动化测试框架介绍(2)

时间:2010-12-30 infoq 张凯峰译

对比Selenium和Tellur

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号