Package giis.demo.descuento.it
Class SeleniumUtil
java.lang.Object
giis.demo.descuento.it.SeleniumUtil
Utilidades varias para uso en los tests con Selenium
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.slf4j.Logger
private static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic 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 propiedadesprivate static URL
getNativeUrl
(String 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.
-
Field Details
-
log
private static final org.slf4j.Logger log -
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
Obtiene la url del remote web driver de selenium, si no existe el fichero de configuracion, develve "" (driver local) -
getRemoteWebDriverProperty
-
getApplicationUrl
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
-
getProperty
-
getTableContent
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
-
takeScreenshot
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)
-