Abriendo y cerrando el navegador
Clase 6 de 15 • Curso de Automatización de Pruebas con Puppeteer
Contenido del curso
Clase 6 de 15 • Curso de Automatización de Pruebas con Puppeteer
Contenido del curso
Guillermo Castaño Vèlez
Junior Mosquera Mosquera
Kath Bonilla
Jesus Cuadro
Carlos Rodríguez
primqt n/a
Yan Harold Muñoz Dominguez
Laura Guadalupe Basto Moreno
Eduardo Renderos
Rolando Tarqui Benito
Jair Israel Avilés Eusebio
ingri sepulveda
OSCAR RICO
Erick Alberto Avilés Méndez
Nancy Julieth Mancera Gutierrez
Gustavo Adolfo Torres Quintana
Jonathan Rivera
Jeferson Andrés Cruz Herrera
Jose Miguel Lopez
Luis José Hernández
andres medina
Javier Fuentes Mora
Javier Fuentes Mora
david alvarez
Javier Fuentes Mora
Javier Fuentes Mora
Yhover Graig Ticona Donaires
Yan Harold Muñoz Dominguez
Luca Cussino
Cristian Rubio
Erick Vicentin
Javier Fuentes Mora
Alguien de el Platzi team que pueda poner los recursos de los que habla el profesor? ya van carios videos que promete recursos y no están en la ventana. Gracias
A la fecha de publicar este aporte la prueba falla cuando se implementa el método waitForTimeout, según vs este método ya está deprecado. Les comparto mi código.  Advertencia: esta API ahora está obsoleta.
Reemplazar con new Promise(r => setTimeout(r, milliseconds));.
Hace que su secuencia de comandos espere el número dado de milisegundos.
Tambien se puede usar para definir el tiempo:
await new Promise((resolve) => setTimeout(resolve, 5000))
Aquí el código del proyecto:
const puppeteer = require('puppeteer'); describe('Mi primer test en puppeteer', () => { it('Debe abrir y cerrar el navegador', async () => { const browser = await puppeteer.launch({ headless: false, }); const page = await browser.newPage(); await page.goto('https://www.google.com'); await page.waitForTimeout(5000); await browser.close(); }, 10000); });
Si les da error del navegador solo deben instalar el chromium desde la carpeta de node_modules
cd ./node_modules/puppeteer npm run install
el responsable de los cursos que ponga los recursos que faltan aqui por dios es cierto que ya van varios videos y no pone nada y uno que esta aprendiendo se pierde yo al menos ya me perdi
En la nueva versión de Puppeteer ya no está disponible la función de waitForTimeout en 2024
await page.waitForTimeout(5000); -> En la documentación actual ya se trabaja con promesas
await new Promise(resolve => setTimeout(resolve, 5000)); -> Versión actual
Gracias por tu comentario, precisamente algo así me estaba imaginando cuando me fallo esa linea.
Gracias por la aclaracion
en que min pusiste el :
it('Debe abrir y cerrar el navegador', async () => { ...... }, 10000);
1000 ?
No lo muestra en la clase pero sale un error de timeout durante la ejecucion de la prueba. Un segundo es sufieciente.
😊
//importar puppeteer const puppeteer = require('puppeteer') //escribir la prueba describe(' Mi primer test en puppeteer',()=>{ it('Debe de abrir y cerrar el navagador', async() =>{ const browser = await puppeteer.launch({ headless: false }) const page = await browser.newPage() / await page.goto('https://es.wikipedia.org/wiki/Wikipedia:Portada') //el navegador.. navega a.... await page.waitForTimeout(1000) await browser.close() }) })
A la fecha esta obsoleta la funcion para hacer un delay: await page.waitForTimeout(5000); se pruede reemplazar por estas 2 opciones: new Promise(r => setTimeout(r, 5000)) /// otra solucion await page.evaluate(() => { return new Promise((resolve) => { setTimeout(resolve, 5000); }); });
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.
Acabe de realizar el código y así me funciono.
const puppeteer=require('puppeteer'); describe('Mi primer test en puppeteer', ()=>{ it('Debe abrir y cerrar el navegador', async () => { const browser = await puppeteer.launch({ headless: false }); const page = await browser.newPage(); await page.goto('https://www.google.com'); await browser.close(); }, 20000); });
Platzi team que pueda poner los recursos de los que habla el profesor? ya van carios videos que promete recursos y no están en la ventana. Gracias
Buen día tengo este error : PS C:\Users\Jc Rivera\Documents\pyton> npm run test
pyton@1.0.0 test C:\Users\Jc Rivera\Documents\pyton jest --forceExit
C:\Users\Jc Rivera\AppData\Roaming\npm\node_modules\jest\node_modules\jest-cli\build\run.js:129 if (error?.stack) { ^
SyntaxError: Unexpected token .
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (C:\Users\Jc Rivera\AppData\Roaming\npm\node_modules\jest\node_modules\jest-cli\build\index.js:18:12)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! pyton@1.0.0 test: jest --forceExit
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the pyton@1.0.0 test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Jc Rivera\AppData\Roaming\npm-cache_logs\2023-07-22T16_58_51_134Z-debug.log PS C:\Users\Jc Rivera\Documents\pyton>
Publicar una pregunta en esta plataforma es como complicado. En fin, estoy obteniendo este error luego de ejcutar npm run test:
Me podrian ayudar porfavor, indicandome el por que se presenta este error?, muchas gracias!
bro te falta el ; linea 3
Buenas tardes amigo, espero que todo este muy bien, yo tengo el mismo error y no es cuestión de un ; aun no se que puede ser, si ya lo resolviste seria genial conocer la solución.
Saludos.
No tests found, exiting with code 1
Run with --passWithNoTests to exit with code 0
In C:\Users\User\Documents\curso de automatizacion puppeteer
3 files checked.
testMatch: /tests//.[jt]s?(x), **/?(.)+(spec|test).[tj]s?(x) - 1 match
testPathIgnorePatterns: \node_modules\ - 3 matches
testRegex: - 0 matches
Pattern: forceExit - 0 matches
Ami me genera este error... Alguien sabe por que??
probablemente estas poniendo mal la ruta hacia tus tests desde el package json , o has olvidado agregarle la terminación .spec a tu archivo de prueba
al parecer no tienes las pruebas donde deberias
no veo el link en la sección de recursos para lo de cambiar de chromium a Chrome. gracias
Una disculpa no se porque no los agregaron https://github.com/puppeteer/puppeteer/issues/2757. https://developers.google.com/web/tools/puppeteer/get-started
He sufrido para realizar el primer test, pero con la ayuda de IA, la documentación para hacer una buena instalación de Puppeteer y Chrome en WSL, logré terminar, les paso mi código:
En la nueva versión de Puppeteer ya no está disponible la función de waitForTimeout en 2024
await page.waitForTimeout(5000); -> En la documentación actual ya se trabaja con promesas
await new Promise(resolve => setTimeout(resolve, 5000)); -> Versión actual
const puppeteer = require('puppeteer'); describe('Mi test en Puppeteer', () => { it('Debe visitar la página de Wikipedia', async () => { const browser = await puppeteer.launch({ headless:false }); const page = await browser.newPage(); await page.goto('https://es.wikipedia.org/wiki/Juli%C3%A1n_Andr%C3%A9s_Qui%C3%B1ones'); await new Promise(resolve => setTimeout(resolve, 5000)); await browser.close(); }, 10000); }); ```const puppeteer = require('puppeteer'); describe('Mi test en Puppeteer', () => { it('Debe visitar la página de Wikipedia', async () => { const browser = await puppeteer.launch({ headless:false }); const page = await browser.newPage(); await page.goto('https://es.wikipedia.org/wiki/Juli%C3%A1n\_Andr%C3%A9s\_Qui%C3%B1ones'); await new Promise(resolve => setTimeout(resolve, 5000)); await browser.close(); }, 10000);});
Si tienen problemas con esta linea de código:
await page.waitForTimeout(5000); ```*await* new Promise((resolve) => setTimeout(resolve, 5000))await page.waitForTimeout(5000); reemplazarla con esta: ```js await new Promise((resolve) => setTimeout(resolve, 5000))
Aún no cargan los recursos...
A alguien mas le sale el siguiente error?
/Users/erick.vicentin/dev/puppeteer-ui/node_modules/jest/node_modules/jest-cli/build/cli/index.js:161 if (error?.stack) { ^ SyntaxError: Unexpected token '.'
puedes compartir tu código ?