FEST Swing新框架点击,无法制作新的框架夹具

时间:2012-05-16 20:39:38

标签: java swing fest

我正在尝试编写一个Fest Swing测试但是在制作/找到一个框架夹具时遇到了麻烦。我有两个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。 有什么建议? 谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用框架标题找到您的框架:

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

此外,secondGUI应该是SecondGUI,因为它是一个类名。

顺便说一句,很高兴看到另一位FEST用户。