Java Swing GUI Test Fest JPanel Fixture Error -
trying use fest test gui, i'm having problem trying access components contained inside custom jpanel (toppanel extends jpanel). code below failing when trying reference "toppane" exists field inside mainjframe. doing wrong here?
public class stableappsuitest { private framefixture window; private jpanelfixture contentfixture; @before public void setup() { //assumes main class named "anagrams" , 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(); } }
and here's stacktrace, in case it's hepful:
unable find component using matcher org.fest.swing.core.nameandtypematcher[name='toppanel', type=javax.swing.jpanel, requireshowing=true].
component hierarchy: myapp.ui.mainjframe[name='frame0', title='myapp', enabled=true, visible=true, showing=true] javax.swing.jrootpane[] javax.swing.jpanel[name='null.glasspane'] javax.swing.jlayeredpane[] javax.swing.jpanel[name='null.contentpane'] myapp.ui.toppanel[name=null] javax.swing.jlabel[name=null, text='enter url: ', enabled=true, visible=true, showing=true] javax.swing.jtextfield[name=null, text='', enabled=true, visible=true, showing=true] javax.swing.jbutton[name=null, text='submit', enabled=true, visible=true, showing=true] myapp.ui.contentpanel[name=null] javax.swing.jscrollpane[name=null, enabled=true, visible=true, showing=true] javax.swing.jviewport[,1,1,381x270,layout=javax.swing.viewportlayout,alignmentx=0.0,alignmenty=0.0,border=,flags=25165832,maximumsize=,minimumsize=,preferredsize=,isviewsizeset=true,lastpaintposition=java.awt.point[x=0,y=0],scrollunderway=false] javax.swing.jlist[name=null, selectedvalues=[], contents=[], selectionmode=multiple_interval_selection, enabled=true, visible=true, showing=true] javax.swing.cellrendererpane[,0,0,0x0,hidden] javax.swing.jscrollpane$scrollbar[name=null, value=0, blockincrement=10, minimum=0, maximum=270, enabled=true, visible=false, showing=false] javax.swing.plaf.metal.metalscrollbutton[name=null, text='', enabled=true, visible=true, showing=false] javax.swing.plaf.metal.metalscrollbutton[name=null, text='', enabled=true, visible=true, showing=false] javax.swing.jscrollpane$scrollbar[name=null, value=0, blockincrement=10, minimum=0, maximum=381, enabled=true, visible=false, showing=false] javax.swing.plaf.metal.metalscrollbutton[name=null, text='', enabled=true, visible=true, showing=false] javax.swing.plaf.metal.metalscrollbutton[name=null, text='', enabled=true, visible=true, showing=false] myapp.ui.statuspanel[name=null] javax.swing.jlabel[name=null, text='status: ', enabled=true, visible=true, showing=true] javax.swing.jlabel[name=null, text='', enabled=true, visible=true, showing=true]
org.fest.swing.exception.componentlookupexception @ org.fest.swing.core.basiccomponentfinder.componentnotfound(basiccomponentfinder.java:184) @ org.fest.swing.core.basiccomponentfinder.find(basiccomponentfinder.java:169) @ org.fest.swing.core.basiccomponentfinder.find(basiccomponentfinder.java:158) @ org.fest.swing.core.basiccomponentfinder.findbyname(basiccomponentfinder.java:136) @ org.fest.swing.fixture.containerfixture.findbyname(containerfixture.java:822) @ org.fest.swing.fixture.containerfixture.panel(containerfixture.java:406) @ myapp.ui.myappuitest.setup(myappuitest.java:32)
looking @ stacktrace, there component of type myapp.ui.toppanel
, name null (myapp.ui.toppanel[name=null]).
window.panel("toppanel")
search jpanel name "toppanel", need set name of component using mtoppanel.setname("toppanel");
, or use matcher instead.
Comments
Post a Comment