Blog
Dar una introducción la tecnología Selenium
Conocer los componentes que conforman esta librería
¿Qué es Selenium?
Selenium es un entorno de pruebas de software portátil para aplicaciones web. Selenium proporciona una herramienta de reproducción (anteriormente también de grabación) para las pruebas de autoría sin necesidad de aprender un lenguaje de scripting de pruebas (Selenium IDE). También proporciona un lenguaje específico de dominio de prueba (Selenese) para escribir pruebas en un número de lenguajes de programación populares, incluyendo C#, Groovy, Java, Perl, PHP, Python, Ruby y Scala. Las pruebas pueden entonces correr en la mayoría de los navegadores web modernos. Selenium se despliega en plataformas Windows, Linux y MacOS. Es un software de código abierto, publicado bajo la licencia Apache 2.0: los desarrolladores web pueden descargarlo y usarlo sin cargo.
Componentes de Selenium
Selenium tiene varios componentes, cada uno de los cuales asume un papel específico para ayudar al desarrollo de la automatización de pruebas de aplicaciones web.
Selenium IDE
Selenium IDE es un entorno de desarrollo integrado (IDE) completo para las pruebas de selenium. Se implementa como un complemento de Firefox y permite grabar, editar y depurar pruebas. Anteriormente era conocido como Selenium Recorder. Selenium-IDE fue creado originalmente por Shinya Kasatani y donado al proyecto Selenium en 2006.
Los scripts pueden ser automáticamente grabados y editados manualmente, proporcionando soporte de autocompletado y la capacidad de mover comandos rápidamente. Los scripts se graban en selenés, un lenguaje especial de scripting de pruebas para selenium. Selenese proporciona comandos para realizar acciones en un navegador (haga clic en un enlace, seleccione una opción) y para recuperar datos de las páginas resultantes.
API cliente selenium
Como alternativa a las pruebas de escritura en selenés, las pruebas también pueden ser escritas en varios lenguajes de programación. Estas pruebas luego se comunican con Selenium llamando a los métodos de la API del Cliente Selenium. Selenium actualmente proporciona APIs de cliente para Java, C#, Ruby, JavaScript y Python.
Con Selenium 2, se introdujo una nueva API de cliente (con WebDriver como componente central). Sin embargo, el antiguo API (utilizando la clase Selenium) sigue siendo compatible.
Selenium WebDriver
Selenium WebDriver es el sucesor de Selenium RC. Selenium WebDriver acepta comandos (enviados en selenés o a través de una API de cliente) y los envía a un navegador. Esto se implementa a través de un controlador de navegador específico, que envía comandos a un navegador y recupera los resultados. La mayoría de los controladores de navegador lanzan y acceden a una aplicación de navegador (como Firefox, Chrome, Internet Explorer o Microsoft Edge); también existe un controlador de navegador HtmlUnit, que simula un navegador utilizando HtmlUnit.
A principios de 2012, Simon Stewart (inventor de WebDriver), que en aquel entonces estaba con Google y ahora con Facebook, y David Burns de Mozilla negociaban con el W3C para hacer de WebDriver un estándar de Internet. En julio de 2012, se publicó el borrador de trabajo. Selenium-Webdriver (Selenium 2.0) está completamente implementado y soportado en Python, Ruby, Java y C#.
Selenium Remote Control
Selenium Remote Control (RC) es un servidor, escrito en Java, que acepta comandos para el navegador vía HTTP. RC permite escribir tests automatizados para una aplicación web en cualquier lenguaje de programación, lo que permite una mejor integración del selenium en los marcos de prueba de unidades existentes. Para facilitar las pruebas de escritura, el proyecto Selenium actualmente proporciona controladores cliente para PHP, Python, Ruby,. NET, Perl y Java. El controlador Java también se puede utilizar con JavaScript (a través del motor Rhino). Se necesita una instancia de servidor selenium RC para lanzar el caso de prueba html – lo que significa que el puerto debe ser diferente para cada ejecución paralela. Sin embargo, para el caso de prueba Java/PHP sólo una instancia de Selenium RC necesita estar funcionando continuamente
Con el lanzamiento de Selenium 2, Selenium RC ha sido oficialmente desaprobado a favor de Selenium WebDriver.
Selenium Grid
Selenium Grid es un servidor que permite a las pruebas utilizar instancias de navegador web ejecutándose en máquinas remotas. Con Selenium Grid, un servidor actúa como el hub. Las pruebas se ponen en contacto con el hub para obtener acceso a las instancias del navegador. El hub tiene una lista de servidores que proporcionan acceso a las instancias del navegador (nodos WebDriver) y permite que las pruebas utilicen estas instancias. Selenium Grid permite ejecutar pruebas en paralelo en múltiples máquinas, y gestionar centralmente diferentes versiones de navegador y configuraciones de navegador (en lugar de en cada prueba individual).
La capacidad de ejecutar pruebas en instancias remotas de navegador es útil para distribuir la carga de pruebas entre varias máquinas, y para ejecutar pruebas en navegadores que se ejecutan en diferentes plataformas o sistemas operativos. Esto último es particularmente útil en los casos en que no todos los navegadores que se utilizarán para las pruebas pueden ejecutarse en la misma plataforma.
a
➡ Aprende mucho mas con nuestro curso Selenium con Python en el que aprenderás todo sobre Selenium: