Я хочу использовать FEST для проверки невидимости компонента Swing.FInding Swing панели с org.fest.swing.fixture.FrameFixture :: panel(), требуется панель для отображения?
Я пытаюсь использовать метод org.fest.swing.fixture.FrameFixture
panel(“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]
Вы добавили свою панель в рамку? И называется setVisible (false)? – keuleJ
@keuleJ да для обоих. Обновленный вопрос с дополнительной информацией. – k1eran
И вы делаете panel.setName ("foo")? Вы пытались использовать отладчик? – keuleJ