【转】Eclipse Jubula:自动化功能测试工具
(2012-08-15 23:20:10)近日发布的Eclipse Indigo包含了Jubula——面向Java与HTML应用的自动化功能测试工具。你可以通过拖拽内建的测试库来创建测试而无需应用记录或是测试编程。Jubula是Eclipse for Testers包的一部分,但也可以作为独立的RCP应用下载。
Jubula提供了内建的独立于应用与工具集的测试动作。你可以独立于应用UI开发测试。这样,测试团队就可以与开发团队并行开发功能GUI测试,并且将精力放在需求而非具体实现上了。Jubula还将测试驱动开发带到了功能GUI测试领域当中。由于独立于工具集,你还可以使用相同的方式开发测试脚本,无论被测试的应用基于Swing、SWT抑或是HTML。
很多测试工具要么是捕获——重放工具,要么需要编写测试脚本。捕获——重放工具会生成大量代码,这些代码本身就足以成为一个项目了。你需要对生成的代码进行重构,使之具备更好的模块性与健壮性。手工编写的测试脚本更易于操控,但却需要花费更多的时间,并且要求测试人员具备更好的技能。Jubula测试的开发速度很快,健壮性也更好,因为它根本就没有什么代码需要维护。你还可以创建自己的测试模块以便重复使用。没有代码还意味着在实际的测试开发过程中,用户可以更多地参与进来。
Jubula支持Swing、SWT/RCP/GEF与HTML应用,可以用在Windows、Linux/Unix与Mac上。它包含了一个用于持续集成与脚本编写的命令行客户端。Jubula基于客户端——服务器架构,你可以在AUT所在处运行AUT(Application Under Test) Agent。请注意,AUT Agent目前并不是Eclipse Indigo包的一部分,需要单独下载。
Jubula是由BREDEX GmbH在去年11月份于Eclipse基金会发布的开源项目。它基于GUIdancer的核心组件,这是2010年Eclipse最佳商业开发者工具大奖的获得者。新闻如是说:
BREDEX GUIdancer项目领导与执行董事Achim L?rke说到:之所以将核心的GUIdancer组件作为开源的Eclipse项目,很大一部分原因在于客户的需求。人们越来越多地选择开源这种模式,目的就是确保能够长久使用软件,同时又不必为开发过程的投资安全所羁绊。
Jubula之外的另一个选择是Google WindowTester。WindowTester支持Swing与SWT应用,但却不支持HTML应用。如果说Jubula是个拖拽式的工具,那么WindowTester就是个代码生成工具。它的工作方式是自动为Swing或SWT应用生成标准的JUnit测试。凭借WindowTester,开发者可以轻松生成GUI测试,并且将这些测试集成到单元测试流程当中。
上手Jubula最简单的方式就是跟着Jubula Cheat Sheets来做,它位于Eclipse Help菜单中。Jubula Eclipse插件目录中还有一些示例项目,可以帮助你快速起步。另一个颇具价值的资源就是Eclipse Community Jubula论坛。注意,目前Jubula站点上的文档非常少,很多现有的文档依旧使用的是GUIdancer。