28

Puppeteer vs Selenium: diferencias

23941Puntos

hace 2 años

Si vienes del ambiente de testing seguramente ya conoces Selenium o Puppeteer. Si no es tu caso, hoy te traigo un resumen con las diferencias entre los dos y ejemplos de uso que te pueden ayudar a entender cuando puedes utilizar uno u otro.

¿Qué son Puppeteer y Selenium?

Ambas son herramientas que nos permiten controlar el navegador pero observemoslas más a detalle

Selenium

Tal vez también ya conozcas Selenium. Selenium es un proyecto general para una gama de herramientas y bibliotecas que permiten y admiten la automatización de navegadores web.Aclaremos algunos términos que de pronto podrían parecer confusos o que oímos usar intercambiablemente.

Selenium: es un conjunto de herramientas para la automatización del navegador
WebDriver: un protocolo estándar para la comunicación entre el framework de prueba y los navegadores
JSON Wire: una versión anterior de dicho protocolo

Para esta comparación nos enfocaremos en Selenium WebDriver. A comparación con Puppeteer nos permite hacer:

  • Tiene un soporte más amplio de navegadores
  • Tiene soporte para más lenguajes de programación
  • Puedes tener acceso a un recorder de pruebas con Selenium IDE.

Puppeteer

Si ya pudiste leer ¿qué es Puppeteer?, seguro ya sabes con más profundidad qué es Puppeteer y qué puedes hacer con su API. Pero a comparación con Selenium, Puppeteer:

  • Ofrece más control sobre el navegador
  • Elimina la dependencia de un driver externo
  • Comparación de imágenes nativas
  • Modo Headless por defecto y mucho más rápido
  • Permite web scraping de forma mñas fácil.
  • Mide los tiempos de renderizado y carga mediante la herramienta de análisis de rendimiento de Chrome.

¿Cuándo utilizar Puppeteer o Selenium?

Como pudiste observar las cosas que pueden hacer ambos son muy parecidas , obvio con sus respectivas diferencias, no hay una herramienta mejor que otra, todo va a depender de tus necesidades o las del proyecto donde te encuentres trabajando.

Tal vez el soporte a diferentes navegadores sea muy importante para ti, entonces lo mejor será selenium, pero si tu aplicación sólo ofrece soporte para chrome y te preocupa la velocidad de ejecución de las pruebas , entonces con puppeteer estas mas que cubierto con los navegadores con base chromium (chrome, opera, edge) ya que si bien no puedes controlar en específico estos navegadores, muchas veces lo que corre en chrome o chromium correrá en estos navegadores sin problemas. Cabe destacar que puppeteer si ofrece soporte para firefox, además tendrás acceso a esas funcionalidades extra que nos da puppeteer vs selenium.

Es genial, ¿no? Para que puedas profundizar los conocimientos adquiridos en el primer Curso de Introducción a Automatización de Pruebas con Puppeteer, te invito a tomar el segundo curso de la saga, el Curso Avanzado de Automatización de Pruebas con Puppeteer, donde vas a crear tu propio framework de test y (otras cosas que puede ser interesante), que podrá hacer parte de tu portafolio como tester.

Javier
Javier
Escribe tu comentario
+ 2
Ordenar por:
4
10252Puntos

Que se venga la escuela de QA manual y Automation ! 💪💪

2
9183Puntos

Yo actualmente estoy trabajando con Cypress, hay un curso, )un poco desactualizado) en Platzi muy bueno y estoy encantado

1
10252Puntos

Necesitamos un curso de Java con Selenium

1
12863Puntos

Que tal si construimos entre todos un chatziPlatzi Spammer?

//** Capitulo uno: este eres tu queriendo spammear el chat de Platzi live un jueves por la tarde *///** Capitulo uno: Para mandarle muchos besitos a angela; entonces: en la consola del nav*///! Accedemos buscamos el valor del textArea donde se envian los mensajes en el Chat*/const hola = document.getElementsByClassName("ChatForm-field")
//** Donde hola es el array; y apuntandole a hola[0].value  podemos guardar el emoji  :* como string */functionmandar(besitos) { 
		for ( let i= 0 ; i <= besitos; i++ ) { 
//*# Capitulo 2: coficiar la parte donde automatizas el presionar enter y pasarle los emojis *
			hola[0].value += i
		 }		 
	}; mandar(besitos=1000)

jajaj debe ser mas compilcado así que usando puppeteer alguno sabe?

1
3857Puntos

Buenas tardes, y muchas gracias por el articulo @javier-fuentes-mora podrías indicarme como iniciar con automation para mobile? Gracias.

2
2 años

Hola, en Platzi aun no hay cursos para test automation para mobile , pero esperamos pronto sacar uno de Appium, 😄

1
2 años

si por favor saquen uno de appium jejeje…
nos sabia que ya habia visto que ya estaba el curso de introduccion a la automatización; muy pronto lo tomaré… (=

1
16412Puntos

Yo he construido scrappers con Python y Selenium, luego hice un proyecto complejo, y utilicé https://playwright.dev/, ahora es el que uso.

1
19205Puntos

No conocia Puppeteer, lo probaré 😃!