Class SeleniumUtil

java.lang.Object
giis.demo.descuento.it.SeleniumUtil

public class SeleniumUtil extends Object
Utilidades varias para uso en los tests con Selenium
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final org.slf4j.Logger
     
    private static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    Obtiene la url a probar a partir de la especificada en la configuracion y el puerto indicado como parametro, si no existe el fichero de propiedades, utiliza localhost como valor por defecto Si el valor del puerto indicado en el parametro mayor que cero, usa este valor independientemente del que se haya configurado en el fichero de propiedades
    private static URL
     
    static org.openqa.selenium.WebDriver
    Instancia un WebDriver para el navegador usado en estos tests (Chrome).
    static String
    getProperty(String propFileName, String propName, String defaultValue)
     
    static String
     
    static String
    Obtiene la url del remote web driver de selenium, si no existe el fichero de configuracion, develve "" (driver local)
    static String[][]
    getTableContent(org.openqa.selenium.WebElement tableElement)
    Utilidad para obtencion de todos los elementos de una tabla a partir del WebElement que apunta a esta.
    private static String[][]
    listToStringMatrix(List<List<String>> irows, int maxcol)
     
    static void
    sleep(long millis)
     
    static void
    takeScreenshot(org.openqa.selenium.WebDriver driver, String name)
    Toma una imagen de la vista actual del navegador y lo guarda en target/screenshots.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • log

      private static final org.slf4j.Logger log
    • SELENIUM_PROPERTIES

      private static final String SELENIUM_PROPERTIES
      See Also:
  • Constructor Details

    • SeleniumUtil

      public SeleniumUtil()
  • Method Details

    • getNewDriver

      public static org.openqa.selenium.WebDriver getNewDriver()
      Instancia un WebDriver para el navegador usado en estos tests (Chrome). WebDriver es un interface que debe instanciarse con el driver correspondiente al navegador a utilizar, pero no existe una factoria que lo haga, por lo que se utiliza este metodo.
      Notar la diferencia entre driver, que es el fichero externo que realiza el interfaz con el navegador y los bindings (Selenium Client and WebDriver Language Bindings) que son las dependencias que definen los metodos con los que se interactua con WebDriver. Tambien existe un remote web driver que permite ejecutar el navegador en otro equipo diferente.
      Estos drivers son archivos ejecutables que se guardaran en las carpetas de recursos pero que no se pueden obtener directamente mediante maven. Para automatizar la obtencion de los drivers locales se utiliza el componente webdrivermanager que se encarga de descargar y poner accesibles los binarios en el path.
      Returns:
      el WebDriver instanciado.
    • getRemoteWebDriverUrl

      public static String getRemoteWebDriverUrl()
      Obtiene la url del remote web driver de selenium, si no existe el fichero de configuracion, develve "" (driver local)
    • getRemoteWebDriverProperty

      public static String getRemoteWebDriverProperty()
    • getApplicationUrl

      public static String getApplicationUrl(int port)
      Obtiene la url a probar a partir de la especificada en la configuracion y el puerto indicado como parametro, si no existe el fichero de propiedades, utiliza localhost como valor por defecto Si el valor del puerto indicado en el parametro mayor que cero, usa este valor independientemente del que se haya configurado en el fichero de propiedades
    • getNativeUrl

      private static URL getNativeUrl(String url)
    • getProperty

      public static String getProperty(String propFileName, String propName, String defaultValue)
    • getTableContent

      public static String[][] getTableContent(org.openqa.selenium.WebElement tableElement)
      Utilidad para obtencion de todos los elementos de una tabla a partir del WebElement que apunta a esta. Obtiene como un string y por orden todos los elementos encerrados entre th o tr. Como La tabla puede no tener un numero igual de celdas en cada fila, el numero de columnas devuelto sera el de la fila mas larga.
      Parameters:
      tableElement - WebElement que apunta a un elemento table.
      Returns:
      Matriz de strings con el contenido de cada celda (incluyendo headers).
    • listToStringMatrix

      private static String[][] listToStringMatrix(List<List<String>> irows, int maxcol)
    • takeScreenshot

      public static void takeScreenshot(org.openqa.selenium.WebDriver driver, String name)
      Toma una imagen de la vista actual del navegador y lo guarda en target/screenshots.
      Parameters:
      name - nombre que se dara a la imagen (le anyade un timestamp para diferenciar imagenes guardadas en la misma sesion)
    • sleep

      public static void sleep(long millis)