Tellurium自动化测试框架介绍 - 编程入门网
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 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元素,从而更具表现力。比如:
使用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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |