Class Helpers


  • public final class Helpers
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void assertHasOpenedURL​(java.lang.String url)  
      static void clickActionButton​(java.lang.String buttonLabel)
      Clicks on a button based on its label.
      static <T extends BaseComponent>
      T
      clickBaseComponentAction​(ActionComponent<T> actionComponent)
      Clicks (by execution ActionComponent#perform) on a ActionComponent (representing i.e.
      static <T extends Dialog>
      T
      clickDialogAction​(ActionComponent<T> button)
      Clicks (by execution ActionComponent#perform) on a ActionComponent (representing a button) for which it's expected a dialog is opened and returns the dialog when opened.
      static <T extends Dialog>
      T
      clickDialogAction​(com.codeborne.selenide.SelenideElement button, T dialog)
      Clicks on a button for which it's expected a dialog is opened and returns the dialog when opened.
      static void dragOnPage​(com.codeborne.selenide.SelenideElement dragElement, com.codeborne.selenide.SelenideElement targetElement)
      Drad and drop an element to another element
      static org.openqa.selenium.Cookie getCookie​(java.lang.String cookieName)  
      static com.fasterxml.jackson.databind.JsonNode getCookieValue​(java.lang.String cookieName)  
      static boolean isElementTopMost​(java.lang.String selector)
      This method will evaluate if the element is top most on it's position (top,left) An element could be behind another element with another z-index and webdriver.io isVisible() will return true anyway With that helper method it's possible to identify if the element is visible to the user It will not consider partial overlays, the check is done at the top,left position.
      static java.util.List<java.lang.String> listOpenURLs()  
      static void setAffinityCookie​(com.adobe.cq.testing.client.CQClient client)  
      static boolean switchToURL​(java.lang.String expectedUrl)  
      static void waitDocumentLoadCompleted()
      Await that the document load is fully completed.
      static void waitDOMIdled​(long pollingInterval)
      Await that page source (DOM) isn't changed within consecutive polling interval.
      static void waitFirstContentPaint()
      Await until the window.performance metrics contains the First Content Paint.
      static boolean waitForAlert​(int timeout)
      Waits until alert is visible.
      static void waitForElementAnimationFinished​(com.codeborne.selenide.SelenideElement target)  
      static void waitForElementAnimationFinished​(java.lang.String selector)
      Waits until animation for the element is finished.
      static boolean waitForListSizeChange​(int originalSize, com.codeborne.selenide.ElementsCollection list, int timeout)
      Waits for the change of the size of a list, i.e.
      static void waitForOpen()
      Waits till a coral-dialog is open.
      static void waitMetricsIdled​(long pollingInterval, java.lang.String name)
      Await that number of window.performance metrics related name changed within consecutive polling interval.
      static void waitNetworkIdled​(long pollingInterval)
      Await that all open network connections are completed within consecutive polling interval.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • waitForAlert

        public static boolean waitForAlert​(int timeout)
        Waits until alert is visible.
        Parameters:
        timeout - - timeout in milliseconds.
        Returns:
        true if it has an alert.
      • waitForElementAnimationFinished

        public static void waitForElementAnimationFinished​(java.lang.String selector)
        Waits until animation for the element is finished.
        Parameters:
        selector - The element sector
      • waitForElementAnimationFinished

        public static void waitForElementAnimationFinished​(com.codeborne.selenide.SelenideElement target)
        Parameters:
        target - the element that is targeted.
      • listOpenURLs

        public static java.util.List<java.lang.String> listOpenURLs()
        Returns:
        list of urls current opened in the controlled browser.
      • assertHasOpenedURL

        public static void assertHasOpenedURL​(java.lang.String url)
      • switchToURL

        public static boolean switchToURL​(java.lang.String expectedUrl)
        Parameters:
        expectedUrl - the pattern to find in the url.
        Returns:
        true if switchTo the window with the given URL matcher happened.
      • waitForOpen

        public static void waitForOpen()
        Waits till a coral-dialog is open.
      • clickActionButton

        public static void clickActionButton​(java.lang.String buttonLabel)
        Clicks on a button based on its label.
        Parameters:
        buttonLabel - The label of the button
      • clickDialogAction

        public static <T extends Dialog> T clickDialogAction​(com.codeborne.selenide.SelenideElement button,
                                                             T dialog)
        Clicks on a button for which it's expected a dialog is opened and returns the dialog when opened.
        Type Parameters:
        T - type of Dialog
        Parameters:
        button - The button to click on and the dialog is expected to open
        dialog - The dialog that should be opened by button click
        Returns:
        The provided dialog when it was opened by button click
      • clickDialogAction

        public static <T extends Dialog> T clickDialogAction​(ActionComponent<T> button)
        Clicks (by execution ActionComponent#perform) on a ActionComponent (representing a button) for which it's expected a dialog is opened and returns the dialog when opened.
        Type Parameters:
        T - The dialog class extending Dialog that is expected to by click to the button
        Parameters:
        button - The ActionComponent representing the button to click on and the dialog is expected to open
        Returns:
        The dialog provided for the ActionComponent instantiation when it was opened by button click
      • clickBaseComponentAction

        public static <T extends BaseComponent> T clickBaseComponentAction​(ActionComponent<T> actionComponent)
        Clicks (by execution ActionComponent#perform) on a ActionComponent (representing i.e. a button) for which it's expected an object extending BaseComponent is returned and returns the object when visible.
        Type Parameters:
        T - The component class extending BaseComponent that is expected by click to the action component
        Parameters:
        actionComponent - The ActionComponent representing the component (i.e. button) to click on and the returning component is expected to be returned
        Returns:
        The component provided for the ActionComponent instantiation when it was opened by action component click
      • waitForListSizeChange

        public static boolean waitForListSizeChange​(int originalSize,
                                                    com.codeborne.selenide.ElementsCollection list,
                                                    int timeout)
        Waits for the change of the size of a list, i.e. to get an indication if a filter result list was updated already
        Parameters:
        originalSize - : The size of the original list
        list - : The list to be checked for size change
        timeout - : The timeout to wait for
        Returns:
        if the size of the list was changed within the timeout
      • dragOnPage

        public static void dragOnPage​(com.codeborne.selenide.SelenideElement dragElement,
                                      com.codeborne.selenide.SelenideElement targetElement)
        Drad and drop an element to another element
        Parameters:
        dragElement - : The SelenideElement to be dragged
        targetElement - : The SelenideElement the dragElement should be dropped
      • isElementTopMost

        public static boolean isElementTopMost​(java.lang.String selector)
        This method will evaluate if the element is top most on it's position (top,left) An element could be behind another element with another z-index and webdriver.io isVisible() will return true anyway With that helper method it's possible to identify if the element is visible to the user It will not consider partial overlays, the check is done at the top,left position.
        Parameters:
        selector - - CSS selector for the element to check
        Returns:
        true if element is top most else false. If element is not existing false
      • waitFirstContentPaint

        public static void waitFirstContentPaint()
        Await until the window.performance metrics contains the First Content Paint.
      • waitNetworkIdled

        public static void waitNetworkIdled​(long pollingInterval)
        Await that all open network connections are completed within consecutive polling interval.
        Parameters:
        pollingInterval - polling interval for idle detection.
      • waitDocumentLoadCompleted

        public static void waitDocumentLoadCompleted()
        Await that the document load is fully completed.
      • waitDOMIdled

        public static void waitDOMIdled​(long pollingInterval)
        Await that page source (DOM) isn't changed within consecutive polling interval.
        Parameters:
        pollingInterval - polling interval for idle detection.
      • waitMetricsIdled

        public static void waitMetricsIdled​(long pollingInterval,
                                            java.lang.String name)
        Await that number of window.performance metrics related name changed within consecutive polling interval.
        Parameters:
        pollingInterval - polling interval for idle detection.
        name - marker name
      • setAffinityCookie

        public static void setAffinityCookie​(com.adobe.cq.testing.client.CQClient client)
        Parameters:
        client - force to set the affinity cookie on the browser to match the client one.
      • getCookie

        public static org.openqa.selenium.Cookie getCookie​(java.lang.String cookieName)
      • getCookieValue

        public static com.fasterxml.jackson.databind.JsonNode getCookieValue​(java.lang.String cookieName)