Question

Essayez d'utiliser le test FEST-Swing pour Swing GUI et en utilisant l'exemple de http://easytesting.org/swing/wiki/pmwiki.php?n=FEST-Swing.LaunchFromMain

Malheureusement, frame.isShhowing() renvoie toujours false même si je vois déjà que JavaApp Swing est en cours d'exécution

Voir mes codes

...
    ApplicationLauncher.application(JavaApp.class).start();
    GenericTypeMatcher<Frame> matcher = new GenericTypeMatcher<Frame>(Frame.class) {
        protected boolean isMatching(Frame frame) {
        System.out.println("title:" + frame.getTitle() + " showing:" +frame.isShowing()); // .getTitle());
            return "Java Application".equals(frame.getTitle()) && frame.isShowing();
        }
    };
    Robot robot = BasicRobot.robotWithNewAwtHierarchy();
    FrameFixture frame2 = WindowFinder.findFrame(matcher).withTimeout(5000).using(robot);
...

à partir du journal de la console

title: showing: false

Deux questions:
1.Je dois utiliser Frame au lieu de JFrame, sinon il ne peut pas être égalé, car le titre n'est pas correct, j'attends "Application Java"
2.le frame.isShhowing() renvoie toujours false, cela semble étrange

D'AILLEURS:Les codes de la longue date semblent avoir besoin d'un paramètre pour généricypematcher () RGS / Larry

Était-ce utile?

La solution

Le problème c'est que tu appelles robotWithNewAwtHierarchy après vous lancez votre application.Ce qui se passe, c'est que toute image ou boîte de dialogue instanciée avant l'appel robotWithNewAwtHierarchy ne sera pas vu par le robot créé.

Vous pouvez soit vous déplacer robotWithNewAwtHierarchy avant la ligne où vous démarrez votre application, ou vous pouvez utiliser robotWithCurrentAwtHierarchy à la place (qui verra n'importe quel cadre ou boîte de dialogue instancié, quel que soit le moment où cette méthode est appelée.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top