2015-02-05 2 views
0

Я хочу использовать FEST для проверки невидимости компонента Swing.FInding Swing панели с org.fest.swing.fixture.FrameFixture :: panel(), требуется панель для отображения?

Я пытаюсь использовать метод org.fest.swing.fixture.FrameFixturepanel(“foo”), но это не удается, так как он требует requireShowing=true.

Что идиоматический подход с использованием FEST найти панель, если Независимо сейчас это видно?

Assert.assertFalse(panel.getFooPanel().isVisible()); // works ok 
myFrameFixture.panel(“foo”).requireNotVisible(); // fails 

Вторая линия дает это ...

 javax.swing.JPanel[name='foo'] 

org.fest.swing.exception.ComponentLookupException: Unable to find component 
using matcher 
org.fest.swing.core.NameMatcher[name='foo, type=javax.swing.JPanel, requireShowing=true]. 

EDIT:

Я связал подобный тест с JComboBox, используя шаблон, предложенный Jay Fichadia, но это все еще кажется, что элемент должен быть видимым до того, как я вызову .requireNotVisible() например пытаясь new JComboBoxFixture(frame.robot,"grid_combo"); в одиночку (без проверки фактического requireNotVisible()) дает ...

Caused an ERROR 
Unable to find component using matcher org.fest.swing.core.NameMatcher[name='grid_combo', type=javax.swing.JComboBox, requireShowing=true]. 

несмотря на то, мы имеем в иерархии компонентов:

javax.swing.JComboBox[name='grid_combo', selectedItem='A', contents=['A', 'B'], editable=false, enabled=false, visible=false, showing=false] 
+0

Вы добавили свою панель в рамку? И называется setVisible (false)? – keuleJ

+0

@keuleJ да для обоих. Обновленный вопрос с дополнительной информацией. – k1eran

+0

И вы делаете panel.setName ("foo")? Вы пытались использовать отладчик? – keuleJ

ответ

0

ли вы попробовать с помощью new JPanelFixture(robot,"foo").requireNotVisible();

+0

Не повезло с этим подходом @ jay-fichadia. Отредактированный вопрос, чтобы сказать это. – k1eran

+0

Как вы приобретаете объект FrameFixture? Кроме того, включены ли компоненты вашего интерфейса? Я имею в виду, что в коде UI вы отключите их или что-то еще? –