3

我们目前正在测试在弹出窗口中打开的应用程序部分。这些窗口是 TitleWindow 的子类。我们现在遇到的问题是弹出窗口似乎被多次注册,并且测试有时会在已经关闭的弹出窗口上执行(或者看起来如此)。

我认为这与我们关闭和删除弹出窗口的方式有关,但我无法真正发现那里的任何问题。在查看 FlexMonkey 源代码后,我看到在 ADDED_TO_STAGE 处理程序中明确检查了“TitleWindow”,然后将弹出窗口添加为应用程序窗口。但是弹出窗口似乎从未从“_windows”集合中删除。因此,当您在 FlexMonkey 中打开树视图时,会出现同一个弹出窗口类的多个实例。这可能也解释了为什么我们的测试有时似乎没有运行(视觉上),而是正确地执行和验证,因为它们是在一个隐藏的弹出实例上运行的。我希望 MonkeyAutomationManager 也能监听 REMOVED_FROM_STAGE 事件并在弹出窗口关闭时删除它。

我在这里遗漏了什么还是这是一个(已知的)问题?

4

1 回答 1

1

我的猜测是这不是问题,只是您的代码没有正确清理对象并将其从显示列表中删除。您还需要记住,从舞台上删除某些内容后,垃圾收集不会立即运行。有可能您的窗口,即使它已从舞台上移除,实际上仍在侦听和响应事件。

于 2012-03-15T20:27:57.170 回答