miércoles, 19 de junio de 2013

Tests jsf2 con Selenium y sobre Liferay

Al usar selenium ide todo el codigo que se genera utiliza los ids de los elementos del html, con jsf2 tenemos un problema debido a que a veces se autogeneran ids y estos cambian cada vez que se abre la página.
Ejemplo de ids autogenerados:

Nuevo

<div id="A1087:form:menubar" ............

Para evitar esto se pueden modificar los tests generados con selenium para seleccionar los elementos usando xpath.
Lo que he utilizado de momento ha sido:
Para seleccionar un elemento que contenga una parte de un id:

   
type

    //input[contains(@id,'name')]

    NOMBRE


Para seleccionar un elemento del cual su contenido es:

   
clickAndWait

    //span[contains(., 'Nuevo')]

   

Generar fechas automáticas 2 meses en adelante:
 
   
store

    javascript{var dates = new Date();var day = 1;if (day < 10){day = '0' + day;} month = dates.getMonth() + 3;if (month < 10){month = '0' + month;}var year = dates.getFullYear();day + '/' + month + '/' + year}

    dateFrom


   
type

    //input[contains(@id,'date-from_input')]

    ${dateFrom}



Despues estoy intentando que mis tests pasados a junit se ejecuten mediante maven con el siguiente tutorial:

http://www.integratingstuff.com/2011/09/29/continuous-integration-on-liferay-running-your-selenium-2-tests-on-the-tomcat-6-bundle/

No hay comentarios: