В настоящее время мы тестируем части нашего приложения, которые открываются во всплывающих окнах. Эти окна являются подклассами TitleWindow. Проблема, с которой мы сейчас сталкиваемся, заключается в том, что всплывающие окна, по-видимому, регистрируются несколько раз, и что тесты иногда выполняются для всплывающих окон, которые уже были закрыты (или так кажется).
Я думал, что это было связано с тем, как мы закрывали и удаляли наши всплывающие окна, но я не могу обнаружить никаких проблем там. Изучив исходный код FlexMonkey, я увидел, что в обработчике ADDED_TO_STAGE есть явная проверка «TitleWindow», после чего всплывающее окно добавляется в качестве окна приложения. Но всплывающее окно никогда не удаляется из коллекции _windows. В результате, когда вы открываете древовидное представление в FlexMonkey, появляется несколько экземпляров одного и того же класса всплывающего окна. Это, вероятно, также объясняет, почему наши тесты иногда не выполняются (визуально), а выполняются и проверяются правильно, так как они запускаются на скрытом экземпляре всплывающего окна. Я ожидаю, что MonkeyAutomationManager также прослушивает события REMOVED_FROM_STAGE и удаляет всплывающее окно, когда оно закрыто.
Я что-то здесь упускаю или это (известная) проблема?