AUTOMATIZAR
Es la tecnología para realizar tareas con muy poca intervención humana
AUTOMATIZACIÓN DE SOFTWARE
Es esencial hoy en día, porque optimizamos tiempo y mejoramos todos
los procesos que nosotros tengamos ya que al momento de nosotros
automatizar un proceso se vuelve algo repetitivo, eso indica gran
calidad que podemos encontrar esos errores, adicionalmente a eso
como nosotros estamos optimizando reducimos esos tiempos y ese
tiempo lo podemos utilizar en unas tareas mas criticas que tengamos y
ahorrar dinero, así mejorar muchos procesos para la empresa.
Descripción de Selenium
Selenium es un conjunto de herramientas que permiten desarrollar scripts para pruebas de
aplicaciones Web en diversos lenguajes de programación como C#, Groovy, Java, .Net, Perl, PHP,
Python o Ruby y donde las pruebas pueden ejecutarse usando la mayoría de navegadores web.
Además, permite realizar pruebas funcionales en dispositivos móviles iPhone y Android.
Selenium es una herramienta estructurada que permite la organización de nuestro código aun
entorno web . Es como si nosotros simuláramos un actor que pudiera ejecutar esas pruebas a un
entorno web reduciendo el tiempo que se tomaría una persona normal al ejecutar una prueba.
Selenium es un frameword ( conjunto de reglas y convicciones que se usan para desarrollar
software de manera mas eficiente y rápida ) para optimizar pruebas funcionales en el navegador
web .
Selenium es un conjunto de utilidades que facilita la labor de obtener juegos de pruebas para
aplicaciones web. Para ello nos permite grabar, editar y depurar casos de prueba, que podrán ser
ejecutados de forma automática e iterativa posteriormente.
Selenium es una herramienta de pruebas para aplicaciones web que emplea scripts en cualquier
lenguaje de programación para realizar pruebas en el navegador. En pocas
palabras, Selenium automatiza el uso del navegador y, con este poder, las posibilidades de uso
están abiertas
Historia
Selenium fue originalmente desarrollado por Jason Huggins en 2004 y pronto se unieron al esfuerzo otras personas especialistas en pruebas y programación. Selenium es un software de código abierto que funciona bajo la licencia apache 2.0 que puede ser descargada y usada sin cargo. Selenium es una herramienta de código abierto que se utiliza para automatizar las pruebas realizadas en los navegadores web.
Espera, antes de dejarte llevar, permíteme reiterar que, solo Selenium puede probar las aplicaciones web.
No podemos probar ninguna aplicación de escritorio (software) ni probar ninguna aplicación móvil con Selenium.
Es un fastidio ¿verdad? Puedo sentir tu dolor.
Pero no te preocupes, hay muchas herramientas para probar software y aplicaciones móviles como: RFT de IBM, QPT de HP, Appium y muchas más.
El enfoque es probar aplicaciones web dinámicas y por qué Selenium es el mejor para ese propósito.
Dado que Selenium es de código abieLo cual es una gran ventaja sobre otras herramientas de prueba.rto, no hay costes de licencia involucrados.
¿ Qué hace Selenium?
Selenium es un entorno de pruebas que se utiliza para comprobar si el software que se está desarrollando funciona correctamente. Esta herramienta permite: grabar,
editar y depurar casos de pruebas que se pueden automatizar.
¿Para qué sirve Selenium?
El principal objetivo de Selenium es comprobar que el software funciona de forma correcta. Los usuarios que trabajan con esta herramienta son programadores QA o
Engineer QA, que se dedican a no solamente comprobar que todo funcione de forma correcta, sino también para evitar que existan problemas a largo plazo, ya que es
ahí, donde se encuentra la mejor característica de Selenium.
A día de hoy, contiene un conjunto de herramientas de software y cada una presenta una perspectiva diferente. Muchos programadores deciden aplicar una o dos al
mismo tiempo para automatizar los proyectos.
Qué tipo de pruebas se pueden hacer con Selenium?
Esta herramienta permite: grabar, editar y depurar casos de pruebas que se pueden automatizar. Lo interesante de Selenium es que se pueden editar acciones o crearlas desde cero. También ayuda mucho en las pruebas de regresión porque
consigue pruebas automatizadas que luego se pueden reutilizar cuando se necesite.
¿Cuáles son las principales características?
Las principales características de esta herramienta de automatización de software son:
Las acciones se pueden ejecutar punto a punto.
Contiene la opción de autocompletar a la hora de escribir código.
Se puede referenciar a objetos DOM: nombre, ID o con XPath.
Ejecuta test complejos que ahorra tiempo de trabajo.
Abarca puntos de verificación y una gran depuración.
Permite el almacenamiento en varios formatos de los test realizados.
¿ Qué se necesita para aprender Selenium?
Selenium necesita un navegador web instalado en el sistema para poder funcionar. Dentro de las opciones disponibles están Chrome, Firefox, Edge,
Internet Explorer y Safari.
¿Qué empresas usan Selenium?
Selenium, de manera sencilla, son un conjunto de herramientas de automatización de pruebas de software de código abierto que se convirtió en estándar en el mundo del
control de calidad. En la actualidad, se usa en compañías como Netflix, Google, HubSpot, Fitbit y más
Ventajas de selenium
-Es de tipoOpen source
-Automatiza generalmente aplicativos web
-Aplicativos móviles
-Aplicaciones cliente servidor
-Actualmente usado en el 90% del mercado de automatización
-Distintos lenguajes de programación(java y python ) .
Otras razones detrás de la creciente popularidad de Selenium son:
Los scripts de prueba se pueden escribir en cualquiera de estos lenguajes de programación: Java, Python, C #, PHP, Ruby, Perl y .Net
Las pruebas se pueden realizar en cualquiera de estos sistemas operativos: Windows, Mac o Linux
Las pruebas se pueden llevar a cabo utilizando cualquier navegador: Mozilla Firefox, Internet Explorer, Google Chrome, Safari u Opera
Se puede integrar con herramientas como TestNG y JUnit para gestionar casos de prueba y generar informes
Se puede integrar con Maven, Jenkins y Docker para lograr pruebas continuas
DESVENTAJAS
-Podemos usar Selenium solo para probar aplicaciones web. No podemos probar aplicaciones de escritorio ni ningún otro software
-No hay soporte garantizado disponible para Selenium.
-Necesitamos aprovechar las comunidades disponibles
-No es posible realizar pruebas en imágenes. Necesitamos integrar Selenium con Sikuli o Applitools para pruebas basadas en imágenes.
-No hay una instalación de informes nativa. Pero podemos superar ese problema integrándolo con marcos como TestNG o JUnit
Selenium recibe los comandos , y los envía atreves de un
driver al navegador en el que se ejecutaran las acciones que
realizaran las pruebas , tiene tres componentes.
Selenium WebDriver( para recibir y enviar los comandos al
navegador.
Selenium ID ( para grabar y reproducir acciones creando
pruebas sin usar un lenguaje scripting)
Selenium Grid (para realizar pruebas en distintos equipos y
navegadores al mismo tiempo).
Algunas de sus ventajas es que es opensourse es compatible
con los navegadores y sistemas operativos mas utilizados y
soportan los principales lenguajes de programación.
Selenium IDE
Selenium IDE permite editar, grabar y depurar lo que se muestra en el navegador. Ha s ido diseñado como una extensión de navegador con soporte en Firefox y Chrome. Pres enta una herramienta de línea de comandos para integrar s ervidores o ejecuciones de pruebas paralelas.
Entre s us características encontramos la configuración de puntos de ruptura, funciones de depuración, soporte para integración de terceros o reutilizar casos de pruebas .
Originalmente se conoció comoSelenium Recorder. Se pueden des arrollar s cripts de pruebas al crear una grabación y de esa manera se puede editar manualmente con sentencias y comandos para que la reproducción de la grabación sea correcta.
Selenium IDE: Es un entorno de desarrollo implementado como una extensión de Firefox y permite grabar, editar y depurar pruebas funcionales. Una vez ejecutada una prueba, se desarrollan una serie de scripts en un lenguaje de scripting especial para Selenium el cual provee comandos que ejecutan acciones sobre objetos en el navegador. Esta herramienta permite una fácil
grabación y reproducción de scripts mediante la selección inteligente de campos usando el identificador, el nombre o el xpath según se disponga o se necesite. Esta herramienta es muy útil para el desarrollo de casos de pruebas donde se tienen que realizar gran cantidad de verificación de no conformidades cada vez que es desarrollado un producto de software o se realizan
modificaciones de éste. Selenium automatiza el proceso de pruebas y permite ejecutar un conjunto de pruebas completo si es necesario o pruebas particulares.
Entorno de Trabajo de Selenium IDE
imagen anterior se muestra la interfaz de trabajo de Selenium IDE. Al lado derecho se encuentran los comandos que se ejecutarán. Estos comandos se pueden grabar mediante el botón rojo de grabación o entrar manualmente en el formulario que vemos en la parte inferior donde aparece: Command, Target, y Value.
En parte superior de la ventana de pruebas se muestra una barra donde se puede modificar la velocidad de la prueba y la configuración de las pruebas que se quieren ejecutar. También es posible ejecutar la prueba paso a paso o pausar la ejecución actual. Además, Selenium permite agrupar los casos de prueba en un conjunto
llamado Suit Test.
En Selenium IDE, seleccione el botón GRABAR rojo que está en el lado superior derecho de la pantalla para iniciar la grabadora. Se abre la dirección URL que eligió en el paso anterior. Realice las acciones que quiere grabar en el sitio web.
En la parte inferior derecha, puede ver el estado de la grabación.
https://www.selenium.dev/selenium-ide/docs/en/introduction/control-flow
https://www.youtube.com/watch?
v=pKwNb8tqjf8&t=635s
Selenium Remote Control (RC)
Selenium RC es un sistema cliente/servidor que permite
controlar los navegador web de forma local o en otro
ordenador, utilizando diferentes Una de sus ventajas es que se
puede utilizar casi cualquier lenguaje de programación y
formato de pruebas..
El mismo fue el framework inicial de todos los proyectos
Selenium por mucho tiempo. Es la primera herramienta de
pruebas de automatización que permite a los usuarios
desarrollar sobre diferentes lenguajes de programación.
Selenium Remote Control también fue conocido como
Selenium 1, luego se fusionó con Selenium WebDriver.
Selenium WebDriver
Permite utilizar un navegador de forma local o en remoto. No es necesario un servidor especial, ya que se inicia una instancia del navegador y así se puede controlar. Cualquiera de estos lenguajes son compatibles con Selenium WebDriver: PHP,
Java, .Net, Perl, Ruby o Python.
Selenium WebDriver es un recurso que se utiliza para automatizar pruebas de sistemas. Esta herramienta permite al usuario reproducir el ambiente real de la aplicación. A lo que se suma, que a través de una extensión se pueden crear los scripts
de prueba de manera sencilla.
Selenium WebDriver: es un entorno de automatización de pruebas que opera a partir de los lenguajes de programación mencionados en la definición de Selenium. La principal contribución de WebDriver son los controladores nativos que dan soporte a distintos navegadores (Internet Explorer, Mozilla Firefox, Google Chrome, Opera y Safari). Debido a que Selenium
tiene las restricciones propias de Javascript (lenguaje con el que está hecho), WebDriver va más allá y dependiendo del navegador que queramos probar utiliza el mecanismo más apropiado, por ejemplo en Mozilla Firefox se implementa como una extensión, para Internet Explorer hace uso de los objetos propios de automatización. Incluso puede hacer uso de las
características de los navegadores desde el punto de vista del sistema operativo. Gracias a WebDriver ya no es necesario de un navegador web real para lanzar los test sino que utiliza una aplicación basada en HtmlUnit para simular el navegador. A partir de la versión 2 de Selenium se dispone de toda la funcionalidad que se tenía hasta ahora y adicionalmente, si es
requerida, las capacidades de WebDriver.
Selenium Grid es un servidor que permite usar instancias de
navegador habilitando la ejecución en forma paralela de varias
pruebas simultáneas en varias máquinas. Es un entorno con
múltiples instancias, que contiene un hub y múltiples nodos. El
hub es un servidor “master” que controla y se comunica con
nodos.
Selenium Grid
Selenium Grid acepta ejecutar pruebas con varios navegadores a la vez y con diferentes sistemas operativos, por ejemplo con Google Chrome o Android. También permite reducir considerablemente el tiempo que tarda un paquete de pruebas en completarse. Es una
excelente opción para proyectos de gran tamaño, ya que permite ahorrar tiempo.
Selenium La instalación es un proceso de 3 pasos:
Paso 1: Instalar el SDK de Java.
Paso 2: Instalar Eclipse.
Paso 3: Instalar Selenium Archivos de controlador web.
Paso 4: Configurar Eclipse IDE con WebDriver.
Manual de Instalación para Selenium WebDriver
Para realizar la automatización de pruebas funcionales con Selenium WebDriver se debe descargar de la página de descargas de Selenium un archivo comprimido dependiendo del lenguaje en el cual se quiera realizar las pruebas. Para este manual, las pruebas se realizarán en Java utilizando como IDE Netbeans. A continuación se describen los pasos que se deben realizar:
Descargar de https://www.selenium.dev/downloads/
Pasos 1- Instalar Java JDK (Java Software Development Kit)
2- Crear variable de entorno JAVA_HOME
3- Actualizar variable de entorno Path con directorio de JDK
4- Instalar Eclipse IDE for Java Developers 5- Descargar chromedriver
Conclusiones
Selenium es una de las mejores herramientas de
testing en la actualidad. Es una herramienta muy
avanzada y permite gestionar casi cualquier necesidad
dentro de un proyecto de software. Selenium permite
ahorrar tiempo y recursos a largo plazo gracias a su
automatización.