Проблема FlexMonkey с всплывающими окнами TitleWindow - PullRequest
3 голосов
/ 04 января 2012

В настоящее время мы тестируем части нашего приложения, которые открываются во всплывающих окнах. Эти окна являются подклассами TitleWindow. Проблема, с которой мы сейчас сталкиваемся, заключается в том, что всплывающие окна, по-видимому, регистрируются несколько раз, и что тесты иногда выполняются для всплывающих окон, которые уже были закрыты (или так кажется).

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

Я что-то здесь упускаю или это (известная) проблема?

1 Ответ

1 голос
/ 16 марта 2012

Я предполагаю, что это не проблема, просто ваш код неправильно очищает объект и удаляет его из списка отображения.Вам также нужно помнить, что сборка мусора не запускается сразу после удаления чего-либо со сцены.Вполне возможно, что ваше окно, даже если оно было удалено со сцены, на самом деле все еще слушает и реагирует на события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...