diff --git a/pom.xml b/pom.xml index c4ac937..85e833b 100644 --- a/pom.xml +++ b/pom.xml @@ -240,7 +240,7 @@ org.robotframework robotframework-maven-plugin - 1.5.1 + 1.5.2 acceptance tests @@ -251,7 +251,6 @@ smoke - not-ready @@ -344,10 +343,33 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + 11 + 11 + + + + org.openjfx + javafx-controls + 11.0.2 + + + org.openjfx + javafx-swing + 11.0.2 + + + org.openjfx + javafx-fxml + 11.0.2 + org.apache.maven maven-model @@ -372,7 +394,7 @@ org.testfx openjfx-monocle - 8u76-b04 + jdk-11+26 org.robotframework diff --git a/src/main/java/javafxlibrary/keywords/AdditionalKeywords/ApplicationLauncher.java b/src/main/java/javafxlibrary/keywords/AdditionalKeywords/ApplicationLauncher.java index 1e8c896..9362c26 100644 --- a/src/main/java/javafxlibrary/keywords/AdditionalKeywords/ApplicationLauncher.java +++ b/src/main/java/javafxlibrary/keywords/AdditionalKeywords/ApplicationLauncher.java @@ -104,15 +104,10 @@ private Class getMainClass(String appName) { } private void _addPathToClassPath(String path) { - URLClassLoader classLoader = (URLClassLoader) ClassLoader.getSystemClassLoader(); - RobotLog.info("Setting following path to Classpath: " + path); - try { - Method method = URLClassLoader.class.getDeclaredMethod("addURL", URL.class); - method.setAccessible(true); - method.invoke(classLoader, (new File(path)).toURI().toURL() ); - + URL[] urls = new URL[]{new File(path).toURI().toURL()}; + URLClassLoader classLoader = new URLClassLoader(urls, ClassLoader.getSystemClassLoader()); } catch (Exception e) { throw new JavaFXLibraryFatalException("Problem setting the classpath: " + path , e); } @@ -149,7 +144,9 @@ public void setToClasspath(String path) { @RobotKeyword("Logs current classpath content") public void logApplicationClasspath() { - try { + // TODO: SystemClassLoader can not be cast to URLClassLoader anymore, see if there is a workaround for Java 11 + RobotLog.warn("Log Application Classpath is not supported in Java 11A!"); + /*try { ClassLoader cl = ClassLoader.getSystemClassLoader(); URL[] urls = ((URLClassLoader) cl).getURLs(); RobotLog.info("Printing out classpaths: \n"); @@ -157,7 +154,7 @@ public void logApplicationClasspath() { RobotLog.info(url.getFile()); } catch (Exception e) { throw new JavaFXLibraryNonFatalException("Unable to log application classpaths", e); - } + }*/ } @RobotKeyword("Sets system property ``name`` to ``value``. Equals commmand line usage `-Dname=value`.\n" diff --git a/src/main/java/javafxlibrary/keywords/AdditionalKeywords/ConvenienceKeywords.java b/src/main/java/javafxlibrary/keywords/AdditionalKeywords/ConvenienceKeywords.java index b38c79e..b231cf7 100644 --- a/src/main/java/javafxlibrary/keywords/AdditionalKeywords/ConvenienceKeywords.java +++ b/src/main/java/javafxlibrary/keywords/AdditionalKeywords/ConvenienceKeywords.java @@ -17,8 +17,6 @@ package javafxlibrary.keywords.AdditionalKeywords; -import com.sun.javafx.scene.control.skin.TableViewSkin; -import com.sun.javafx.scene.control.skin.VirtualFlow; import javafx.application.Platform; import javafx.collections.ObservableList; import javafx.css.PseudoClass; @@ -532,9 +530,7 @@ public String getNodeImageUrl(Object locator) { RobotLog.trace("Method getImage() found. Invoking it on node: \"" + node + "\""); try { Object result = m.invoke(node, null); - Image image = (Image) result; - RobotLog.trace("Calling deprecated method impl_getUrl() for image: \"" + image + "\""); - return image.impl_getUrl(); + return ((Image) result).getUrl(); } catch (Exception e) { throw new JavaFXLibraryNonFatalException("Problem calling method: .getImage(): " + e.getMessage(), e); } @@ -733,13 +729,16 @@ public List getTableColumnValues(Object locator, int column) { } } + // TODO: Implement without sun.com packages @RobotKeyword("Returns a list of *visible* cells(Nodes) of the given table column.\n\n" + "``locator`` is either a _query_ or _Object:Node_ for identifying the TableView element, see " + "`3. Locating or specifying UI elements`. \n\n" + "``column`` Integer value for the column") @ArgumentNames({ "table", "column" }) public List getTableColumnCells(Object locator, int column) { - try { + RobotLog.error("Get Table Column Cells is not supported in Java 11"); + throw new JavaFXLibraryNonFatalException("Get Table Column Cells is not supported in Java 11"); + /*try { TableView table = (TableView) objectToNode(locator); List columnCells = new ArrayList<>(); VirtualFlow vf = (VirtualFlow) ( (TableViewSkin) table.getSkin() ).getChildren().get( 1 ); @@ -753,7 +752,7 @@ public List getTableColumnCells(Object locator, int column) { } catch (ClassCastException cce) { throw new JavaFXLibraryNonFatalException("Unable to handle argument as TableView!"); - } + }*/ } @RobotKeyword("Returns the given table row cells in a dictionary in form of name:node pairs. \n\n" diff --git a/src/test/java/javafxlibrary/testapps/controllers/TestKeyboardRobotController.java b/src/test/java/javafxlibrary/testapps/controllers/TestKeyboardRobotController.java index 6e5a5a7..ec5293c 100644 --- a/src/test/java/javafxlibrary/testapps/controllers/TestKeyboardRobotController.java +++ b/src/test/java/javafxlibrary/testapps/controllers/TestKeyboardRobotController.java @@ -17,7 +17,6 @@ package javafxlibrary.testapps.controllers; -import com.sun.javafx.scene.control.skin.TextAreaSkin; import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.fxml.Initializable; @@ -40,20 +39,14 @@ public class TestKeyboardRobotController implements Initializable { public void initialize(URL location, ResourceBundle resources) { textArea.textProperty().addListener(e -> textAreaLabel.setText(textArea.getText())); - // TAB changes focus to the button, SHIFT+TAB inserts 4 spaces into the text + // Insert 4 spaces on tab textArea.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler() { @Override public void handle(KeyEvent event) { if (event.getCode().equals(KeyCode.TAB)) { - if(event.isShiftDown()) { - textArea.setText(textArea.getText() + " "); - textArea.positionCaret(textArea.getText().length()); - event.consume(); - } else { - TextAreaSkin skin = (TextAreaSkin) textArea.getSkin(); - skin.getBehavior().traverseNext(); - event.consume(); - } + textArea.setText(textArea.getText() + " "); + textArea.positionCaret(textArea.getText().length()); + event.consume(); } } }); diff --git a/src/test/java/javafxlibrary/utils/HelperFunctionsTests/MapObjectsTest.java b/src/test/java/javafxlibrary/utils/HelperFunctionsTests/MapObjectsTest.java index 68ad01a..a00ae18 100644 --- a/src/test/java/javafxlibrary/utils/HelperFunctionsTests/MapObjectsTest.java +++ b/src/test/java/javafxlibrary/utils/HelperFunctionsTests/MapObjectsTest.java @@ -47,7 +47,7 @@ public void mapObjects_FromSet() { @Test public void mapObjects_FromQueue() { - Queue