使用 WindowFinder 查找模态对话框
Using WindowFinder to find a modal dialog
我正在使用 FEST 来测试我的 Java 对话框,我需要测试是否创建了一个新的模式对话框。
@Before
public void setUp() throws Exception {
TestFrame testFrame = GuiActionRunner.execute(new GuiQuery<TestFrame>() {
@Override
protected TestFrame executeInEDT() throws Throwable {
panel = new CustomPanel();
return new TestFrame(panel);
}
});
frameFixture = new FrameFixture(testFrame);
frameFixture.show();
frameFixture.robot.waitForIdle();
}
注意:TestFrame 是一个助手 class,它扩展了 JFrame 以用于单元测试。
在我的测试中,我单击了一个按钮,它使模式对话框出现。我正在尝试查找并验证对话框是否已创建,但是我的所有尝试都无法找到任何内容:
WindowFinder.findDialog("Window Title")).using(robot);
哪里机器人=
- BasicRobot.robotWithCurrentAwtHierarchy();
- BasicRobot.robotWithNewAwtHierarchy();
- frameFixture.robot (frameFixture => JFrame)
我也试过指定机器人的查找范围:
robot.settings().componentLookupScope(ComponentLookupScope.ALL);
网上有很多调用 robot()
的 FEST 示例,但我不知道这个机器人的功能应该是什么。
为什么我找不到新创建的弹出对话框?
尝试添加查找时间:
WindowFinder.findDialog(MyDialog.class).withTimeout(10000).using(robot);
最近也在用FEST做测试
在处理相同情况时,我使用以下方法模拟 "get this window/dialog" 动作
private DialogFixture blablawindow;
...
blablawindow = WindowFinder.findDialog("XXX").using(robot());
blablawindow.button("button1").click();
由于我是FEST的新手,所以对我来说,有些事情需要注意:
XXX 不是 UI 上显示的实际文本,您需要检查源代码以查看 window/dialog 的名称:
看起来像这样 setName("actual name of window");
或任何摆动元素 private javax.swing.JButton button1;
我正在使用 FEST 来测试我的 Java 对话框,我需要测试是否创建了一个新的模式对话框。
@Before
public void setUp() throws Exception {
TestFrame testFrame = GuiActionRunner.execute(new GuiQuery<TestFrame>() {
@Override
protected TestFrame executeInEDT() throws Throwable {
panel = new CustomPanel();
return new TestFrame(panel);
}
});
frameFixture = new FrameFixture(testFrame);
frameFixture.show();
frameFixture.robot.waitForIdle();
}
注意:TestFrame 是一个助手 class,它扩展了 JFrame 以用于单元测试。
在我的测试中,我单击了一个按钮,它使模式对话框出现。我正在尝试查找并验证对话框是否已创建,但是我的所有尝试都无法找到任何内容:
WindowFinder.findDialog("Window Title")).using(robot);
哪里机器人=
- BasicRobot.robotWithCurrentAwtHierarchy();
- BasicRobot.robotWithNewAwtHierarchy();
- frameFixture.robot (frameFixture => JFrame)
我也试过指定机器人的查找范围:
robot.settings().componentLookupScope(ComponentLookupScope.ALL);
网上有很多调用 robot()
的 FEST 示例,但我不知道这个机器人的功能应该是什么。
为什么我找不到新创建的弹出对话框?
尝试添加查找时间:
WindowFinder.findDialog(MyDialog.class).withTimeout(10000).using(robot);
最近也在用FEST做测试
在处理相同情况时,我使用以下方法模拟 "get this window/dialog" 动作
private DialogFixture blablawindow;
...
blablawindow = WindowFinder.findDialog("XXX").using(robot());
blablawindow.button("button1").click();
由于我是FEST的新手,所以对我来说,有些事情需要注意:
XXX 不是 UI 上显示的实际文本,您需要检查源代码以查看 window/dialog 的名称:
看起来像这样 setName("actual name of window");
或任何摆动元素 private javax.swing.JButton button1;