此代理样本扩展了 processSingleMouseEvent() 代理 API 以修改旋转控件的记录行为。尽管旋转控件具有两个按钮和一个文本控件作为其子代,但从测试透视图来看,旋转控件必须作为不带子代的单个控件出现在 TestObject 映射中。(在 TestObjectMap 中,按钮和文本作为子项处理。) processSingleMouseEvent() 实施使用合适的子项来设置方法,例如使用 atButton("UP") 或 atButton("DOWN") 作为记录参数。还需注意,尽管旋转控件有子对象,但是必须确保其不会以独立的 TestObjects 列出。 因此,getChildAtPoint() 和 getChildren() API 会扩展为返回空值。这些子对象作为子项处理。
回放支持
要支持在记录期间引入的每个子项的回放,Functional Tester 会查找屏幕矩形以通过代理找到每个子项。可以通过扩展 java.awt.Rectangle getScreenRectangle(Subitem subitem) 代理 API 提供子项矩形。
将 JSpinnerProxy.jar 和 JSpinnerProxy.rftcust 文件复制到定制目录,然后重新启动 Functional Tester 以测试样本待测应用程序(AUT)。
您可以验证选择控件的记录行为: