现在Eclipse RCP平台越来越流行了,提供完整的一些desktop服务,像模块间的event system, plugin managment, life cycle managment, preference, log等等,要知道我们以前公司的产品单独成立一个组来开始这些功能。而这些功能在Eclipse RCP上已经完整提供了,并且功能越来越多,越来越成熟.所以现在越来越多的产品转到了eclipse RCP平台上,而不是仅仅使用java swing来构建RCP系统。
作过Java Swing界面的应用程序,应该对UISpec4J比较熟悉,是前北电网络的一个员工写的程序,后来开源了,用来测试java swing的应用程序,现在比较流行。那于对于Eclipse RCP程序,有什么测试的框架技术么?要知道Eclipse RCP是使用SW/JFace组件技术,跟Swing完全是两条路。
我们的项目中使用了SWTBot测试框架,它基于Junit,可编写测试脚本,以编程的方式,实现对用户界面的测试,模拟用户的操作,像键盘鼠标动作,是个不错的功能测试工具。只不过,它还属于项目的早期,功能还不是很全,很多组件的测试不支持,并且版本演进时,旧版本的API和功能作了不同的改变,向后兼容不太好。我们针对我们自己的需求,还作了一些自己的定制开发,这就是开源项目的好处。:-)
just google SWTBot to find more information about it.