Navegación con Puppeteer
Clase 8 de 15 • Curso de Automatización de Pruebas con Puppeteer
Contenido del curso
Clase 8 de 15 • Curso de Automatización de Pruebas con Puppeteer
Contenido del curso
Rolando Tarqui Benito
Bryan Bell
Julián David Ruiz Nieto
Eduardo Rafael Romero Bernal
Jose Cruzado
Gabriel Cayoja
Rolando Tarqui Benito
Jesus Cuadro
Harold Orlando Aguirre Zacipa
Gustavo Adolfo Torres Quintana
Alberto Alejandro Foinquinos Benitez
Manuel Ledezma
Javier Fuentes Mora
Javier Fuentes Mora
Osmel Jose Vera Isasis
Waldemar Mezquita
PEDRO FELIPE MALDONADO PIMENTEL
Javier Fuentes Mora
Javier Fuentes Mora
Nataly Vargas
Geovanni Atavales Quiroga
Yomara Lizbeth Quispe Alanoca
Si tienen problemas con el selector de Platzi. les comento que son si estas logeado te da un selector diferente...
siempre busquen selectores en modo incógnito, para evitar sesgos
Buen tip.
Muchas gracias por el tip.
Yo agregaría todo ese selector largo a una variable auto descriptiva, algo así:
let platziLogo = "#home-student-new > div > header > nav > div.Logo > div > a > div > figure.LogoHeader-name > img"; await page.waitForSelector( platziLogo );
Si tienen problemas con la método waitForTimeout(), pueden reemplazar esa línea de código por:
new Promise(r => setTimeout(r, 5000));
En las versiones actuales (2023) ese metodo está en desuso.
Se dieron cuenta que en el minuto 7:44 aparecio con lineas de codigo extra?
const puppeteer = require('puppeteer') describe('1er test', () => { it('debe abrir browser', async () => { const browser = await puppeteer.launch({ headless: false, //slowMo: 1000, //devtools: false, defaultViewport: null }) const page = await browser.newPage() await page.goto('url') //await page.waitForTimeout(2000) await page.waitForSelector('img') //recargar pagina await page.reload() await page.waitForSelector('img') //navegar a otro sitio await page.goto('https://platzi.com/') await page.waitForSelector('#home-public > div > div.BaseLayout > header > nav > div.Logo > div > a > div > figure:nth-child(1) > img') //ir hacia atras y adelante await page.goBack() await page.goForward() //abrir otra pagina en otra pestaña const page2 = await browser.newPage() await page2.goto('url') await page2.waitForTimeout(2000) await browser.close() }, 20000) })
Muchas gracias
en el minuto 7:44 despues de ejecutar la prueba hay un salto donde aparecen unas lineas de codigo que no se explica como y porque las agrega
! Siempre agradecido con los amigos que envian ayudas oportunas + Son uds los que hacen que muchos continuemos avanzando en estos talleres + Platzi team + Deben mejorar seguimiento + control + actualizacion de talleres !
Si tienen problemas con los tiempo de respuesta cambien yahoo por otra pagina, en mi caso no se porque pero muchas pruebas terminaban fallando debido a yahoo, cambie la pagina y problema solucionado
Se puede aplicar page object model con puppeteer?
Si ! más adelante lo veremos !
si :) en el curso avanzado lo vemos
DE TODAS MANERAS DEJO EL CO
me estaba dando erroe si ponia el selector del logo platzi como sale en el video, pero lo coloqué así:
await page.waitForSelector('.LogoHeader-name > img:nth-child(1)')
y me funcionó, creo que ha cambiado algo de ese logo
¿Cómo puedo trabajar con la pestaña (page) que abre el navegador en lugar de crear una newPage() ?
hola, podrías explicar un poco mejor tu pregunta? si ves que me tardo en contestar puedes buscarme en twitter ya que no checo esto diario , @javier_mora94
no estoy seguro que entiendo tu pregunta
Hola, realice el mismo código const puppeteer = require('puppeteer')
describe(' mi primer test en puppeteer',() => {
it( 'Debe abrir y cerra el navegador', async () => { const browser = await puppeteer.launch({ hadless: false, defaultViewport: null }) const page = await browser.newPage() await page.goto('https://platzi.com/') await page.waitForTimeout(5000) //await page.waitselector('img') await page.reload() await browser.close() }, 30000)
pero al ejecutar me indica que esta pasado pero no me abre el navegador
Hasta esta parte del curso, la única ventaja de Puppeter que veo, es sobre el rendimiento de las pruebas, nada más.
Porque no se le pone directamente la direccion de la pagina en lugar de usar un selector?