Marco de Selenium de nivel experto 2021

En este tutorial, aprenderemos exhaustivamente sobre el marco de automatización de pruebas y diseñaremos y desarrollaremos el marco de Selenium desde cero hasta el nivel avanzado.

Dividamos esta serie de tutoriales en varios módulos para lograr el desarrollo de Selenium Framework con Java desde el concepto hasta el nivel avanzado.

Marco de selenio
Marco de automatización

Tipos de Selenium Framework y sus características

Se diseñan y construyen diferentes tipos de Selenium Framework teniendo en cuenta las necesidades de la aplicación que desea automatizar. Cada tipo diferente de marco de automatización de pruebas tiene diferentes características y ventajas / desventajas.

Podemos clasificar el Selenium Framework en las siguientes áreas:

  • Marco de automatización de pruebas basado en palabras clave 
  • Marco de automatización de pruebas basado en datos.
  • Marco híbrido 
  • Marco de automatización de pruebas del modelo de objeto de página 
  • Marco de automatización de pruebas de modelo de objeto de página híbrida 
  • Marco de automatización de pruebas de desarrollo impulsado por el comportamiento (BDD) 

Características del marco de Selenium de automatización de pruebas

Marco basado en palabras clave en Selenium

¿Qué es el marco impulsado por palabras clave?

El marco impulsado por palabras clave en selenium es un marco de Selenium construido alrededor de la función o el diseño donde la palabra clave impulsa el marco; veremos como. 

Cómo funciona el marco basado en palabras clave: 

Como se mencionó anteriormente, KDF depende o está diseñado en función de palabras clave, entonces, ¿qué es una palabra clave? 

Las palabras clave no son más que palabras de acción web (como hacer clic, escribir, mouseHover, switchFrame, etc.), ahora almacena estas palabras clave en algún repositorio (o digamos en archivos de Excel) y para todas las acciones de las palabras clave, define una clase (que es la utilidad WebAction que usa comandos de Selenium) y escribe métodos específicos para palabras clave específicas.

Ahora, el siguiente paso es básicamente de su script cuando menciona digamos que haga clic en algún elemento web y luego, en ese caso, la operación respectiva va al Repo de palabras clave (aquí en nuestro caso Excel y luego, dependiendo de la operación, llama a los métodos respectivos que había definido en la clase).

Además, tiene diferentes mecanismos de denuncia (digamos reportNg o Allure report ) que puede integrar con su marco de Selenium para encargarse de los informes.

ventajas del marco basado en palabras clave

  • KDF es fácil de diseñar y desarrollar 
  • La complejidad y la complejidad ciclomática no es tan alta 
  • Fácil de mantener y depurar.
  • La creación de KDF requiere menos esfuerzo y tiempo y se controla desde un único punto de activación mediante las palabras clave.

desventajas del marco impulsado por palabras clave 

  • KDF no es un marco exhaustivo y avanzado y carece de muchas características avanzadas de un marco que discutiremos más adelante.
  • La integración con varias herramientas de código abierto no es lo suficientemente flexible.
  • No se puede admitir ampliamente con varios marcos basados ​​en datos, es decir, ese marco que se impulsa y se requiere para manejar datos complejos como Texto de imagen, YML, PDF.
  • El marco impulsado por palabras clave no es tan seguro como Marco de modelo de objeto de página o híbrido.

Marco impulsado por datos en Selenium 

¿Qué es el marco impulsado por datos?

El marco basado en datos en selenio es un tipo de marco de Selenium que se basa en la función o el diseño donde los datos impulsan el marco; veremos como:

Cómo funciona el marco basado en datos

Data Driven Framework está diseñado para manejar tipos de datos complejos y variados para realizar la automatización de la aplicación.

Este tipo de marco es útil y está construido donde sus escenarios de automatización y casos de uso deben probarse con varios conjuntos de datos sobre las mismas funcionalidades.

Por lo tanto, los datos impulsan el flujo de automatización donde se prueban los mismos escenarios de prueba con respecto a diferentes conjuntos de datos, y DDF debería poder manejar varios tipos de datos, como Excel, CSV, YML, PDF, texto, base de datos, datos de imagen, etc.

Entonces puedes usar Proveedor de datos TestNG, datos parametrizados XML TestNG, administrador de conexión JDBC, manejador de datos PDF, YML manejador de datos. 

Puede utilizar Tesseract OCR para trabajar con el manejo de datos de imágenes.

Ventajas del marco basado en datos 

  • El marco basado en datos es muy versátil y robusto en términos de trabajar con múltiples tipos de formato de datos.
  • El mismo script se puede manejar para ejecutar con diferentes casos / casos de esquina con solo agregar varios conjuntos de datos condicionados por límites.
  • Fácil de mantener y depurar.
  • Puede manejar escenarios de automatización complejos

Desventajas del marco impulsado por datos

  • El diseño de DDF está estrechamente acoplado.
  • Una vez que se construye el marco, es menos probable que tenga soporte para mejoras nuevas y críticas en términos de áreas o herramientas de automatización. Lo que significa que la mejora no es sencilla.
  • Menos flexible y menos seguro en comparación con el marco de Hybrid Selenium o el marco de Page Object Model.

 

Marco híbrido en Selenium Automation

¿Qué es el marco híbrido?

El marco híbrido en selenio es un tipo de marco de selenio que básicamente se basa en la función o el diseño tomando el concepto de marco impulsado por palabras clave y basado en datos. 

¿Entonces  

Marco híbrido => Marco basado en datos + Marco basado en palabras clave.

Cómo funciona el marco híbrido

El marco híbrido respaldado e impulsado por Enfoque basado en palabras clave con la capacidad de manejar pruebas basadas en datos, por lo que ambas funciones están habilitadas con el repositorio de palabras clave y su implementación y junto con varios proveedores de datos y controladores Dala, que es la característica principal del marco basado en datos.

Modelo de objeto de página: marco de automatización de pruebas

¿Qué es el modelo de objetos de página? 

El marco de Page Object Model, como su nombre indica, es básicamente un diseño de marco de Selenium y se desarrolló en torno a las siguientes características y conceptos:

  • Toda la aplicación web está dividida en diferentes páginas web, y si a veces cada página web tiene enormes funcionalidades, se divide aún más en diferentes módulos de página según las funcionalidades. 
  • Ahora cada Los módulos de página o página representan una clase separada(Clase Java).
  • Todas las funcionalidades de la página (por ejemplo, iniciar sesión, registrarse, etc. para la página de destino) representan diferentes métodos en la clase Java, que en los troncos representa los diferentes métodos de la página.
  • Los localizadores de página no son más que los localizadores de las respectivas páginas / módulos y desarrollados y almacenados por Classic Page Factory o el Modelo de objeto de página personalizado.
  • Básicamente, desde Unit Test Framework (método @test), llamamos a diferentes métodos de página (creando los objetos de las clases de página) y, finalmente, diferentes métodos de página vuelven a llamar a los localizadores de páginas (elementos web de esas páginas web) 

Por qué Page Object Model || Ventajas de un modelo de objetos de página

El diseño del marco de Page Object Model es uno de los últimos modelos de marco utilizados en la industria, y presenta varias características avanzadas junto con él.  

  • Como toda la aplicación web está dividida en varias páginas web / módulos de página y, eventualmente, diferentes clases de página Java y métodos de página, por lo tanto, es más fácil mantener y depurar el código de manera centralizada. Entonces, en caso de cualquier cambio en las funcionalidades específicas de la página, solo tenemos que mantener el método específico.
  • Los localizadores de páginas se almacenan en la ubicación específica respectiva a las páginas / módulos, por lo que es más fácil de principal y depurar y también en caso de cualquier cambio en los elementos web.
  • El modelo de objeto de página proporciona el mejor modelo de seguridad en términos de nivel de marco de automatización, ya que las capas de página están débilmente acopladas y código centralizado (para las respectivas clases de página).
  • Con el diseño del marco de Page Object Model, puede respaldar y mejorar de manera exhaustiva su marco existente sin cambiar mucho en el diseño y seguir agregando utilidades y componentes del marco junto con él para manejar diferentes integraciones.
  • La integración de herramientas de terceros y tecnología también es flexible.
  • Se pueden conectar diferentes herramientas y funciones de informes y se pueden administrar y controlar de una mejor manera con el diseño del Modelo de objetos de página.
  • Puede diseñar el modelo Page Object utilizando el concepto clásico de page Factory o con la implementación de la interfaz. 

Veremos cómo diseñar el marco exhaustivo del Modelo de objetos de página aquí.

Marco de Selenium del modelo de objeto de página híbrida

El marco del modelo de objeto de página híbrido está diseñado con un enfoque en el que se combina el marco de trabajo impulsado por datos y el marco del modelo de objeto de página.

Aquí, en el marco del modelo de objeto de página híbrido, el diseño principal se basa en el modelo de objeto de página y utiliza el amplio controlador de datos para trabajar con las pruebas basadas en datos.

Diseñaremos el marco del modelo de objeto de página híbrida aquí. 

Marco de automatización de pruebas de desarrollo impulsado por el comportamiento (BDD) 

El marco BDD es un marco Selenium donde el diseño y el flujo de Automatización son impulsados ​​por el comportamiento.

¿Qué es el marco BDD? 

El marco BDD se controla o diseña en función del comportamiento de los casos de prueba o las acciones realizadas. 

En el marco BDD, utilizamos un idioma similar al inglés llamado idioma Gherkin, que es el punto de conducción del marco. 

El lenguaje de pepinillo está básicamente en el formato de dado, cuando, entonces (donde dado narra una condición previa cuando significa cuando realiza alguna operación en algún elemento web como, digamos, operación de clic, etc. y luego es básicamente para afirmación)

Herramientas y tecnologías necesarias para el marco de automatización

Selenium es una herramienta de código abierto y no proporciona ningún marco incorporado junto con. Por lo tanto, debe diseñar y desarrollar el marco de Selenium junto con herramientas y tecnologías. 

Podrías usar las herramientas para trabajar con Selenium Framework Development

  • Eclipse / Intellij Idea (como IDE de desarrollo)
  • Jenkins (como herramienta de CI si desea construir Pipeline CICD con automatización)
  • Maven / Gradle / Ant (como herramienta de construcción)
  • TestNg / JUnit (como marco de pruebas unitarias)
  • Paquetes / tarros de selenio (como dependencias de selenio)
  • Java / C # / Python (como lenguaje)
  • ReportNg / Extent Report / Allure (para funciones de informes)
  • Pila de ELK (si quieres construir avanzado INFORMES EN TIEMPO REAL)
  • Graylog (si quieres construir panel avanzado de registro en tiempo real de lo contrario, puede usar Log4J, etc.)
  • Tecnologías Tesseract OCR para el reconocimiento de imágenes y la automatización de texto de imágenes 
  • Fontbox, Pdfbox para capacidades de manejo de datos PDF
  • Apache POI para el manejo de datos de Excel
  • Sikuli / AutoIt para el manejo de casos de automatización de aplicaciones nativas.
  • Bibliotecas cliente de TestLink / Jira para la integración de las herramientas de gestión de TestCase con su marco de automatización 

Estas son las herramientas y la pila de tecnología más utilizadas y más utilizadas para construir un marco de Selenium sólido. 

Conclusión: Este tutorial Tuvimos una descripción general del marco de automatización de Selenium y las características de un marco de Selenium y las herramientas necesarias para construir un marco de automatización de pruebas robusto, en los próximos tutoriales analizaremos los principios de diseño y los patrones de diseño para construir un Selenium. framework y eventualmente terminaremos creando un framework en el que puedes usar tu propio enfoque. Para conocer el conjunto Tutorial de selenio que puedes visitar aquí y para Preguntas críticas de la entrevista de selenio haga clic aquí.

Sobre Debarghya

Yo mismo, Debarghya Roy, soy un ARQUITECTO de ingeniería que trabaja con una compañía de Fortune 5 y un colaborador de código abierto, con alrededor de 12 años de experiencia / conocimientos en varias tecnologías.
He trabajado con diversas tecnologías como Java, C #, Python, Groovy, UI Automation (Selenium), Mobile Automation (Appium), API / Backend Automation, Performance Engineering (JMeter, Locust), Security Automation (MobSF, OwAsp, Kali Linux , Astra, ZAP, etc.), RPA, automatización de ingeniería de procesos, automatización de mainframe, desarrollo de back-end con SpringBoot, Kafka, Redis, RabitMQ, ELK stack, GrayLog, Jenkins y también con experiencia en tecnologías de nube, DevOps, etc.
Vivo en Bangalore, India con mi esposa y tengo pasión por los blogs, la música, tocar la guitarra y mi Filosofía de vida es Educación para Todos, que dio origen a LambdaGeeks. Vamos a conectarnos a través de enlaces: https://www.linkedin.com/in/debarghya-roy/

Deja un comentario

Tu dirección de correo electrónico no será publicada.Los campos obligatorios están marcados *

Frikis Lambda