Używam FEST do testowania moich okien dialogowych Java i muszę przetestować tworzenie nowego modalnego okna dialogowego.Używanie WindowFindera do znalezienia modalnego okna dialogowego
@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();
}
Uwaga: TestFrame to klasa pomocnicza, która rozszerza JFrame do użytku w testach jednostkowych.
W moim teście klikam przycisk, który powoduje wyświetlenie modalnego okna dialogowego. Staram się znaleźć i zweryfikować dialog jest tworzony, ale wszystkie moje próby nie są w stanie znaleźć niczego:
WindowFinder.findDialog("Window Title")).using(robot);
Gdzie robota =
- BasicRobot.robotWithCurrentAwtHierarchy();
- BasicRobot.robotWithNewAwtHierarchy();
- frameFixture.robot (frameFixture => JFrame)
Próbowałem również określenie zakresu odnośnika robota:
robot.settings().componentLookupScope(ComponentLookupScope.ALL);
Istnieje wiele przykładów FEST online, które sprawiają, że wezwanie do robot()
ale nie mogę się dowiedzieć, jak lub jaka powinna być ta funkcja robota.
Dlaczego nie mogę znaleźć mojego nowo utworzonego okna podręcznego?
Czy można podać pełny przykład, aby sprawdzić, czy któreś z tych rozwiązań będzie działać? Znalazłem jeden przykład, który tworzy takiego robota: robot = BasicRobot.robotWithCurrentAwtHierarchy(); robot.settings(). DelayBetweenEvents (50); I jeszcze jeden, który szuka takiego okna: WindowFinder.findDialog (MyDialog.class) .withTimeout (10000) .using (robot); Zobacz także ten post wyjaśniający, że musisz skonfigurować robota przed utworzeniem dowolnej klatki lub okna dialogowego. http://stackoverflow.com/a/4965444/1324406 – Amber