Watir

De Wikipedia, la enciclopedia libre
Watir
Logotipo de Watir
Información general
Tipo de programa Automatización de pruebas
Desarrollador Bret Pettichord, Charley Baker, Angrez Singh, Jari Bakken, Jarmo Pertman, Hugh McGowan, Andreas Tolf Tolfsen, Paul Rogers, Dave Hoover, Sai Venkatakrishnan, Tom Copeland
Licencia Licencia BSD
Información técnica
Programado en Ruby
Versiones
Última versión estable 4.0 ( 30 de septiembre de 2012 (11 años, 7 meses y 12 días))
Enlaces

Watir (del acrónimo en inglés de Web Application Test in Ruby), pronunciado igual que "Water" (agua), es una familia de bibliotecas bajo la Licencia BSD para el lenguaje de programación Ruby que automatiza la operación de los navegadores web. Al momento de esta edición, Watir permite automatizar Internet Explorer, Mozilla Firefox, Google Chrome y Safari[1][2][3][4]​ y se encuentra disponible como una Gema de Ruby.[4][5]​ Watir fue desarrollado inicialmente por Bret Pettichord y Paul Rogers, aunque al ser un proyecto abierto, tiene una lista creciente de participantes.

Funcionalidad[editar]

La funcionalidad de Watir consiste en dos partes básicas:

  • Interactuar con el navegador de la misma forma que lo haría un usuario
  • Interpretar todos los elementos de HTML de la página de manera que pueden ser externamente interpretados e incluso manipulados.

Esto permite escribir scripts que manejen la ejecución automatizada de casos de prueba en la validación y verificación de funcionalidad de sistemas escritos para el navegador. Para ello el proyecto Watir consiste en varios proyectos menores siendo los principales Watir-classic, Watir-webdriver y watirspec.

Watir Classic[editar]

Watir-Classic hace uso de la funcionalidad de Incrustado y enlazado de objetos que Ruby tiene integrada. Por tanto es posible manejar el Internet Explorer programáticamente.[6]​ Watir-Classic opera diferente de otras herramientas de pruebas basadas en HTTP que emulan la existencia de un navegador, en vez de ello, Watir-Classic efectivamente inicia una instancia del navegador a través del protocolo OLE que está implementado sobre la arquitectura COM COM permite la comunicación entre procesos (por ejemplo entre Ruby e Internet Explorer) y la creación y manipulación dinámica de objetos, que es lo que hace Ruby con el Internet Explorer. Microsoft llama a esto "automatización OLE" y al programa que ejerce la manipulación lo llama controlador de automatización. Técnicamente el proceso de Internet Explorer es un servidor y sirve objetos de automatización al exponer sus métodos mientras que el programa escrito en Ruby se convierte en el cliente que manipula los objetos de automatización.

Watir-webdriver[editar]

Watir-webdriver es una versión moderna del API de Watir basada en Selenium. Selenium 2.0 (Selenium-webdriver) intenta ser la implementación de referencia para la especificación WebDriver. En el caso de Ruby, Jari Bakken el API de Watir como un envolvente ("wrapper") alrededor del API de Selenium 2.0. Dado que Watir-Webdriver es derivado tanto de Selenium 2.0 como de la especificación de HTML Watir-Webdriver debe ser siempre compatible con las especificaciones del W3C.

Watirspec[editar]

Watirspec es una especificación automatizada del API de Watir.

Herramientas similares[editar]

Dada la creciente complejidad de los sistemas de cómputo y la necesidad de entregar productos de software de mayor calidad, hay un número creciente de herramientas automatizadas de prueba, tanto comerciales como de código abierto que permiten ejecutar pruebas con mayor rapidez que si se realizan manualmente.

Referencias[editar]

  1. «Página web de Watir». Consultado el 24 de marzo de 2013.  (en inglés)
  2. «Getting started with OperaWatir». Sitio Web de desarrolladores de Opera,. Opera Software. Archivado desde el original el 23 de diciembre de 2012. Consultado el 11 de octubre de 2012.  (en inglés)
  3. «Watir to WebDriver: Unit Test Frameworks». Facebook Engineering's Notes. Facebook. Consultado el 23 de marzo de 2013.  (en inglés)
  4. a b Crispin, Gregory (2008). Agile Testing: A Practical Guide for Testers and Agile Teams. Addison-Wesley. p. 172. ISBN 9780321534460.  (en inglés)
  5. Marick, Brian (2007). Everyday Scripting with Ruby: For Teams, Testers, and You. Pragmatic Bookshelf. p. 2. ISBN 9780977616619.  (en inglés)
  6. «Creating automated test scripts with Ruby and WATIR». ThoughtWorks web site. ThoughtWorks.  (en inglés)

Enlaces externos[editar]