软件自动化测试范畴很广,理论我就不说了,只针对我这次选的题目——Java自定义组件的测试,从Java事件机制的基础说起,其中有一小部分关于开源软件测试框架Abbot的简单介绍
还是先说说Abbot吧,Abbot可以支持Java GUI组件从单元测试到集成测试,简单地说,单元测试时,你可以使用Abbot的一些类库,把你要测试的GUI扔给某个方法,然后Abbot可以查找某个组件,比如特定按钮,然后对那个按钮调用一下 click(我的按钮),就可以实现“点击”的效果, 你会看到屏幕上的鼠标移动到那个按钮上并点击,很有趣吧,当然你可以手工编写一堆代码控制鼠标移动到那个按钮上并点击,但是那样很麻烦,Abbot帮你封装了很多底层的操作。
对于一个已经做好的GUI,Abbot也可以进行脚本录制,也就是你在你的GUI上操作,Abbot自动记下你的动作,以脚本形式保存起来,以后你还可以进行重放。下面是官方介绍的一部分翻译:
Abbot 框架
abbot提供了一个框架测试你的GUI代码,而不用考虑你的代码的当前状态。如果你喜欢进行测试驱动的开发,那么abbot提供相关工具为你生成单元测试代码。如果你已经有一堆代码但不是基于单元测试的,abbot也可以帮你生成脚本
总的来说,abbot测试首先要获得组件的引用,然后要么模拟用户操作,要么对组件的状态进行断言。abbot提供ComponentReference获得组件的句柄,以及扩展的、类似robot的对象,用来模拟用户行为。这些操作既可以通过脚本,也可以通过java代码来实现
abbot的目标:<