2

Fest Swingテストを作成しようとしていますが、フレームフィクスチャの作成/検索に問題があります。2つのJFrameがあり、一方はクリックするともう一方が開きます。次のいずれかを実行します。

1.)開いた新しいJFrameのフレームフィクスチャを見つけます

2.)作成された新しいJFrameオブジェクトから新しいフレームフィクスチャを作成します(元のJFrameオブジェクトからオブジェクトを取得できます)。

使ってみました

    GenericTypeMatcher<secondGUI> matcher = new GenericTypeMatcher<secondGUI>(secondGUI.class) {
        protected boolean isMatching(secondGUI frame) {
            System.out.println("0".equals(frame.getTitle()) && frame.isShowing());
            return "0".equals(frame.getTitle()) && frame.isShowing();
        }
    };
    Robot robot = BasicRobot.robotWithCurrentAwtHierarchy();

フレームを見つけるために、しかしEdtViolationExceptionに遭遇します。

私も試しました

    secondGUI secGUI = GuiActionRunner.execute(new GuiQuery<secondGUI>() {
        @Override
        protected secondGUI executeInEDT() throws Throwable {
            return firstGUI.getController().getWindows().get("0");
        }
    });
    FrameFixture secondWindow = new FrameFixture(secGUI);

しかし、最後の行はEdtViolationExceptionも与えました。助言がありますか?ありがとう!

4

1 に答える 1

1

フレームのタイトルを使用してフレームを見つけてみてください。

Robot robot = BasicRobot.robotWithCurrentAwtHierarchy();
FrameFixture frame = WindowFinder.findFrame("Title of my frame").using(robot);

また、クラス名なのであるsecondGUIはずです。SecondGUI

ところで、別のFESTユーザーに会えてうれしいです。

于 2012-05-16T20:48:52.453 に答える