Swing 监听器的触发顺序会把测试搞砸

Swing 监听器的触发顺序会把测试搞砸,swing,Swing,我遇到了以下问题。我有一个交互式Swing应用程序。它基本上是在画布上创建一组图形对象。从调色板(椭圆形、圆形等)中选择要创建的类型,然后单击画布。一切正常。现在我想使用Abbot/Costello测试框架记录一个测试。这很简单。启动Costello应用程序,创建新脚本并开始录制事件。假设我想记录这个序列:单击调色板并在画布上放置一个图形。在画布组件有机会处理并添加新图形之前,测试应用程序自然会记录一次点击。出于各种原因,我需要在对应用程序进行任何更改之前(而不是之后)捕获应用程序的状态。事实证

我遇到了以下问题。我有一个交互式Swing应用程序。它基本上是在画布上创建一组图形对象。从调色板(椭圆形、圆形等)中选择要创建的类型,然后单击画布。一切正常。现在我想使用Abbot/Costello测试框架记录一个测试。这很简单。启动Costello应用程序,创建新脚本并开始录制事件。假设我想记录这个序列:单击调色板并在画布上放置一个图形。在画布组件有机会处理并添加新图形之前,测试应用程序自然会记录一次点击。出于各种原因,我需要在对应用程序进行任何更改之前(而不是之后)捕获应用程序的状态。事实证明,我的应用程序在点击事件中得到了第一次破解,导致创建了一个新的图形,并且只有在我的测试应用程序收到事件进行录制之后。现在对我来说已经太晚了,状态已经发生了无法挽回的变化,我基本上记录的是未来的状态,而不是之前的状态。
我知道这是听众按不同顺序开火的结果。我也明白Swing不能保证解雇听众的顺序。我是否已达到可能的极限或有解决方案