JAVA FEST Не удается найти панель параметров

Я пытаюсь заставить Java FEST найти всплывающее диалоговое окно и нажать кнопку «Да». У меня есть следующий код:

JOptionPaneFixture fixture = JOptionPaneFinder.findOptionPane().using(TestSite.myRobot);
fixture.buttonWithText("Yes" ).click();

В первой строке возникает следующее исключение:

org.fest.swing.exception.WaitTimedOutError: истекло время ожидания поиска компонента с помощью сопоставителя org.fest.swing.core.TypeMatcher[type=javax.swing.JOptionPane, requireShowing=true] Невозможно найти компонент с помощью matcher org.fest.swing.core.TypeMatcher[type=javax.swing.JOptionPane, requireShowing=true].

Панель параметров, конечно же, появилась в моем графическом интерфейсе, но FEST ее не находит.

Я попытался использовать средство поиска окон, как указано здесь: FEST Качает новую рамку по клику, не может сделать новую фиксацию рамы

Но безрезультатно!!

Пожалуйста помоги!


person whomaniac    schedule 22.07.2012    source источник
comment
Вы используете фоновый поток для этого?   -  person Hovercraft Full Of Eels    schedule 22.07.2012
comment
Существует многопоточная программа с графическим интерфейсом, и тест выполняется в отдельном потоке. У меня есть звонок сна, прежде чем звонить искателю.   -  person whomaniac    schedule 22.07.2012
comment
Но вы абсолютно уверены, что вызов для установки видимости JOptionPane и приведенный выше код находятся в двух совершенно разных потоках, верно?   -  person Hovercraft Full Of Eels    schedule 22.07.2012
comment
да. Это часть автоматизированного теста. Таким образом, конфигурация видимости JOptionPane отсутствует в тестовом коде. Может быть, в коде графического интерфейса мне нужно правильно передать родительский фрейм моего всплывающего окна OptionPane при его создании?   -  person whomaniac    schedule 22.07.2012
comment
Да, проблема была в нулевом родительском фрейме.   -  person whomaniac    schedule 22.07.2012
comment
ага, хорошая подборка. Это всегда мелочи, которые получают вас. Спасибо, что сообщили нам, как вы решили эту проблему. 1+ Возможно, вы захотите опубликовать свой комментарий выше в качестве ответа для будущих кодеров, которые столкнутся с той же проблемой.   -  person Hovercraft Full Of Eels    schedule 22.07.2012
comment
@whomaniac, пожалуйста, опубликуйте свой комментарий в качестве ответа и примите его, чтобы сделать ваш вопрос полезным для других пользователей StackOverflow.   -  person Richard Neish    schedule 17.06.2015
comment
Просто хотел сообщить вам, что вы можете использовать AssertJ Swing в будущем; FEST устарел и больше не поддерживается. AssertJ Swing — это ответвление FEST, поэтому переход будет легким. Даже если скорость разработки низкая, она поддерживается ;)   -  person Bertram Nudelbach    schedule 23.07.2015