注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭研自动组

快乐耕耘,收获成长!

 
 
 

日志

 
 

web测试技术Tellurium调研  

2011-04-22 11:57:47|  分类: 自动测试 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
作者: 虎哥哥

出现目的:
Tellurium的作者觉得Selenium面对快速变化的测试对象显得很脆弱,维护费力。因此,以Selenium为基础搭建了Tellurium。基本上,Tellurium就是把Selenium加了一个外壳,封装了一些操作。
 
技术特点:
用DSL定义UI和测试代码;
动态生成Runtime Locator, 对程序的变化鲁棒性好;
侧重一个集合的UI元素,这样可提高UI模块的可重用性;
用UI模板来处理Ajax和其他动态网页内容;
自动处理Javascript事件;
支持自动生成XPath或jQuery Selector, 后者能大幅度提高IE的测试速度;
强调结构化测试代码,方便代码的更新和维护;
提供Firefox插件TrUMP来自动生成UI模块;
提供Javascript框架如Dojo和ExtJS的Widget的扩展;
支持数据驱动测试(Data Driven Testing);
支持JUnit和TestNG;
支持Maven和Ant。
Tellurium的创新点在于UI模块这一概念。元素定位是Web测试的基础,在Selenium下,每个页面元素是独立使用的;在Tellurium下,若干个页面元素按照功能或布局被捆绑在一起,作为一个UI模块。如图所示,用Tellurium专用FF插件TrUMP抓取元素,绿色高亮的是被选中的相关元素,它们被打包成一个UI模块。
web测试技术Tellurium调研 - 网易杭研自动组 - 网易杭研自动组

调研说明:
1.
Selenium使用Xpath定位元素,Xpath稍稍变化用例就挂了,Tellurium为了克服这一缺陷提出UI模块的概念。UI模块内每一个页面元素都是由clocator(复合式locator)标记,clocator包含了某个页面元素的多项属性,用例运行的时候实时生成Xpath去定位元素; 而且,同一个UI模块之内的几个元素可以互相协助定位。(“这样做的好处是系统自动生成运行时的Locator,即使你改变了其中的一些元素,框架本身会 生产新的 Locator来适应这种改变。而且框架侧重一个集合的元素,而不是单个元素,这样使得我们可以利用元素之间的关系来帮助我们定位他们在DOM中的位 置。” -- 作者语)Tellurium使用这两种手段对抗开发过程中页面元素的变化。但是,初步的试用表明,Tellurium的这种对抗页面元素变化的能力仍然依赖于书写高质量的UI模块表达式(TrUMP只能提供粗糙的UI模块表达式),正如我们目前在Selenium下要求书写高质量的Xpath以提高稳定性。
 
2.
书写UI模块表达式必须使用TrUMP插件,但TrUMP插件最新版仍有缺陷,部分页面元素无法捕捉,须根据Xpath手动写成UI模块的格式。如图所示,相册登陆界面的账户输入框无法捕捉。
web测试技术Tellurium调研 - 网易杭研自动组 - 网易杭研自动组
 
TrUMP的优点是可以一次性生成多个元素定位,比较快捷,而且,稍作修饰后UI模块的表达式还是很清晰,如图所示。
web测试技术Tellurium调研 - 网易杭研自动组 - 网易杭研自动组
 
3.
UI模块必须使用Groovy写成代码。
 
4.
Tellurium社区不活跃,或者说Tellurium其实并没有社区,可以Google到的只有GoogleCode上的Tellurium主页。里面的文档资料虽多,但比较杂乱零碎。
 
5.
总的来说,如果是从零开始搭建一套轻量级的自动化框架,Tellurium是不错的选择,已经封装好了常用的Selenium的操作,包括启动server和client,写用例时只须关心具体的对于Web页面的操作即可,省去不少工作量。

 
  评论这张
 
阅读(774)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018