Xebium来源于Fitnesse,开始接触Fitnesse是在几年前,只是在无意中需要一款能够在项目组各成员间沟通,需求确定,自动化脚本编写和执行,并结合Jenkins进行验收测试的工具而搜索到的一个框架。后来逐步的深入,从最初的调用关键词进行单元测试,然后自己开发接口或者用fit框架来深度定义,一步步适合各个开发阶段,可以说是一个非常棒的工具。
Fitnesse从一款工具的掌握来说,最先需要搞懂的就是它因何发展出来。
首先,Fitnesse是一款基于wiki语法的工具。wiki的网站因为很多原因在国内无法看,但在国外确实是一个不错的基于多人分享的大百科全书式的网站。核心在于,文章都有多人编辑、纠错而来,那么需要一套语法来保证排版、布局和内容。大家交流方式的一致性(用一种大家熟悉的语言来阐述、解释、说明),这种一致性确保了沟通的基础,易于理解和书写,布局排版根据标记,系统自动解释出来。如图:
wiki的标记那么再引申出去,光有内容是不足以成为一款项目测试框架的。然后它怎么改进呢?
关键的是,开发者把有些特定的标记语言解释为发现并创建用户的类实例。利用反射机制,只要引用了类包,找到特定的类,那么可以直接调用该类下的方法,这样就可以把一款wiki系统转化为了可以直接调用特定类的wiki系统,那么一款自动化测试系统的雏形也就产生了。
最后做的就是开放这个系统,用户可以自己定义调用的标记,传入类的参数顺序(行传入或者列传入等),自定义插件,可以Restful方式调用,并以此延伸出去,那么就可以打造出适合项目发展的系统框架,如图:
Fitnesse系统谈了这么多的Fitnesse,回到Xebium本身,它只是在Fitnesse框架上,融入Selenium(不需要自己去编程调用Selenium方法)形成出来的一套Web自动化测试框架,带有Fitnesse所有的优点,又能基于Selenium脚本(需要转换成Xebium语法)自动执行网页自动化测试的集成测试环境。
网友评论