From 3fc263ffc7b10e575fdb6ebb1f4f90d98e2396d6 Mon Sep 17 00:00:00 2001 From: Arthur VUAGNIAUX <arthur.vuagniaux@telecom-paristech.fr> Date: Fri, 16 Nov 2018 11:59:11 +0100 Subject: [PATCH] Issue #71: Added files for ui.bot --- ttool/.classpath | 15 +- .../test/UIBotTests.launch | 33 ++ .../test/java/ui/bot/JFrameBasicTextTest.java | 2 +- ttool/src/test/java/ui/bot/Main.java | 445 +++++++++--------- ttool/src/test/java/ui/bot/MainFrameTest.java | 74 +-- 5 files changed, 300 insertions(+), 269 deletions(-) create mode 100644 ttool/launch_configurations/test/UIBotTests.launch diff --git a/ttool/.classpath b/ttool/.classpath index d14e5055e0..9da0c3f79b 100644 --- a/ttool/.classpath +++ b/ttool/.classpath @@ -2,9 +2,20 @@ <classpath> <classpathentry kind="src" path="src/main/java"/> <classpathentry kind="src" path="src/test/java"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="lib" path="/libs/junit-4.12.jar"/> <classpathentry combineaccessrules="false" kind="src" path="/src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"> + <attributes> + <attribute name="module" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="lib" path="/libs/junit-4.12.jar"/> <classpathentry kind="lib" path="src/test/libs/fr.tpt.mem4csd.utils.compare_1.0.0.jar"/> + <classpathentry kind="lib" path="/libs/assertj/assertj-core/3.11.1/assertj-core-3.11.1.jar"/> + <classpathentry kind="lib" path="/libs/assertj/assertj-swing/3.8.0/assertj-swing-3.8.0.jar"/> + <classpathentry kind="lib" path="/libs/assertj/assertj-swing-junit/3.8.0/assertj-swing-junit-3.8.0-sources.jar"/> + <classpathentry kind="lib" path="/libs/assertj/assertj-swing-junit/3.8.0/assertj-swing-junit-3.8.0.jar"/> + <classpathentry kind="lib" path="/libs/assertj/assertj-swing/3.8.0/assertj-swing-3.8.0-sources.jar"/> + <classpathentry kind="lib" path="/libs/hamcrest-core-1.3.jar"/> + <classpathentry kind="lib" path="/libs/commons-io-2.5.jar"/> <classpathentry kind="output" path="bin"/> </classpath> diff --git a/ttool/launch_configurations/test/UIBotTests.launch b/ttool/launch_configurations/test/UIBotTests.launch new file mode 100644 index 0000000000..66c7b3cdb2 --- /dev/null +++ b/ttool/launch_configurations/test/UIBotTests.launch @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.jdt.junit.launchconfig"> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> + <listEntry value="/ttool/src/test/java/ui/bot/MainFrameTest.java"/> + </listAttribute> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> + <listEntry value="1"/> + </listAttribute> + <stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/> + <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/> + <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value="help"/> + <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/> + <listAttribute key="org.eclipse.jdt.launching.CLASSPATH"> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry path="5" projectName="ttool" type="1"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry path="5" projectName="src" type="1"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/libs/junit-4.12.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/ttool/src/test/libs/fr.tpt.mem4csd.utils.compare_1.0.0.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/libs/assertj/assertj-core/3.11.1/assertj-core-3.11.1.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/libs/assertj/assertj-swing/3.8.0/assertj-swing-3.8.0.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/libs/assertj/assertj-swing-junit/3.8.0/assertj-swing-junit-3.8.0-sources.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/libs/assertj/assertj-swing-junit/3.8.0/assertj-swing-junit-3.8.0.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/libs/assertj/assertj-swing/3.8.0/assertj-swing-3.8.0-sources.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/libs/hamcrest-core-1.3.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/libs/commons-io-2.5.jar" path="5" type="2"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER" path="5" type="4"/> "/> + <listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/src/main/resources" path="5" type="2"/> "/> + </listAttribute> + <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/> + <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="ui.bot.MainFrameTest"/> + <listAttribute key="org.eclipse.jdt.launching.MODULEPATH"/> + <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="ttool"/> + <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/> +</launchConfiguration> diff --git a/ttool/src/test/java/ui/bot/JFrameBasicTextTest.java b/ttool/src/test/java/ui/bot/JFrameBasicTextTest.java index b86460d215..b47a10ffc0 100644 --- a/ttool/src/test/java/ui/bot/JFrameBasicTextTest.java +++ b/ttool/src/test/java/ui/bot/JFrameBasicTextTest.java @@ -2,7 +2,7 @@ * Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Arthur VUAGNIAUX */ -package gui.test.main; +package ui.bot; import static org.junit.Assert.*; diff --git a/ttool/src/test/java/ui/bot/Main.java b/ttool/src/test/java/ui/bot/Main.java index c3e1d9f122..9002bf1de5 100644 --- a/ttool/src/test/java/ui/bot/Main.java +++ b/ttool/src/test/java/ui/bot/Main.java @@ -2,28 +2,13 @@ * Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Arthur VUAGNIAUX */ -package gui.test.main; +package ui.bot; -import java.awt.Image; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.net.URL; -import java.util.Locale; +import java.io.File; -import javax.swing.ImageIcon; -import javax.swing.Timer; - -import common.ConfigurationTTool; import common.SpecConfigTTool; -import launcher.RTLLauncher; -import myutil.BoolExpressionEvaluator; -import myutil.PluginManager; -import myutil.TraceManager; -import ui.ColorManager; import ui.MainGUI; -import ui.util.DefaultText; import ui.util.IconManager; -import ui.window.JStartingWindow; /* * Class Main @@ -32,217 +17,219 @@ import ui.window.JStartingWindow; * @author Arthur VUAGNIAUX */ -//public class Main extends MainGUI { -// -// public Main(boolean _openLast, boolean _turtleOn, boolean _systemcOn, boolean _lotosOn, boolean _proactiveOn, -// boolean _tpnOn, boolean _osOn, boolean _uppaalOn, boolean _ncOn, boolean _avatarOn, boolean _proverifOn, -// boolean _avatarOnly, boolean _experimental) { -// super(_openLast, _turtleOn, _systemcOn, _lotosOn, _proactiveOn, _tpnOn, _osOn, _uppaalOn, _ncOn, _avatarOn, _proverifOn, -// _avatarOnly, _experimental); -// TraceManager.addDev("Test bonjour"); -// super.build(); -// } -//} - -public class Main implements ActionListener { - public boolean finish = false; - public static Main main = new Main(); - public static MainGUI test; - public static boolean systemc = true; - public static boolean lotos = true; - public static boolean proactive = false; - public static boolean tpn = false; - public static boolean os = false; - public static boolean uppaal = true; - public static boolean nc = true; // Network calculus - public static boolean avatar = true; // avatar profile - public static boolean proverif = true; - public static boolean experimental = false; - public static boolean avataronly = false; - public static boolean turtle = false; - public static boolean openLast = false; - - public Main() { - - - TraceManager.devPolicy = TraceManager.TO_DEVNULL; - - System.out.println("\n*** TTool version: " + DefaultText.getFullVersion() + " ***\n"); - - - // Read the image data and display the splash screen - // ------------------------------------------------- - - - new Timer(2500, main).start(); - - JStartingWindow splashFrame = null; - //System.out.println("hello"); - URL imageURL = Main.class.getResource("ui/util/starting_logo.gif"); - Image img; - //System.out.println("helli"); - if (imageURL != null) { - - img = (new ImageIcon(imageURL)).getImage(); - splashFrame = JStartingWindow.splash(img, "Loading TTool's elements"); - //splashFrame.setLicenceMessage("An open-source toolkit from:"); - if (splashFrame != null) { - splashFrame.setMiddleMessage("version " + DefaultText.getVersion()); - } - //System.out.println("helly"); - } else { - System.err.println("Starting image not found"); - System.exit(0); - } - - - //new Timer(2500, main).start(); - - - // Starting window - // setting default language - if (splashFrame != null) { - splashFrame.setMessage("Setting language"); - } - Locale.setDefault(new Locale("en")); - - boolean startLauncher = true; - - // Setting certificates - /*String trustStore = System.getProperty("javax.net.ssl.trustStore"); - if (trustStore == null) { - System.setProperty("javax.net.ssl.trustStore", "cacerts.jks"); - } */ - - // Analyzing arguments - String config = "config.xml"; - startLauncher = true; - - // Icons - if (splashFrame != null) { - splashFrame.setMessage("Loading images"); - } - IconManager.loadImg(); - - // Loading configuration - if (splashFrame != null) { - splashFrame.setMessage("Loading configuration file: " + config); - } - - - //ConfigurationTTool.makeDefaultConfiguration(); - try { - ConfigurationTTool.loadConfiguration(config, systemc); - SpecConfigTTool.setBasicConfigFile(config); - } catch (Exception e) { - System.out.println("Couldn't load configuration from file: " + config); - } - TraceManager.addDev("\nConfiguration:\n--------------"); - TraceManager.addDev(ConfigurationTTool.getConfiguration(systemc)); - TraceManager.addDev("\nDebugging trace:\n----------------"); - - TraceManager.addDev("\nPreparing plugins\n"); - if (splashFrame != null) { - splashFrame.setMessage("Preparing plugins"); - } - PluginManager.pluginManager = new PluginManager(); - PluginManager.pluginManager.preparePlugins(ConfigurationTTool.PLUGIN_PATH, ConfigurationTTool.PLUGIN, ConfigurationTTool.PLUGIN_PKG); - - if (ConfigurationTTool.LauncherPort.length() > 0) { - try { - int port = Integer.decode(ConfigurationTTool.LauncherPort).intValue(); - launcher.RshClient.PORT_NUMBER = port; - launcher.RshServer.PORT_NUMBER = port; - TraceManager.addDev("Port number set to: " + port); - } catch (Exception e) { - TraceManager.addError("Wrong port number:" + ConfigurationTTool.LauncherPort); - } - } - - if (startLauncher) { - Thread t = new Thread(new RTLLauncher()); - t.start(); - } - - // making main window - if (splashFrame != null) { - splashFrame.setMessage("Creating main window"); - } - MainGUI mainGUI = new MainGUI(openLast, turtle, systemc, lotos, proactive, tpn, os, uppaal, nc, avatar, proverif, avataronly, experimental); - if (splashFrame != null) { - splashFrame.setMessage("Building graphical components"); - } - mainGUI.build(); - - // loading configuration +public class Main extends MainGUI { + + public Main(boolean _openLast, boolean _turtleOn, boolean _systemcOn, boolean _lotosOn, boolean _proactiveOn, + boolean _tpnOn, boolean _osOn, boolean _uppaalOn, boolean _ncOn, boolean _avatarOn, boolean _proverifOn, + boolean _avatarOnly, boolean _experimental) { + super(_openLast, _turtleOn, true, _lotosOn, _proactiveOn, _tpnOn, _osOn, _uppaalOn, _ncOn, _avatarOn, _proverifOn, + _avatarOnly, _experimental); + + SpecConfigTTool.setDirConfig(new File("lauch_configuration/config.xml")); + IconManager.loadImg(); + build(); + } +} - // starting application -// DB: Useless -// if (mainGUI == null) { -// ErrorGUI.exit(ErrorGUI.GUI); +//public class Main implements ActionListener { +// public boolean finish = false; +// public static Main main = new Main(); +// public static MainGUI test; +// public static boolean systemc = true; +// public static boolean lotos = true; +// public static boolean proactive = false; +// public static boolean tpn = false; +// public static boolean os = false; +// public static boolean uppaal = true; +// public static boolean nc = true; // Network calculus +// public static boolean avatar = true; // avatar profile +// public static boolean proverif = true; +// public static boolean experimental = false; +// public static boolean avataronly = false; +// public static boolean turtle = false; +// public static boolean openLast = false; +// +// public Main() { +// +// +// TraceManager.devPolicy = TraceManager.TO_DEVNULL; +// +// System.out.println("\n*** TTool version: " + DefaultText.getFullVersion() + " ***\n"); +// +// +// // Read the image data and display the splash screen +// // ------------------------------------------------- +// +// +// new Timer(2500, main).start(); +// +// JStartingWindow splashFrame = null; +// //System.out.println("hello"); +// URL imageURL = Main.class.getResource("ui/util/starting_logo.gif"); +// Image img; +// //System.out.println("helli"); +// if (imageURL != null) { +// +// img = (new ImageIcon(imageURL)).getImage(); +// splashFrame = JStartingWindow.splash(img, "Loading TTool's elements"); +// //splashFrame.setLicenceMessage("An open-source toolkit from:"); +// if (splashFrame != null) { +// splashFrame.setMiddleMessage("version " + DefaultText.getVersion()); +// } +// //System.out.println("helly"); +// } else { +// System.err.println("Starting image not found"); +// System.exit(0); // } - - if (splashFrame != null) { - splashFrame.setMessage("Starting TTool ..."); - } - main.waitFinish(); - //mainGUI.start(); - test = mainGUI; - - // Dispose the splash screen - // ------------------------- - if (splashFrame != null) { - splashFrame.dispose(); - } - - // Checking for update - //TToolUpdater tu = new TToolUpdater(mainGUI.frame); - //tu.start(); - } - - - - public MainGUI getMainGui() { - return test; - } - - public synchronized void waitFinish() { - while (finish == false) { - try { - wait(); - } catch (InterruptedException ie) { - } - } - } - - public synchronized void okFinish() { - finish = true; - notifyAll(); - } - - public void actionPerformed(ActionEvent evt) { - main.okFinish(); - } - - public static void testBoolExpr() { - - - evalBool("t or f"); - - evalBool("(t) or f"); - - evalBool("(0==0)"); - - System.exit(-1); - } - - public static void evalBool(String s) { - BoolExpressionEvaluator bee = new BoolExpressionEvaluator(); - System.out.println("->Result of " + s + " =" + bee.getResultOf(s)); - if (bee.hasError()) { - System.out.println("Error = " + bee.getFullError()); - } - System.out.println("\n\n"); - } - -} +// +// +// //new Timer(2500, main).start(); +// +// +// // Starting window +// // setting default language +// if (splashFrame != null) { +// splashFrame.setMessage("Setting language"); +// } +// Locale.setDefault(new Locale("en")); +// +// boolean startLauncher = true; +// +// // Setting certificates +// /*String trustStore = System.getProperty("javax.net.ssl.trustStore"); +// if (trustStore == null) { +// System.setProperty("javax.net.ssl.trustStore", "cacerts.jks"); +// } */ +// +// // Analyzing arguments +// String config = "config.xml"; +// startLauncher = true; +// +// // Icons +// if (splashFrame != null) { +// splashFrame.setMessage("Loading images"); +// } +// IconManager.loadImg(); +// +// // Loading configuration +// if (splashFrame != null) { +// splashFrame.setMessage("Loading configuration file: " + config); +// } +// +// +// //ConfigurationTTool.makeDefaultConfiguration(); +// try { +// ConfigurationTTool.loadConfiguration(config, systemc); +// SpecConfigTTool.setBasicConfigFile(config); +// } catch (Exception e) { +// System.out.println("Couldn't load configuration from file: " + config); +// } +// TraceManager.addDev("\nConfiguration:\n--------------"); +// TraceManager.addDev(ConfigurationTTool.getConfiguration(systemc)); +// TraceManager.addDev("\nDebugging trace:\n----------------"); +// +// TraceManager.addDev("\nPreparing plugins\n"); +// if (splashFrame != null) { +// splashFrame.setMessage("Preparing plugins"); +// } +// PluginManager.pluginManager = new PluginManager(); +// PluginManager.pluginManager.preparePlugins(ConfigurationTTool.PLUGIN_PATH, ConfigurationTTool.PLUGIN, ConfigurationTTool.PLUGIN_PKG); +// +// if (ConfigurationTTool.LauncherPort.length() > 0) { +// try { +// int port = Integer.decode(ConfigurationTTool.LauncherPort).intValue(); +// launcher.RshClient.PORT_NUMBER = port; +// launcher.RshServer.PORT_NUMBER = port; +// TraceManager.addDev("Port number set to: " + port); +// } catch (Exception e) { +// TraceManager.addError("Wrong port number:" + ConfigurationTTool.LauncherPort); +// } +// } +// +// if (startLauncher) { +// Thread t = new Thread(new RTLLauncher()); +// t.start(); +// } +// +// // making main window +// if (splashFrame != null) { +// splashFrame.setMessage("Creating main window"); +// } +// MainGUI mainGUI = new MainGUI(openLast, turtle, systemc, lotos, proactive, tpn, os, uppaal, nc, avatar, proverif, avataronly, experimental); +// if (splashFrame != null) { +// splashFrame.setMessage("Building graphical components"); +// } +// mainGUI.build(); +// +// // loading configuration +// +// // starting application +//// DB: Useless +//// if (mainGUI == null) { +//// ErrorGUI.exit(ErrorGUI.GUI); +//// } +// +// if (splashFrame != null) { +// splashFrame.setMessage("Starting TTool ..."); +// } +// main.waitFinish(); +// //mainGUI.start(); +// test = mainGUI; +// +// // Dispose the splash screen +// // ------------------------- +// if (splashFrame != null) { +// splashFrame.dispose(); +// } +// +// // Checking for update +// //TToolUpdater tu = new TToolUpdater(mainGUI.frame); +// //tu.start(); +// } +// +// +// +// public MainGUI getMainGui() { +// return test; +// } +// +// public synchronized void waitFinish() { +// while (finish == false) { +// try { +// wait(); +// } catch (InterruptedException ie) { +// } +// } +// } +// +// public synchronized void okFinish() { +// finish = true; +// notifyAll(); +// } +// +// public void actionPerformed(ActionEvent evt) { +// main.okFinish(); +// } +// +// public static void testBoolExpr() { +// +// +// evalBool("t or f"); +// +// evalBool("(t) or f"); +// +// evalBool("(0==0)"); +// +// System.exit(-1); +// } +// +// public static void evalBool(String s) { +// BoolExpressionEvaluator bee = new BoolExpressionEvaluator(); +// System.out.println("->Result of " + s + " =" + bee.getResultOf(s)); +// if (bee.hasError()) { +// System.out.println("Error = " + bee.getFullError()); +// } +// System.out.println("\n\n"); +// } +// +//} diff --git a/ttool/src/test/java/ui/bot/MainFrameTest.java b/ttool/src/test/java/ui/bot/MainFrameTest.java index 3daea9fa4f..9ba3f2d13b 100644 --- a/ttool/src/test/java/ui/bot/MainFrameTest.java +++ b/ttool/src/test/java/ui/bot/MainFrameTest.java @@ -2,7 +2,7 @@ * Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Arthur VUAGNIAUX */ -package gui.test.main; +package ui.bot; import static org.junit.Assert.*; @@ -100,33 +100,33 @@ public class MainFrameTest extends AssertJSwingJUnitTestCase { // TraceManager.addDev("MainFrameTest: openProject: Done clicking"); } -// @Test -// public void help() { -// /* -// * Description : Check the help from the main frame. -// */ -// -// JMenuItemFixture jmif = window.menuItem("Help Configuration"); -// TraceManager.addDev("MainFrameTest: help: Opening the help by clicking on it"); -// jmif.click(); -// try { -// Thread.sleep(3600); -// } catch (InterruptedException e) { -// e.printStackTrace(); -// } -// TraceManager.addDev("MainFrameTest: help: Done clicking"); -// -// window2 = findFrame("TestTest").using(robot()); -// JButtonFixture jb = window2.button("Close Configuration"); -// TraceManager.addDev("MainFrameTest: help: Closing the help, by clicking on the button"); -// jb.click(); -// try { -// Thread.sleep(3600); -// } catch (InterruptedException e) { -// e.printStackTrace(); -// } -// TraceManager.addDev("MainFrameTest: help: Done closing"); -// } + @Test + public void help() { + /* + * Description : Check the help from the main frame. + */ + + JMenuItemFixture jmif = window.menuItem("Help Configuration"); + TraceManager.addDev("MainFrameTest: help: Opening the help by clicking on it"); + jmif.click(); + try { + Thread.sleep(3600); + } catch (InterruptedException e) { + e.printStackTrace(); + } + TraceManager.addDev("MainFrameTest: help: Done clicking"); + + window2 = findFrame("TestTest").using(robot()); + JButtonFixture jb = window2.button("Close Configuration"); + TraceManager.addDev("MainFrameTest: help: Closing the help, by clicking on the button"); + jb.click(); + try { + Thread.sleep(3600); + } catch (InterruptedException e) { + e.printStackTrace(); + } + TraceManager.addDev("MainFrameTest: help: Done closing"); + } // @Test // public void capture() { @@ -135,12 +135,12 @@ public class MainFrameTest extends AssertJSwingJUnitTestCase { // } - @Test - public void quit() { - JMenuItemFixture jmif = window.menuItem("File Quit"); - jmif.click(); - } - +// @Test +// public void quit() { +// JMenuItemFixture jmif = window.menuItem("File Quit"); +// jmif.click(); +// } +// @Test public void vandV() { /* @@ -204,9 +204,9 @@ public class MainFrameTest extends AssertJSwingJUnitTestCase { @Override protected void onSetUp() { - Main frame = GuiActionRunner.execute(()-> new Main());//Main(false, false, false, false, false, false, false, false, false, false, false, false, false)); -// window = new FrameFixture(robot(), frame.test.getFrame()); -// window.show(); + Main frame = GuiActionRunner.execute(()-> new Main(false, false, false, false, false, false, false, false, false, false, false, false, false)); + window = new FrameFixture(robot(), frame.getFrame()); + window.show(); } @Override -- GitLab