Pruebas Funcionales a OpenERP con Selenium IDE (PARTE I)

**En este artículo queremos agradecer a Janet Cardoso por hacer posible con su investigación, la utilización de la herramienta Selenium para su aplicación en pruebas funcionales a OpenERP. Gracias por el tiempo brindado a la causa.**

En estos tiempos de metodologías de programación pragmáticas y gestión de proyectos de forma ágil, la realización de pruebas a nuestro software cobra cada vez mayor importancia. En busca de facilitar la engorrosa tarea de realizar manualmente en cada iteración los casos de prueba planificados, están surgiendo numerosas herramientas para automatizar el proceso de prueba.

Selenium IDE (Integrate Development Environment) es un completo entorno de desarrollo integrado para realizar pruebas de software sobre aplicaciones WEB. Oficialmente “Selenium”, funciona como un framework de pruebas que puede ser utilizado en diferentes lenguajes como: C#, Java, Groovy, Perl, PHP, Python y Ruby. Sin embargo Selenium IDE funciona como una extensión (plug-in) del navegador Mozilla Firefox, ofreciendo una serie de funcionalidades muy interesantes que se podrán ver a lo largo de este artículo. Selenium IDE realiza la grabación de la acción seleccionada (navegación por una página) en un “script”, el cual se puede editar y parametrizar para adaptarse a los diferentes casos, y lo que es más importante su ejecución se puede repetir tantas veces como se quiera.

Esta herramienta permite al desarrollador de plataforma web ahorrarse mucho esfuerzo en cada iteración, pues solo tendrá que revisar manualmente los casos de pruebas fallidos y podrá automáticamente chequear que todo lo probado anteriormente continua funcionando como se espera. Para ello permite automatizar la realización de pruebas específicas (una acción en particular) o juegos de pruebas (un conjunto de acciones).

¿Cuáles son las principales características de Selenium IDE?

  • Grabación y reproducción fácil
  • Selección inteligente de campos usando ID, nombre o XPath según se necesite.
  • Autocompletado de los comandos de Selenium más comunes.
  • Pruebas de revisión cruzada
  • Depuración y puntos de verificación (breakpoint)
  • Almacenar las pruebas como Selanese, Ruby, Java y otros formatos.
  • Soporte al archivo user-extensions.js
  • Opción para acertar el título de la página.
  • Opción de modificarle a la medida con el uso de complementos
  • Su uso es libre

¿Cuáles otras cosas me permite hacer?

  • Realizar capturas de pantalla
  • Simular acciones de usuario en un navegador: clickear enlaces, rellenar formularios, comprobar que aparece cierto texto en pantalla, cerrar el navegador, pulsar teclas, etc.
  • Forzar eventos
  • Ejecutar JavaScript
  • Controlar popups
  • Abrir páginas nuevas
  • Validar que aparece cierto elemento HTML en la página, mediante XPATH o CSS3

Sigue leyendo

Pruebas Funcionales a OpenERP con Selenium IDE (PARTE II)

**En este artículo queremos agradecer a Janet Cardoso por hacer posible con su investigación, la utilización de la herramienta Selenium para su aplicación en pruebas funcionales a OpenERP. Gracias por el tiempo brindado a la causa.**

Tras varias investigaciones y pruebas realizadas hemos podido ajustar y configurar el Selenium con el fin de explotar al máximo sus fortalezas y realizar las pruebas funcionales sobre OpenERP de una forma más fácil y eficiente. La experiencia adquirida nos permite resumir y hacer notar sobre algunas especificidades a tener en cuenta, por ejemplo: como tratar los campos many2one, la mejor configuración del Locator Builders, estrategias para realizar las pruebas funcionales, entre otros.  Los consejos comentados en este artículo exigen de un conocimiento previo sobre el plug-in Selenium IDE. En caso de necesitar abundar más sobre el tema leer el artículo Pruebas Funcionales a OpenERP con Selenium IDE (PARTE I).

¿Cuál es la configuración del Locator Builders para OpenERP?

Por las características de los URL dinámicos de OpenERP se ajustó que la configuración del orden de los identificadores (localizadores) que mejor ha funcionado en las pruebas sobre OpenERP es el siguiente:

foto9

¿Qué me aconsejas para grabar las pruebas por funcionalidades?

A la hora de grabar las pruebas estas deben ser seccionadas por funcionalidad. A continuación un ejemplo de algunas que se realizaron sobre el módulo de “Control Interno” de la Suite de productos.

Sigue leyendo

¿Cómo resolver SYSTEM WARNING: ‘date_default_timezone_get() en MantisBT?

Hoy me aventuré a la actualización de la versión 1.2.12 del MantisBT. Descargué la última versión estable que tienen publicada oficialmente en Sitio Oficial de MantisBT(1.2.15) y se actualizó todo correctamente. El problema fue a la hora de configurar; en la pantalla de autenticación del MantisBT mostraba el siguiente error:

SYSTEM WARNING: ‘date_default_timezone_get() [function.date-default-timezone-get]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘America/Los_Angeles’ for ‘-8.0/no DST’ instead’ in ‘C:\xampp\htdocs\mantisbt_new\core.php’ line 254

Asi se veía mi pantalla de autenticación:

Error con date() en MantisBT

Error con date() en MantisBT

No pude evitar recordar que en mis primeras pruebas al MantisBT y en las exploraciones hacia sus facilidades me había pasado lo mismo. Sin dudas existe un problema en mi configuración que le impide al MantisBT seleccionar por defecto una zora horaria. Y esto hizo preguntarme: ¿Cuántas personas no tendrán la misma duda? ¿Por qué no documentar cómo se resuelve y facilitarle la búsqueda a muchos?

Sigue leyendo

Errores comunes instalando Geany en Windows

Esto es un post de continuación a Tutorial – Instalar Geany en Windows para compilar pdf .  Algunos de ustedes me escribieron comentándome que les daba error instalando el Geany para compilar pdf sobre Windows, y ciertamente es algo que puede pasar, pues las configuraciones de las PC son tan diversas que un simple cambio puede provocar que no se pueda instalar algún fichero. En los casos detectados los errores fueron:

Problema 1: No se completa la instalación de la dependencia rst2pdf en la consola de comandos
Descripción: El error se produce al ejecutar el comando python setup.py install, impidiendo la finalización de la instalación.
Causa: La PC no estaba conectada a internet y la instalación del rst2pdf necesitaba tener instalada la dependencia docutils.
Solución: Descargar e instalar la dependencia docutils

Problema 2: El Geany no compila pdf, da el error “rst2pdf no se reconoce como un comando interno o externo”
Descripción: Al compilar con el Geany un rst para convertirlo en pdf no reconoce el comando rst2pdf. Se intenta ejecutar el comando desde la consola de comandos y aparece el mismo error.
Causa: En las variables de entorno de Windows, no está configurado python ni la carpeta Script de python para compilar las dependencias Sigue leyendo

¿Cómo documentar módulos en OpenERP?

El proceso de documentación de un módulo permite reflejar datos específicos con el fin de apoyar la catalogación y versionado del mismo. La comunidad de OpenERP tiene sus orígenes en Bélgica por lo que se recomienda documentar en idioma inglés con el fin de homogeneizar la documentación con respecto a la comunidad. A groso modo, la documentación de un módulo en OpenERP consiste en utilizar los atributos del fichero __openerp__.py para describir y reflejar los datos propios del módulo; estos datos serán interpretados por el ORM para identificar cada uno de los módulos que se muestran en el listado de módulos disponibles en OpenERP.

Estructura informativa de los módulos

En el caso de los módulos de OpenERP, los campos disponibles para documentar un módulo específico son:

  • Nombre: Nombre del módulo. Ej. manufacturing
  • Descripción corta: Nombre de identificación comercial del módulo. Ej. Manufacturing industry profile.
  • Categoría: Nombre del Dominio Ej. Account
  • Descripción: Texto de descripción sobre las principales funcionalidades del módulo y sus objetivos.

Sigue leyendo

¿Cómo evaluar la calidad de un sitio web?

Muchas veces nos ha pasado que al programar un sitio web no tenemos ni idea de si cumple con los estándares de calidad para este tipo de producto, y esto pasa porque cuando aprendemos a programar realmente la formación se basa en optimización del código y lógica de programación. Muchos de los informáticos dirían para justificarse: Zapatero a su zapato! y no estan totalmente errados pues mundialmente en los proyectos de desarrollo sus integrantes son de varias profesiones; hay diseñadores, comunicadores, informáticos, psicólogos, etc., siempre en dependencia de la importancia y magnitud del trabajo, pero….¿Qué bondades puede brindar tener la base de estos conocimientos a los desarrolladores de software?

  1. Conocer que parámetros evalúan la calidad de un producto te hace programar en función de eso, por tanto, al final, habrá mayor calidad en tu código.
  2. Te permite comunicarte mejor con los demás miembros del equipo de desarrollo que tienen otros roles.
  3. Te garantiza calidad del producto final.

Sigue leyendo