首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java测试Fest JPanel夹具错误

Java测试Fest JPanel夹具错误
EN

Stack Overflow用户
提问于 2015-06-14 20:43:24
回答 1查看 810关注 0票数 0

尝试使用FEST测试我的GUI,但我在访问包含在自定义JPanel (TopPanel extends )中的组件时遇到了问题。因此,下面的代码在试图引用"topPane“时失败了,”MainJFrame“作为一个字段存在于MainJFrame中。我在这里做错什么了?

代码语言:javascript
复制
public class StableAppsUITest {

    private FrameFixture window;
    private JPanelFixture contentFixture;

    @Before
    public void setUp() {
        //Assumes the main class is named "Anagrams" and extends JFrame:
        window = new FrameFixture(new MainJFrame("Title"));
        window.show();
        contentFixture = window.panel("topPanel");

    }

    @Test
    public void shouldEnterAnagramAndReturnTrue() {

        // contentFixture.textBox("mUrlInputTextField").enterText("www.google.com");
    }

    @After
    public void tearDown() {
        window.cleanUp();
    }

}

这是堆叠痕迹,以防它是正版的:

无法使用matcher org.fest.swing.core.NameAndTypeMatchername='topPanel',type=javax.swing.JPanel,requireShowing=true找到组件。 组件层次结构:myapp.ui.MainJFramename=‘frame0 0 ',title='myapp',enabled=true,visible=true,showing=true javax.swing.JRootPane[] javax.swing.JPanelname='null.glassPane’javax.swing.JLayeredPane[] javax.swing.JPanelname='null.contentPane‘myapp.ui.TopPanelname=null javax.swing.JLabelname=null,text=’输入Url:‘,enabled=true,visible=true,showing=true javax.swing.JTextFieldname=null,text=’,enabled=true,visible=true,showing=true javax.swing.JButtonname=null,text='Submit',enabled=true,visible=true,showing=true myapp.ui.ContentPanelname=null javax.swing.JScrollPanename=null,enabled=true,visible=true,showing=true javax.swing.JViewport[,1,381x270,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,border=,][#en24,],[],javax.swing.plaf.metal.MetalScrollButtonname=null,selectionMode=MULTIPLE_INTERVAL_SELECTION,enabled=true,visible=true,showing=true[javax.swing.CellRendererPane,0,0,0x0] javax.swing.CellRendererPane,0,0,0x0,隐藏的javax.swing.JScrollPane$ScrollBarname=null,value=0,blockIncrement=10,minimum=0,maximum=270,enabled=true,visible=false,showing=false en23=‘’,enabled=true,visible=false,showing=false,en19#,en23 20,javax.swing.plaf.metal.MetalScrollButtonname=null,minimum=0,maximum=381,enabled=true,visible=false,showing=false showing=false text='',enabled=true,visible=true,showing=false showing=false text='',enabled=true,visible=true,showing=false myapp.ui.StatusPanelname=null javax.swing.JLabelname=null,text='Status:',enabled=true,visible=true,showing=true,text='', org.fest.swing.exception.ComponentLookupException at org.fest.swing.core.BasicComponentFinder.componentNotFound(BasicComponentFinder.java:184) at org.fest.swing.core.BasicComponentFinder.find(BasicComponentFinder.java:169) at org.fest.swing.core.BasicComponentFinder.find(BasicComponentFinder.java:158) at org.fest.swing.core.BasicComponentFinder.findByName(BasicComponentFinder.java:136) at org.fest.swing.fixture.ContainerFixture.findByName(ContainerFixture.java:822)在org.fest.swing.fixture.ContainerFixture.panel(ContainerFixture.java:406) at myapp.ui.myappUITest.setUp(myappUITest.java:32)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-17 13:54:18

查看您的堆栈跟踪,有一个类型为myapp.ui.TopPanel的组件,但名称为null (myapp.ui.TopPanelname=null)。

window.panel("topPanel")将搜索名为"topPanel“的JPanel,因此您需要使用mTopPanel.setName("topPanel");设置组件的名称,或者使用匹配器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30834336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档