Module org.testfx

Class JavafxRobotAdapter

  • All Implemented Interfaces:
    RobotAdapter<JavafxRobotAdapter>

    public class JavafxRobotAdapter
    extends Object
    implements RobotAdapter<JavafxRobotAdapter>
    A RobotAdapter implementation that uses the only the JavaFX public API.

    Developer's Note: Forcing the type parameter to be JavafxRobotAdapter is a bit of a kludge. Ideally we would use a JavafxRobot instead but such a type does not exist.

    • Method Summary

      Modifier and Type Method Description
      javafx.scene.paint.Color getCapturePixelColor​(javafx.geometry.Point2D location)
      Gets the color of a pixel at the given JavaFx coordinates.
      javafx.scene.image.Image getCaptureRegion​(javafx.geometry.Rectangle2D region)
      Captures a region of the screen.
      javafx.geometry.Point2D getMouseLocation()
      Returns the current position of the cursor in JavaFx coordinates
      void keyPress​(javafx.scene.input.KeyCode key)
      Function used to make the robot press a key.
      void keyRelease​(javafx.scene.input.KeyCode key)
      Function used to make the robot release a key.
      void keyType​(javafx.scene.input.KeyCode key, String character)  
      void mouseClick​(javafx.scene.input.MouseButton button)  
      void mouseClick​(javafx.scene.input.MouseButton button, int clickCount)  
      void mouseDrag​(javafx.scene.input.MouseButton button)  
      void mouseMove​(javafx.geometry.Point2D location)
      Moves the mouse cursor to the given position in JavaFx coordinates
      void mousePress​(javafx.scene.input.MouseButton button)
      Makes the robot press a mouse button.
      void mousePress​(javafx.scene.input.MouseButton button, int clickCount)  
      void mouseRelease​(javafx.scene.input.MouseButton button)
      Makes the robot release a mouse button.
      void mouseRelease​(javafx.scene.input.MouseButton button, int clickCount)  
      void mouseWheel​(int wheelAmount)
      Makes the robot to simulate a action of the mouse wheel.
      Negative values indicate movement up/away from the user, positive values indicate movement down/towards the user.
      void robotCreate()
      Creates a robot.
      void robotCreate​(javafx.scene.Scene scene)  
      void robotDestroy()
      Destroys the robot
    • Constructor Detail

      • JavafxRobotAdapter

        public JavafxRobotAdapter()
    • Method Detail

      • robotCreate

        public void robotCreate​(javafx.scene.Scene scene)
      • keyPress

        public void keyPress​(javafx.scene.input.KeyCode key)
        Description copied from interface: RobotAdapter
        Function used to make the robot press a key. The key must be a physical existing key on the keyboard.
        Specified by:
        keyPress in interface RobotAdapter<JavafxRobotAdapter>
        Parameters:
        key - the key to press (must exist on a keyboard)
      • keyRelease

        public void keyRelease​(javafx.scene.input.KeyCode key)
        Description copied from interface: RobotAdapter
        Function used to make the robot release a key. The key must be a physical existing key on the keyboard.
        Specified by:
        keyRelease in interface RobotAdapter<JavafxRobotAdapter>
        Parameters:
        key - the key to press (must exist on a keyboard)
      • keyType

        public void keyType​(javafx.scene.input.KeyCode key,
                            String character)
      • getMouseLocation

        public javafx.geometry.Point2D getMouseLocation()
        Description copied from interface: RobotAdapter
        Returns the current position of the cursor in JavaFx coordinates
        Specified by:
        getMouseLocation in interface RobotAdapter<JavafxRobotAdapter>
        Returns:
        the current position of the mouse cursor
      • mouseMove

        public void mouseMove​(javafx.geometry.Point2D location)
        Description copied from interface: RobotAdapter
        Moves the mouse cursor to the given position in JavaFx coordinates
        Specified by:
        mouseMove in interface RobotAdapter<JavafxRobotAdapter>
        Parameters:
        location - the location in JavaFx coordinates to move the cursor to
      • mousePress

        public void mousePress​(javafx.scene.input.MouseButton button,
                               int clickCount)
      • mouseRelease

        public void mouseRelease​(javafx.scene.input.MouseButton button,
                                 int clickCount)
      • mouseClick

        public void mouseClick​(javafx.scene.input.MouseButton button,
                               int clickCount)
      • mousePress

        public void mousePress​(javafx.scene.input.MouseButton button)
        Description copied from interface: RobotAdapter
        Makes the robot press a mouse button.
        Specified by:
        mousePress in interface RobotAdapter<JavafxRobotAdapter>
        Parameters:
        button - the button to press
      • mouseRelease

        public void mouseRelease​(javafx.scene.input.MouseButton button)
        Description copied from interface: RobotAdapter
        Makes the robot release a mouse button.
        Specified by:
        mouseRelease in interface RobotAdapter<JavafxRobotAdapter>
        Parameters:
        button - the button to release
      • mouseClick

        public void mouseClick​(javafx.scene.input.MouseButton button)
      • mouseDrag

        public void mouseDrag​(javafx.scene.input.MouseButton button)
      • mouseWheel

        public void mouseWheel​(int wheelAmount)
        Description copied from interface: RobotAdapter
        Makes the robot to simulate a action of the mouse wheel.
        Negative values indicate movement up/away from the user, positive values indicate movement down/towards the user.
        Specified by:
        mouseWheel in interface RobotAdapter<JavafxRobotAdapter>
        Parameters:
        wheelAmount - the amount to scroll
      • getCapturePixelColor

        public javafx.scene.paint.Color getCapturePixelColor​(javafx.geometry.Point2D location)
        Description copied from interface: RobotAdapter
        Gets the color of a pixel at the given JavaFx coordinates. The returned Color is in the JavaFx color space. //TODO Due to technical reasons, there might be a deviation in color.
        Specified by:
        getCapturePixelColor in interface RobotAdapter<JavafxRobotAdapter>
        Parameters:
        location - of the pixel in JavaFx coordinates, to retrieve the color for
        Returns:
        the Color of the given Pixel in the JavaFx color space
      • getCaptureRegion

        public javafx.scene.image.Image getCaptureRegion​(javafx.geometry.Rectangle2D region)
        Description copied from interface: RobotAdapter
        Captures a region of the screen. The returned Image is in the JavaFx color space. //TODO Due to technical reasons, there might be a deviation.
        Specified by:
        getCaptureRegion in interface RobotAdapter<JavafxRobotAdapter>
        Parameters:
        region - the region to capture in JavaFx coordinates
        Returns:
        a image of the region