我正在尝试编写Fest Swing测试,但在制作/找到框架夹具时遇到麻烦。我有两个 JFrames,一个在点击时打开另一个,我想:
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。有什么建议吗?谢谢!
尝试使用框架的标题查找框架:
Robot robot = BasicRobot.robotWithCurrentAwtHierarchy();
FrameFixture frame = WindowFinder.findFrame("Title of my frame").using(robot);
此外,secondGUI
应该是SecondGUI
的,因为它是一个类名。
顺便说一句,很高兴看到另一个 FEST 用户。