Titiritero Web Scraping y Automatización de pruebas: una excelente guía de aprendizaje del Tutorial de titiritero 3

Tutorial de titiritero - Automatización de pruebas de titiritero

Hoy en día, el Titiritero está recibiendo más atención como una herramienta de raspado web. Debido a la simplicidad, la disponibilidad como herramienta de código abierto y la capacidad de desarrollar aplicaciones de una sola página, Puppeteer está ganando popularidad. Antes de comenzar a aprender sobre la herramienta de raspado web Puppeteer, debemos tener un conocimiento básico de la línea de comandos, Javascript y la estructura DOM de HTML. El tutorial Titiritero se ha dividido en algunos artículos que se especifican en la siguiente tabla de contenido.

Tutorial de titiritero

Tutorial de Tosca # 1: Descripción general del titiritero

Tosca Tutorial # 2: Variables de entorno del titiritero

Tosca Tutorial # 3: Descripción general de la automatización de pruebas de titiritero y raspado web de titiritero

Tosca Tutorial # 4: Instalar Titiritero 

En este artículo del Tutorial de titiritero, analizaremos el raspado web titiritero con un ejemplo y una descripción general de la automatización de la prueba de titiritero. 

Raspado de telarañas titiritero

El proceso de extracción de datos de cualquier página web se denomina web scraping. El web scraping consta de dos pasos. En primer lugar, busca la página web y luego extrae los datos. Después de la extracción de datos, podemos usarlos para cualquier API o almacenarlos en un archivo CSV. 

Puppeteer es una de las mejores herramientas para admitir el raspado web para el navegador Google Chrome o Chromium. El raspado web del titiritero se explica en detalle con el siguiente ejemplo: 

Ejemplo básico de raspado de telarañas titiritero:

Paso 1# El Puppeteer funciona en la biblioteca Node JS. Entonces, el primer paso es incluir la biblioteca de titiriteros antes de escribir el guión para el web scraping.

const puppeteerObj = require("puppeteer");

Paso 2# Después de incluir la clase Titiritero, necesitamos escribir una función asíncrona usando la palabra clave await. Se requiere ya que Puppeteer usa promesas. Luego llame al método Puppeteer.launch () para invocar el navegador y llame al método newPage () para crear una instancia de página web.

const browserWeb = await puppeteerObj.launch();
const pageWeb = await browserWeb.newPage();

Paso 3# Ahora llame al método page.goto () para proporcionar la URL del sitio web deseado.

await pageWeb.goto("https://lambdageeks.com/");

Paso 4# Utilice el método page.evaluate () para capturar el texto de cualquier elemento en particular (en este ejemplo, capturaremos el texto del encabezado). 

const data = await pageWeb.evaluate(() => {   
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };

Discutiremos cómo identificar cualquier objeto de la pantalla web en el próximo tutorial.

Tutorial de titiritero - Raspado de telarañas titiritero
Tutorial de titiritero - Raspado de telarañas titiritero

Paso 5# En este último paso, necesitamos procesar los datos y luego cerrar la página web. El código completo de Puppeteer Web Scraping se verá a continuación:

const puppeteer = require("puppeteer");

async function scrap() {
  // Launch the browser
  const browserApp = await puppeteer.launch();
  // Create a page instance
  const pageApp = await browserApp.newPage();
  // invoke the web page for scraping
  await pageApp.goto("https://lambdageeks.com/");

  // Select any web element
const data = await pageApp.evaluate(() => {   
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };

// Here we can do anything with this data. Here displaying the data
console.log(header);

 //We close the browser
  await browserApp.close();
}

Scrap();

Paso 6# Ahora, podemos ejecutar este código de raspado web titiritero usando el comando:  nodo index.js

Nota: En el siguiente artículo, "Instalar Puppeteer", discutiremos la configuración de instalación de Puppeteer y ejecutaremos el código de Web Scraping de Puppeteer anterior.

Descripción general de la automatización de pruebas de titiritero

Además del web scraping, Puppeteer tiene las características para realizar las siguientes actividades también,

  • Realice capturas de pantalla de páginas web.
  • Podemos guardar la pantalla de la página web como un archivo pdf.
  • Se puede lograr la automatización de pasos manuales para realizar pruebas de IU.

Entonces, combinando todas las características anteriores, podemos usar el Titiritero para la automatización de pruebas. Para comprender la automatización de pruebas de titiriteros, primero debemos familiarizarnos con las pruebas de software.

Resumen de pruebas:

Se requieren pruebas para garantizar que se cumplan todos los requisitos del software sin ningún problema. Hay diferentes tipos de ciclos de prueba disponibles desde el comienzo del proceso de desarrollo de software. El software se puede probar manualmente o mediante un enfoque automatizado.

Los propósitos de las pruebas de software son:

  • Verifique la calidad de los productos.
  • Encuentre los errores del producto antes de la implementación de producción.
  • Se cumplen los requisitos de verificación.
  • Probando el desempeño del producto.

Los tipos de pruebas se explican aquí:

Examen de la unidad - Los desarrolladores son los responsables de realizar pruebas unitarias durante la fase de desarrollo del código.

Pruebas de integración - Esta prueba es necesaria después de integrar los diferentes componentes del producto de software. El objetivo principal es garantizar que todas las interfaces funcionen sin problemas.

Pruebas del sistema - Es una prueba detallada que debe realizarse después de la integración para garantizar que se cumplan todos los requisitos.

Pruebas de aceptación del usuario - También es una prueba detallada que debe realizar el usuario final del producto para garantizar la calidad.

Prueba regresiva - Es necesario para garantizar que el proceso empresarial principal funcione sin problemas durante cualquier mejora de software.

Ventajas de la automatización de pruebas:

  • Reducir el ciclo de ejecución.
  • Evite las posibilidades de errores humanos.
  • Minimice los esfuerzos de ejecución de la prueba.
  • Lanzamiento de software rápido.
  • Aumente la cobertura de las pruebas para reducir el riesgo.
  • Capacidad para realizar ejecución paralela.

¿Por qué Titiritero?

La mayoría de las operaciones manuales realizadas en el navegador Chrome se pueden automatizar utilizando Puppeteer. Por lo tanto, Puppeteer es una buena opción para realizar pruebas unitarias en aplicaciones web de forma rápida y sencilla. 

Las limitaciones de Puppeteer como herramienta de prueba de automatización son:

  • Solo es compatible con los navegadores Chrome y Chromium.
  • No es posible realizar pruebas con el navegador Coss.
  • No se pueden realizar pruebas móviles.

Prueba de cromo sin cabeza:

El navegador sin cabeza significa que Puppeteer está interactuando con un navegador Chrome como una aplicación en segundo plano, lo que significa que la interfaz de usuario de Chrome no es visible en la pantalla. Por lo tanto, la prueba de Chrome sin cabeza significa que la prueba de automatización se realizará en un navegador oculto. Además, después de la prueba de cromo sin cabeza, el Puppeteer puede capturar la pantalla web correctamente.

Titiritero vs selenio

Tutorial de titiritero - Titiritero vs selenio
Tutorial de titiritero - Titiritero vs selenio

La comparación entre Puppeteer y Selenium como herramienta de prueba de automatización se explica a continuación:

  • Soporte de lenguaje de programación - Puppeteer solo admite JavaScript, donde Selenium admite los lenguajes Java, Python, Node.js y C #.
  • Soporte del navegador - Puppeteer es aplicable solo para el navegador Chrome o Chromium, pero Selenium es compatible con los navegadores Chrome, Mozilla, Safari, IE, Opera también.
  • Soporte comunitario - Soporte de la comunidad restringido a Grupos de Google, GitHub y Stack Overflow para Puppeteer. Pero para Selenium, está disponible un amplio soporte de la comunidad en múltiples foros.
  • Velocidad de ejecución - La ejecución del script Puppeteer es más rápida que la de Selenium.
  • Instalación y configuración - La instalación y configuración de Puppeteer es un proceso más fácil y sencillo.
  • Soporte multiplataforma - Titiritero no lo admite, pero Selenium sí.
  • Grabación - Las funciones de grabación no están disponibles en Puppeteer. Pero esta función está disponible para Selenium IDE.
  • Capturas de pantalla - Puppeteer tiene la capacidad de tomar una captura de pantalla como una imagen o formato pdf, donde Selenium solo admite formato de imagen.
  • Soporte de plataforma de prueba - Puppeteer solo admite navegadores web, pero Selenium puede automatizar la web y los dispositivos móviles con Appium.
  • Habilidades de codificación - Es necesario para el controlador Puppeteer Selenium Web pero no para Selenium IDE.

Con base en la comparación anterior, podemos concluir que Puppeteer tomará la mejor decisión cuando tengamos que realizar pruebas de nivel de unidad para cualquier aplicación web donde se requiera una solución rápida y flexible. La otra herramienta, Selenium, será la mejor opción cuando sea necesario realizar pruebas de aplicaciones móviles y de aplicaciones multiplataforma. Hacer clic aquí para aprender Selenium de LambdaGeeks.

Conclusión:

En este artículo introductorio sobre el Tutorial de Puppeteer, hemos aprendido sobre la descripción general de Puppeteer Web Scraping y Puppeteer Test Automation. Aprenderemos sobre la guía paso a paso para instalar Puppeteer y ejecutar un pequeño script en el próximo artículo de Puppeteer. Por favor haz click aquí para visitar el portal de referencia de este Tutorial de titiritero.

Sobre K Mondal

Hola, soy K. Mondal, estoy asociado con una organización líder. Tengo más de 12 años de experiencia laboral en varios dominios, por ejemplo, desarrollo de aplicaciones, pruebas de automatización, consultor de TI. Estoy muy interesado en aprender diferentes tecnologías. Estoy aquí para cumplir con mi aspiración y actualmente contribuyo como autor y desarrollador de sitios web en LambdaGeeks.
Conéctese a LinkedIn- https://www.linkedin.com/in/kumaresh-mondal/

Deja un comentario

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