Carlos Rodríguez
Rolando Tarqui Benito
ingri sepulveda
Ninja Code
Javier Fuentes Mora
Javier Fuentes Mora
Gabriel Cayoja
Ronald Riera Sanchez
Andrés Alvarado
Platzi
Javier A. Rosado Baltazar
Javier Fuentes Mora
Gerson Marín Escobedo Pérez
Javier Fuentes Mora
Osmel Jose Vera Isasis
Osmel Jose Vera Isasis
Gustavo Adolfo Escobar y Escobar
Samuel Espinoza Figueroa
Erick Alberto Avilés Méndez
const puppeteer = require('puppeteer'); describe('Mi primer test en puppeteer', () => { it('Debe abrir y cerrar el navegador', async () => { const browser = await puppeteer.launch({ // headless: true hace que no se habara el navegador y que las pruebas sean // más rápidas, el headless: false siempre nos abre el navegador headless: false, // slowMo nos indica en cámara lenta slowMo: 0, // devtools por defecto es false, si es true nos abre el devtools en el navegador devtools: false, // defaultViewport es un objeto con als dimensioens del viewport defaultViewport: { width: 2100, height: 1080, }, // argumentos en forma de array de la prueba args: [ // '--window-size=1920,1080', // tamaño de la ventana ], // máximiza el viewport de la página al tamaño de la ventana defaultViewport: null, }); const page = await browser.newPage(); await page.goto('https://www.google.com'); await page.waitForTimeout(5000); await browser.close(); }, 30000); });
Opciones de lanzamiento .launch()
Slow motion: hace la ejecución del test mas lento → slowMo: 1000,
headless: setear el uso de la interfaz del browser → headless: true/false
Timeout →it('debe abrir browser', async () => {},**30000**)
Devtools: herramientas de de desarrollo → devtools: true
Tamaño del view port:
defaultViewport: { width: 2100, height: 1080
Tamaño de la ventana → args: ['—windows-size=1920,1080']
setea pagina del tamaño de la browser (ventana normal de browser)→ defaultViewport: null
😊
Hola profesor, me ayudarias tengo el codigo bien pero lo lanzo y no me aparece nada sin Headless:
Hola, al parecer jest no esta encontrando tus tests, en el package.json , cuál es el el comando que tienes ? verifica que tus pruebas tengan el .test a veces eso ayuda a que las encuentre mejro jest
no encontro pruebas asegurate de haberlas nombrando bien y de usar la carpeta donde le dijiste que estarian
si estan haciendo este curso con la version 20 o posterior de Puppeteer el codigo para activar el headless cambio ligeramente ahora es asi:
it('open and close the browser', async ()=>{ const browser = await puppeteer.launch({ headless: "new" })
Como hago para ejecutar con Jest o con el Script del PackageJSON un archivo individual si en mi carpeta tengo varios archivos de practica, ya que cuando el comando "npm run test" en la terminal me ejecuta ambos archivos y no quiero porque retrasa mis pruebas o ejecución de archivos.
Por que una prueba sale fallida?
Una prueba puede salir fallida debido a varias razones, como respuestas erróneas de una API, timeouts, disponibilidad de servicios externos, errores en el código o en la prueba. También puede haber elementos dinámicos en una aplicación web que cambien entre ejecuciones de la prueba. Estos son algunos ejemplos de causas de pruebas fallidas.
No logro ubicar el repositorio de código que menciona. Alguien lo puede compartir?
al agregar el timeOut me aparece tachado y provoca que mi prueba de resultado prueaba no pasada, se lo comento y si prueba passed
await page.waitForTimeout(7000)
bueno puede ser que con ese timeout excedas el tiempo por default de jest , ademas mas adelante vemos los diferentes timeouts y como usarlos
HOLA COMPARTO MI CODIGO EN VISTA DE QUE "WAITFOTTIMEOUT" DEJO DE FUNCIONAR EN PUPPETEER EN LAS VERSIONES MAS RECIENTE 2024.
Es muy bonito lo que se puede hacer con Puppeteer, API robusta para controlar navegadores Chrome o Chromium, permitiendo la automatización de tareas de navegador que normalmente requerirían interacción manual. Veo muy interesante esta forma de automatizar pruebas.
# Opciones de lanzamiento**Slow motion:** hace la ejecucion del test mas lento slowMo:1000
**headless:** setear el uso de la interfaz del browser headless: true/false
**devtools** abre el inspeccionador del browser devtools: true/false
**defaultViewport:** tamaño de lo que se ve:bashdefaultViewport:{ width:2100, height: 1800}tamaño de la ventana:bashargs: \['--window-size=1920,1080']que el contenido este del tamaño de la ventana:bashdefaultViewport: null
Si 2 es menor que el tiempo que toma la prueba para ejecutarse aparece "failed". Si por ejemplo 1 es mayor que 2, sucede este escenario ya que se está programando que el tiempo de espera tarde mas que el tiempo máximo asignado para la prueba.