我正在尝试使用UISpec4J为了自动化 Java Swing 应用程序。适配器设置后:
setAdapter(new MainClassAdapter(Main.class, new String[0]));
我正在尝试获取主窗口:
Window mainWindow = getMainWindow();
我得到的不是登录对话框,而是带有应用程序 Logo 的启动屏幕。我手动调用此对话框的所有尝试都失败了。
如何获取打开的对话框/窗口的列表?
最佳答案
看起来MainClassAdapter
并不是为处理一系列窗口而设计的。但是,您可以实现自己的适配器,忽略启动屏幕并返回后续窗口。这是取自 UISpec4J forums 的示例:
setAdapter(new UISpecAdapter() {
public Window getMainWindow() {
final Window[] result = new Window[1];
WindowInterceptor.init(new MainClassTrigger(Main.class, new String[0]))
.processTransientWindow()
.process(new WindowHandler() {
public Trigger process(Window window) throws Exception {
result[0] = window;
return Trigger.DO_NOTHING;
}
})
.run();
return result[0];
}
});
关于java - 使用 UISpec4J 获取所有窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9539549/