GUI Testing ================= Automated UI testing is possible in phoebus with https://github.com/TestFX/TestFX An example of UI testing may look like this:: @Test public void TestNumberOfDockItems() { Set menu = (Set) from(rootNode(Stage.getWindows().get(0))).queryAllAs(Node.class); Node rootPane = menu.iterator().next(); Assertions.assertThat(rootPane instanceof BorderPane).isTrue(); BorderPane pane = (BorderPane) rootPane; Assertions.assertThat(pane.centerProperty().get() instanceof DockPane).isTrue(); DockPane dockPane = (DockPane) pane.centerProperty().get(); Assertions.assertThat(dockPane.getDockItems().size() == 2).isTrue(); Assertions.assertThat(dockPane.getTabs().get(0) instanceof DockItem).isTrue(); Assertions.assertThat(dockPane.getTabs().get(1) instanceof DockItem).isTrue(); closePane(); Assertions.assertThat((Stage.getWindows().size() == 0)).isTrue(); } The snippet above is from "phoebus/core/ui/src/test/java/org/phoebus/ui/docking/SplitDockTestUI.java". TestFX has known issues such as incorrect behavior in headless mode and some unsupported nodes. For those issues you can follow their issue tracker https://github.com/TestFX/TestFX/issues