Sto usando FEST per testare le mie finestre di dialogo Java e ho bisogno di verificare che venga creata una nuova finestra di dialogo modale.Utilizzo di WindowFinder per trovare una finestra di dialogo modale
@Before
public void setUp() throws Exception {
TestFrame testFrame = GuiActionRunner.execute(new GuiQuery<TestFrame>() {
@Override
protected TestFrame executeInEDT() throws Throwable {
panel = new CustomPanel();
return new TestFrame(panel);
}
});
frameFixture = new FrameFixture(testFrame);
frameFixture.show();
frameFixture.robot.waitForIdle();
}
Nota: TestFrame è una classe di supporto che estende JFrame per l'utilizzo nei test di unità.
Nel mio test, faccio clic su un pulsante che fa apparire una finestra di dialogo modale. Sto cercando di trovare e verificare la finestra di dialogo è stato creato, ma tutti i miei tentativi non sono riuscito a trovare nulla:
WindowFinder.findDialog("Window Title")).using(robot);
Dove robot =
- BasicRobot.robotWithCurrentAwtHierarchy();
- BasicRobot.robotWithNewAwtHierarchy();
- frameFixture.robot (frameFixture => JFrame)
ho provato anche specificare l'ambito di ricerca del robot:
robot.settings().componentLookupScope(ComponentLookupScope.ALL);
Ci sono un sacco di esempi FEST online che effettuare una chiamata a robot()
ma non riesco a scoprire come o cosa dovrebbe essere questa funzione robot.
Perché non riesco a trovare la finestra di dialogo popup appena creata?
È possibile includere un esempio completo in modo da poter vedere se una di queste soluzioni funzionerà? Ho trovato un esempio che crea il robot in questo modo: robot = BasicRobot.robotWithCurrentAwtHierarchy(); robot.settings(). DelayBetweenEvents (50); E un altro che cerca la finestra in questo modo: WindowFinder.findDialog (MyDialog.class) .withTimeout (10000) .using (robot); Inoltre, vedere questo post che spiega che è necessario configurare il robot prima di creare un'istanza di dialogo o finestra di dialogo. http://stackoverflow.com/a/4965444/1324406 – Amber