gpt4 book ai didi

swing - FEST-swing 示例不起作用,frame.isShowing() 返回 false

转载 作者:行者123 更新时间:2023-12-04 06:49:49 24 4
gpt4 key购买 nike

尝试使用 FEST-Swing 进行 Swing GUI 测试,并使用 http://easytesting.org/swing/wiki/pmwiki.php?n=FEST-Swing.LaunchFromMain 中的示例

不幸的是 frame.isShowing() 总是返回 false 虽然我已经看到 JavaApp Swing 正在运行

查看我的代码

...
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);
...

从控制台日志
title: showing: false

两个问题:
1.我必须使用JFrame的Frame insteaf,否则无法匹配,导致标题不正确,我期待“Java Application”
2.frame.isShowing()总是返回false,看起来很奇怪

顺便说一句:最新的代码似乎需要 GenericTypeMatcher() 的参数
rgs/拉里

最佳答案

问题是你调用 robotWithNewAwtHierarchy 之后 你启动你的应用程序。发生的情况是在调用 robotWithNewAwtHierarchy 之前实例化了任何框架或对话框。创建的机器人不会看到。

您可以移动 robotWithNewAwtHierarchy在您启动应用程序的行之前,或者您可以使用 robotWithCurrentAwtHierarchy相反(无论何时调用此方法,都会看到任何实例化的框架或对话框。)

关于swing - FEST-swing 示例不起作用,frame.isShowing() 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3296477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com