Class TouchActions


public class TouchActions extends FluentWebDriverAction
  • Constructor Details

    • TouchActions

      public TouchActions()
    • TouchActions

      public TouchActions(org.openqa.selenium.WebDriver driver)
    • TouchActions

      public TouchActions(DriverFactoryHelper helper)
  • Method Details

    • and

      public TouchActions and()
      Overrides:
      and in class FluentWebDriverAction
    • assertThat

      public WebDriverElementValidationsBuilder assertThat(org.openqa.selenium.By elementLocator)
    • verifyThat

      public WebDriverElementValidationsBuilder verifyThat(org.openqa.selenium.By elementLocator)
    • nativeKeyboardKeyPress

      public TouchActions nativeKeyboardKeyPress(TouchActions.KeyboardKeys key)
      Sends a key-press via the device soft keyboard.
      Parameters:
      key - the key that should be pressed
      Returns:
      a self-reference to be used to chain actions
    • hideNativeKeyboard

      public TouchActions hideNativeKeyboard()
      Hides the device native soft keyboard.
      Returns:
      a self-reference to be used to chain actions
    • tap

      public TouchActions tap(String elementReferenceScreenshot)
      Taps an element once on a touch-enabled screen
      Parameters:
      elementReferenceScreenshot - relative path to the reference image from the local object repository
      Returns:
      a self-reference to be used to chain actions
    • tap

      public TouchActions tap(org.openqa.selenium.By elementLocator)
      Taps an element once on a touch-enabled screen
      Parameters:
      elementLocator - the locator of the webElement under test (By xpath, id, selector, name ...etc.)
      Returns:
      a self-reference to be used to chain actions
    • doubleTap

      public TouchActions doubleTap(org.openqa.selenium.By elementLocator)
      Double-Taps an element on a touch-enabled screen
      Parameters:
      elementLocator - the locator of the webElement under test (By xpath, id, selector, name ...etc.)
      Returns:
      a self-reference to be used to chain actions
    • longTap

      public TouchActions longTap(org.openqa.selenium.By elementLocator)
      Performs a long-tap on an element to trigger the context menu on a touch-enabled screen
      Parameters:
      elementLocator - the locator of the webElement under test (By xpath, id, selector, name ...etc.)
      Returns:
      a self-reference to be used to chain actions
    • sendAppToBackground

      public TouchActions sendAppToBackground(int secondsToSpendInTheBackground)
      Send the currently active app to the background, and return after a certain number of seconds.
      Parameters:
      secondsToSpendInTheBackground - number of seconds before returning to the app
      Returns:
      a self-reference to be used to chain actions
    • sendAppToBackground

      public TouchActions sendAppToBackground()
      Send the currently active app to the background and leave the app deactivated.
      Returns:
      a self-reference to be used to chain actions
    • activateAppFromBackground

      public TouchActions activateAppFromBackground(String appPackageName)
      Activates an app that has been previously deactivated or sent to the background.
      Parameters:
      appPackageName - the full name for the app package that you want to activate. for example [com.apple.Preferences] or [io.appium.android.apis]
      Returns:
      a self-reference to be used to chain actions
    • pushFile

      public TouchActions pushFile(String deviceFilePath, String localFilePath)
      Uploads a file to the device or simulator/emulator. This is particularly useful for BrowserStack and other cloud-based mobile testing platforms that require files to be uploaded to the device before they can be used in tests (e.g., for file upload scenarios, camera roll testing, etc.).

      For Android: Uploads the file to the device's external storage or specified path. For iOS: Uploads the file to the app's sandbox container.

      Note: The file path on the device and the actual behavior may vary depending on the platform and testing environment (local Appium vs BrowserStack vs other cloud providers).

      Parameters:
      deviceFilePath - the absolute path where the file should be stored on the device. For Android example: "/sdcard/Download/sample.pdf" or "@com.example.app:id/files/sample.pdf" For iOS example: "@com.example.app/Documents/sample.pdf"
      localFilePath - the absolute or relative path to the file on the local machine that should be uploaded
      Returns:
      a self-reference to be used to chain actions
    • pushFile

      public TouchActions pushFile(String deviceFilePath, File localFile)
      Uploads a file to the device or simulator/emulator using a File object. This is particularly useful for BrowserStack and other cloud-based mobile testing platforms that require files to be uploaded to the device before they can be used in tests (e.g., for file upload scenarios, camera roll testing, etc.).

      For Android: Uploads the file to the device's external storage or specified path. For iOS: Uploads the file to the app's sandbox container.

      Note: The file path on the device and the actual behavior may vary depending on the platform and testing environment (local Appium vs BrowserStack vs other cloud providers).

      Parameters:
      deviceFilePath - the absolute path where the file should be stored on the device. For Android example: "/sdcard/Download/sample.pdf" or "@com.example.app:id/files/sample.pdf" For iOS example: "@com.example.app/Documents/sample.pdf"
      localFile - the File object representing the file on the local machine that should be uploaded
      Returns:
      a self-reference to be used to chain actions
    • pullFile

      public TouchActions pullFile(String deviceFilePath, String localFilePath)
      Downloads a file from the device or simulator/emulator to the local machine. This is useful for retrieving files that were generated or modified during test execution on mobile devices.

      For Android: Downloads the file from the device's file system. For iOS: Downloads the file from the app's sandbox container.

      Note: The file path on the device and the actual behavior may vary depending on the platform and testing environment (local Appium vs BrowserStack vs other cloud providers).

      Parameters:
      deviceFilePath - the absolute path to the file on the device that should be downloaded. For Android example: "/sdcard/Download/sample.pdf" For iOS example: "@com.example.app/Documents/sample.pdf"
      localFilePath - the absolute or relative path where the downloaded file should be saved on the local machine
      Returns:
      a self-reference to be used to chain actions
    • swipeToElement

      public TouchActions swipeToElement(org.openqa.selenium.By sourceElementLocator, org.openqa.selenium.By destinationElementLocator)
      Swipes the sourceElement onto the destinationElement on a touch-enabled screen
      Parameters:
      sourceElementLocator - the locator of the webElement that needs to be swiped (By xpath, id, selector, name ...etc.)
      destinationElementLocator - the locator of the webElement that you'll drop the sourceElement on (By xpath, id, selector, name ...etc.)
      Returns:
      a self-reference to be used to chain actions
    • swipeByOffset

      public TouchActions swipeByOffset(org.openqa.selenium.By elementLocator, int xOffset, int yOffset)
      Swipes an element with the desired x and y offset. Swiping direction is determined by the positive/negative nature of the offset. Swiping destination is determined by the value of the offset.
      Parameters:
      elementLocator - the locator of the webElement under test (By xpath, id, selector, name ...etc.)
      xOffset - the horizontal offset by which the element should be swiped. positive value is "right" and negative value is "left"
      yOffset - the vertical offset by which the element should be swiped. positive value is "down" and negative value is "up"
      Returns:
      a self-reference to be used to chain actions
    • swipeElementIntoView

      public TouchActions swipeElementIntoView(org.openqa.selenium.By targetElementLocator, TouchActions.SwipeDirection swipeDirection)
      Attempts to scroll the element into view in case of native mobile elements.
      Parameters:
      targetElementLocator - the locator of the webElement under test (By xpath, id, selector, name ...etc.)
      swipeDirection - SwipeDirection.DOWN, UP, RIGHT, or LEFT
      Returns:
      a self-reference to be used to chain actions
    • waitUntilElementIsVisible

      public TouchActions waitUntilElementIsVisible(String elementReferenceScreenshot)
      Waits until a specific element is now visible on the current screen
      Parameters:
      elementReferenceScreenshot - relative path to the reference image from the local object repository
      Returns:
      a self-reference to be used to chain actions
    • swipeElementIntoView

      public TouchActions swipeElementIntoView(String elementReferenceScreenshot, TouchActions.SwipeDirection swipeDirection)
      Attempts to scroll element into view using the new W3C compliant actions for android and ios and AI for image identification
      Parameters:
      elementReferenceScreenshot - relative path to the reference image from the local object repository
      swipeDirection - SwipeDirection.DOWN, UP, RIGHT, or LEFT
      Returns:
      a self-reference to be used to chain actions
    • swipeElementIntoView

      public TouchActions swipeElementIntoView(org.openqa.selenium.By scrollableElementLocator, String elementReferenceScreenshot, TouchActions.SwipeDirection swipeDirection)
      Attempts to scroll element into view using the new W3C compliant actions for android and ios and AI for image identification
      Parameters:
      scrollableElementLocator - the locator of the container/view/scrollable webElement that the scroll action will be performed inside
      elementReferenceScreenshot - relative path to the reference image from the local object repository
      swipeDirection - SwipeDirection.DOWN, UP, RIGHT, or LEFT
      Returns:
      a self-reference to be used to chain actions
    • swipeElementIntoView

      public TouchActions swipeElementIntoView(org.openqa.selenium.By scrollableElementLocator, org.openqa.selenium.By targetElementLocator, TouchActions.SwipeDirection swipeDirection)
      Attempts to scroll element into view using the new W3C compliant actions for android and ios
      Parameters:
      scrollableElementLocator - the locator of the container/view/scrollable webElement that the scroll action will be performed inside
      targetElementLocator - the locator of the webElement that you want to scroll to under test (By xpath, id, selector, name ...etc.)
      swipeDirection - SwipeDirection.DOWN, UP, RIGHT, or LEFT
      Returns:
      a self-reference to be used to chain actions
    • swipeElementIntoView

      public TouchActions swipeElementIntoView(String targetText)
      Attempts to scroll element into view using androidUIAutomator
      Parameters:
      targetText - element text to be used to swipe it into view
      Returns:
      a self-reference to be used to chain actions
    • swipeElementIntoView

      public TouchActions swipeElementIntoView(String targetText, TouchActions.SwipeMovement movement)
      Attempts to scroll element into view using androidUIAutomator
      Parameters:
      targetText - element text to be used to swipe it into view
      movement - SwipeMovement.VERTICAL or HORIZONTAL
      Returns:
      a self-reference to be used to chain actions
    • rotate

      public TouchActions rotate(org.openqa.selenium.ScreenOrientation orientation)
      Rotate between portrait and landscape modes
      Parameters:
      orientation - ScreenOrientation.LANDSCAPE or PORTRAIT
      Returns:
      a self-reference to be used to chain actions
    • pinchToZoom

      public TouchActions pinchToZoom(TouchActions.ZoomDirection zoomDirection)
      Attempts to zoom the current screen IN/ OUT in case of zoom enabled screen.
      Parameters:
      zoomDirection - ZoomDirection.IN or OUT
      Returns:
      a self-reference to be used to chain actions