1

我遇到了以下问题。我有一个交互式 Swing 应用程序。它基本上在画布上创建了一堆图形对象。您从调色板(椭圆形、圆形等)中选择要创建的类型,然后单击画布。一切都按预期工作。现在我想使用 Abbot/Costello 测试框架记录一个测试。这很简单。启动 Costello 应用程序,创建一个新脚本并开始记录事件。假设我想记录这个序列:单击调色板并将图形放在画布上。很自然地期望测试应用程序会在之前记录一次点击画布组件有机会处理它并添加一个新图形。由于各种原因,我需要在对其进行任何更改之前捕获应用程序的状态,而不是之后。事实证明,我的应用程序在点击事件中首次破解,从而创建了一个新图形,然后我的测试应用程序才收到该事件进行记录。此时对我来说已经太晚了,状态已经不可挽回地改变了,我基本上是在记录未来的状态,而不是之前的状态。
我知道这是听众按不同顺序触发的结果。我也了解 Swing 不保证触发侦听器的顺序。我是否达到了可能的极限或有解决方案?

4

0 回答 0