Watir = Web Application Testing in Ruby
Pronunciado igual que "Water"
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 ésta edición, Watir permite automatizar Internet Explorer, Mozilla Firefox, Google Chrome y Safari
Disponible como una Gema de Ruby.
Watir fue desarrollado inicialmente por Bret Pettichord y Paul Rogers, aunque al ser un proyecto abierto, tiene una lista creciente de participantes.
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.
Funcionalidad
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. 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.
Watir-Classic
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.
Watir-webdriver
Watir-rspec es una especificación automatizada del API de Watir. Se utiliza con la herramienta de testing Rspec que implementa Behavior Driven Development (BDD).
Watir-rspec
Es una gema para el framework de desarrollo de aplicaciones web Ruby on Rails para implementar Watir en el mismo.
Watir-rails
Ejemplos
Alternativas
1. Celerity: es similar a Watir, pero emula un navegador en vez de navegar en uno real.
2. Vapir: es un fork de Watir con arreglos a fallas, cambios de API y nuevas funcionalidades.
3. WatiN: de las siglas Web Application Testing In .NET. Es similar a Watir, solo que está implementada en el Framework .NET
4. Watij: de las siglas Web Application Testing in Java. Es similar a Watir, solo que está implementada en Java.
5. Win32::Watir Es similar a Watir, pero está implementada en Perl.
7. Selenium: es un Framework de testing portable para aplicaciones web.
8. iMacros: similar a Watir, pero esta incluye grabaciones visuals, soporte para web scrapping y un objeto COM para uso de cualquier lenguaje de programación. (Sólo para Windows)
Capybara
Gracias!
Brian Díaz
Jordani Rozón