CursosEmpresasBlogLiveConfPrecios

Creando la Base Page

Clase 14 de 24 • Curso Avanzado de Automatización de Pruebas con Puppeteer

Clase anteriorSiguiente clase
    Irving Juárez

    Irving Juárez

    student•
    hace 3 años

    En el último método, la función de waitForTimeout ya no es valida y ahora se recomiendo hacerlo de la siguiente manera

    await page.waitForTimeout(time) ❌ await new Promise(r => setTimeout(r, time)) ✔
      Angel Hernandez

      Angel Hernandez

      student•
      hace 2 años

      buen aporte, gracias!

    Luis Ernesto Yepes Fernandez

    Luis Ernesto Yepes Fernandez

    student•
    hace 4 años
    export default class BasePage { async getTitle() { return await page.title() } async getUrl() { return await page.url() } async getText(selector) { try { await page.waitForSelector(selector) return await page.$eval(selector, (elemento) => elemento.textContent) } catch (error) { throw new Error(`Error al obtener el texto del selector: ${selector}`) } } async getAttribute(selector, attribute) { try { await page.waitForSelector(selector) return await page.$eval(selector, (elemento) => elemento.getAttribute(attribute)) } catch (error) { throw new Error(`Error al obtener el atributo del selector: ${selector}`) } } async getValue(selector, value) { try { await page.waitForSelector(selector) return await page.$eval(selector, (elemento) => elemento.getValue(value)) } catch (error) { throw new Error(`Error al obtener el valor del selector: ${selector}`) } } async getCount(selector) { try { await page.waitForSelector(selector) return await page.$$eval(selector, (elemento) => elemento.length) } catch (error) { throw new Error(`Error al obtener el numero de elementos del selector: ${selector}`) } } async click(selector) { try { await page.waitForSelector(selector) return await page.click(selector) } catch (error) { throw new Error(`Error al dar click al selector: ${selector}`) } } async type(selector, text, opts={}) { try { await page.waitForSelector(selector) return await page.type(selector, text, opts) } catch (error) { throw new Error(`Error al dar escribir en el selector: ${selector}`) } } async doubleClick(selector) { try { await page.waitForSelector(selector) return await page.click(selector, { clickCount: 2 }) } catch (error) { throw new Error(`Error al dar doble click al selector: ${selector}`) } } async wait(time) { return await page.waitForTimeout(time) } }
    Santiago Velandia Gallo

    Santiago Velandia Gallo

    student•
    hace 2 años

    Click derecho

    async rightClick(selector){ try { await page.waitForSelector(selector) await page.click(selector, { button: 'right'}) } catch (error) { throw new Error(`Error al dar click en el selector ${selector}`) } }
    Agustin Cammarota Muti

    Agustin Cammarota Muti

    student•
    hace 3 años

    La config sola como la vimos en los videos, me trae problemas, dejo unos cambios que me funcionarios:

    En el fichero jest-puppeteer.config.js:

    const port = process.env.TEST_SERVER_PORT ? Number(process.env.TEST_SERVER_PORT) : 4444; process.env.TEST_SERVER_PORT = port.toString(); module.exports = { launch: { headless: false, slowMo: 100, launchTimeout: 4000, usedPortAction: "kill", port, }, browserContext: 'default' }

    En el package.json: "test": "jest --runInBand --forceExit --detectOpenHandles",

    <code>
    David steven Abril Pulecio

    David steven Abril Pulecio

    student•
    hace un año
    //to select an option within an html element type: select async selectType (page, selector, opts) { try { await page.waitForSelector(selector) return await page.select(selector, opts) } catch (error) { throw new error(`Error when trying to select an option within the selector: ${selector}`) } } ```//to select an option within an html element type: select async selectType (page, selector, opts) {    try {        await page.waitForSelector(selector)        return await page.select(selector, opts)    } catch (error) {        throw new error(`Error when trying to select an option within the selector: ${selector}`)    }}

Escuelas

  • Desarrollo Web
  • English Academy
  • Marketing Digital
  • Inteligencia Artificial y Data Science
  • Ciberseguridad
  • Liderazgo y Habilidades Blandas
  • Diseño de Producto y UX
  • Contenido Audiovisual
  • Desarrollo Móvil
  • Diseño Gráfico y Arte Digital
  • Programación
  • Negocios
  • Blockchain y Web3
  • Recursos Humanos
  • Finanzas e Inversiones
  • Startups
  • Cloud Computing y DevOps

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads