Overview

Is Selenium for you? See an overview of the different project components.

Page being translated from English to Spanish. Do you speak Spanish? Help us to translate it by sending us pull requests!

Selenium no es solo una herramienta o API, sino que compone muchas herramientas.

WebDriver

Si está comenzando con la automatización de pruebas de sitios web de escritorio, entonces va a utilizar las API de WebDriver utiliza las API de automatización del navegador proporcionadas por los desarrolladores de los navegadores para controlar el navegador y ejecutar pruebas. Esto es como si un usuario real estuviera manipulando el navegador. Dado que el WebDriver no requiere que su API se compile con el código de la aplicación que va a probar, no es de naturaleza intrusiva. Por lo tanto, está probando la misma aplicación que está en vivo.

IDE

IDE (Integrated Development Environment) es la herramienta que usas para desarrollar tus casos de prueba con Selenium. Es una extensión para Chrome y Firefox muy sencilla de usar y es generalmente la forma mas eficiente de desarrollar casos de prueba. Esta graba las acciones del usuario en el navegador, usando los comandos existentes en Selenium, con parámetros definidos por el contexto de cada elemento. No solo sirve para ahorrar tiempo sino que también es una forma excelente de aprender la sintaxis de scripts de Selenium.

Grid

Selenium Grid te permite ejecutar casos de prueba en diferentes maquinas a través de diferentes plataformas. La gestión que desencadena las ejecuciones de los casos de prueba se realiza en la parte local, y cuando los casos de prueba se hayan disparado, automáticamente serán ejecutados en la parte remota.

Poco después del desarrollo de las pruebas de WebDriver, es posible que deba ejecutar sus pruebas en múltiples combinaciones de navegador y sistema operativo. Aquí es donde Grid viene al rescate.

1 - A Deeper Look

Selenium es un proyecto que alberga un catálogo de herramientas y librerías que permiten y sustentan la automatización de navegadores web.

Page being translated from English to Spanish. Do you speak Spanish? Help us to translate it by sending us pull requests!

Selenium controla los navegadores web

Selenium significa muchas cosas pero en su núcleo, es un conjunto de herramientas para la automatización de navegadores web que utiliza las mejores técnicas disponibles para controlar remotamente las instancias de los navegadores y emular la interacción del usuario con el navegador.

Permite a los usuarios simular interacciones básicas realizadas por los usuarios finales; insertando texto en los campos, seleccionando valores de menús desplegables y casillas de verificación, y haciendo clics en los enlaces de los documentos. También provee muchos otros controles tales como el movimiento del mouse, la ejecución arbitraria de JavaScript, y mucho más.

A pesar de que es usado principalmente para pruebas de front-end de sitios webs, Selenium es en esencia una librería de agente de usuario para el navegador. Las interfaces son ubicuas a su aplicación, lo que fomenta la composición con otras librerías para adaptarse a su propósito.

Una interfaz para gobernarlos a todos

Uno de los principios fundamentales del proyecto es permitir una interfaz común para todas las tecnologías de los (principales) navegadores. Los navegadores web son aplicaciones increíblemente complejas y de mucha ingeniería, realizando operaciones completamente diferentes pero que usualmente se ven iguales al hacerlo. Aunque el texto se presente con las mismas fuentes, las imágenes se muestren en el mismo lugar y los enlaces te llevan al mismo destino. Lo que sucede por debajo es tan diferente como la noche y el día. Selenium abstrae estas diferencias, ocultando sus detalles y complejidades a la persona que escribe el código. Esto le permite escribir varias líneas de código para realizar un flujo de trabajo complicado, pero estas mismas líneas se ejecutarán en Firefox, Internet Explorer, Chrome y los demás navegadores compatibles.

Herramientas y soporte

El diseño minimalista de Selenium le da la versatilidad para que se pueda incluir como un componente en otras aplicaciones. La infraestructura proporcionada debajo del catálogo de Selenium te da las herramientas para que puedas ensamblar tu grid de navegadores de modo que tus pruebas se puedan ejecutar en diferentes navegadores a través de diferente sistemas operativos y plataformas.

Imagina un banco de computadores en tu sala de servidores o en un centro de datos, todos ejecutando navegadores al mismo tiempo e interactuando con los enlaces en tu sitio web, formularios, y tablas—probando tu aplicación 24 horas al día. A través de la sencilla interfaz de programación proporcionada para los lenguajes más comunes, estas pruebas se ejecutarán incansablemente en paralelo, reportando cuando ocurran errores.

Es un objetivo ayudar a que esto sea una realidad para ti, proporcionando a los usuarios herramientas y documentación para controlar no solo los navegadores pero también para facilitar la escalabilidad e implementación de tales grids.

Quien utiliza Selenium

Muchas de las empresas más importantes del mundo han adoptado Selenium para sus pruebas basadas en navegador, a menudo reemplazando esfuerzos de años que involucran otras herramientas propietarias. A medida que ha crecido en popularidad, también se han multiplicado sus requisitos y desafíos.

A medida que la web se vuelve más complicada y se agregan nuevas tecnologías a los sitios web, la misión de este proyecto es mantenerse al día con ellos siempre que sea posible. Siendo un proyecto de código abierto, este apoyo se sustenta a través de la donación generosa de tiempo de muchos voluntarios, cada uno de los cuales tiene un “trabajo diurno”.

Otra misión del proyecto es alentar a más voluntarios a participar en este esfuerzo, y construir una comunidad fuerte para que el proyecto pueda seguir el ritmo de las tecnologías emergentes y seguir siendo una plataforma dominante para la automatización de pruebas funcionales.